Sfoglia il codice sorgente

Merge branch 'feature/0721-tenant' of http://git.dayaedu.com/yonge/cooleshow into develop

zouxuan 1 anno fa
parent
commit
ecc05eeb0e

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysMusicCompareRecord.java

@@ -88,6 +88,8 @@ public class SysMusicCompareRecord extends BaseEntity {
 	@ApiModelProperty("活动项目id")
 	private Long evaluationId;
 
+	private Long tenantId = -1L;
+
 	public SysMusicCompareRecord(FeatureType feature) {
 		this.feature = feature;
 	}

+ 67 - 25
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -207,6 +207,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     private MusicSheetService musicSheetService;
 
     @Autowired
+    private  AlbumFavoriteService albumFavoriteService;
+
+    @Autowired
     private TenantInfoService tenantInfoService;
     
     @Autowired
@@ -1764,43 +1767,82 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             PageUtil.getPage(queryInfo);
             // 查询曲目列表
             List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
-            MusicSheetSearch musicSheetSearch = new MusicSheetSearch();
-            musicSheetSearch.setMusicSheetIdlist(musicIds);
-            IPage<MusicSheetVo> musicSheetVoIPage = selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
-            List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
-            if (CollectionUtils.isNotEmpty(records)) {
-                for (MusicSheetVo record : records) {
-                    MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
-                    musicName.setId(record.getId());
-                    musicName.setName(record.getMusicSheetName());
-                    musicName.setType("MUSIC");
-                    musicName.setSort(Optional.ofNullable(record.getFavoriteCount()).orElse(0));
-                    musicNames.add(musicName);
+
+            if (CollectionUtils.isNotEmpty(musicIds)) {
+
+
+                MusicSheetSearch musicSheetSearch = new MusicSheetSearch();
+                musicSheetSearch.setMusicSheetIdlist(musicIds);
+                IPage<MusicSheetVo> musicSheetVoIPage = selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
+                List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
+                if (CollectionUtils.isNotEmpty(records)) {
+                    for (MusicSheetVo record : records) {
+                        MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
+                        musicName.setId(record.getId());
+                        musicName.setName(record.getMusicSheetName());
+                        musicName.setType("MUSIC");
+                        musicName.setHotFlag(record.getHotFlag() != null?record.getHotFlag():YesOrNoEnum.NO);
+                        musicName.setSort(Optional.ofNullable(record.getFavoriteCount()).orElse(0));
+                        musicNames.add(musicName);
+                    }
+                    searchData.setMusic(PageUtil.pageInfo(musicSheetVoIPage));
+                }
+
+                // 是否关注
+                if (queryInfo.getUserId() != null) {
+                    List<MusicFavorite> musicFavoriteList = musicFavoriteService.lambdaQuery()
+                            .eq(MusicFavorite::getUserId, queryInfo.getUserId())
+                            .eq(MusicFavorite::getClientType, ClientEnum.STUDENT)
+                            .in(MusicFavorite::getMusicSheetId, musicIds)
+                            .list();
+                    if (CollectionUtils.isNotEmpty(musicFavoriteList)) {
+                        Set<Long> set = musicFavoriteList.stream()
+                                .map(MusicFavorite::getMusicSheetId)
+                                .collect(Collectors.toSet());
+                        for (MusicCompareWrapper.MusicName record : musicNames) {
+                            record.setFavorite(set.contains(record.getId()) ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+                        }
+                    }
                 }
-                searchData.setMusic(PageUtil.pageInfo(musicSheetVoIPage));
             }
         }
         if (StringUtil.isEmpty(queryInfo.getType()) || queryInfo.getType().equals("ALBUM")) {
 
             // 查询专辑列表
             List<Long> albumIds = musicSheetDao.searchAlbum(PageUtil.getPage(queryInfo),queryInfo);
-            MusicAlbumSearch musicSheetSearch = new MusicAlbumSearch();
-            musicSheetSearch.setAlbumIds(albumIds);
-            IPage<MusicAlbumVo> musicAlbumVoIPage = musicAlbumService.selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
-            List<MusicAlbumVo> records = musicAlbumVoIPage.getRecords();
-            if (CollectionUtils.isNotEmpty(records)) {
+
+            if (CollectionUtils.isNotEmpty(albumIds)) {
+                MusicAlbumSearch musicSheetSearch = new MusicAlbumSearch();
+                musicSheetSearch.setAlbumIds(albumIds);
+                IPage<MusicAlbumVo> musicAlbumVoIPage = musicAlbumService.selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
+                List<MusicAlbumVo> records = musicAlbumVoIPage.getRecords();
+                albumIds = albumFavoriteService.selectFavorite(queryInfo.getUserId(), albumIds, ClientEnum.STUDENT);
                 for (MusicAlbumVo record : records) {
-                    MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
-                    musicName.setId(record.getId());
-                    musicName.setName(record.getAlbumName());
-                    musicName.setType("ALBUM");
-                    musicName.setSort(Optional.ofNullable(record.getAlbumFavoriteCount()).orElse(0));
-                    musicNames.add(musicName);
+                    if (albumIds.contains(record.getId())) {
+                        record.setFavorite(YesOrNoEnum.YES);
+                    } else {
+                        record.setFavorite(YesOrNoEnum.NO);
+                    }
+                }
+                if (CollectionUtils.isNotEmpty(records)) {
+                    for (MusicAlbumVo record : records) {
+                        MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
+                        musicName.setId(record.getId());
+                        musicName.setName(record.getAlbumName());
+                        musicName.setType("ALBUM");
+                        musicName.setHotFlag(record.getHotFlag() !=null?record.getHotFlag():YesOrNoEnum.NO);
+                        musicName.setFavorite(record.getFavorite());
+                        musicName.setSort(Optional.ofNullable(record.getAlbumFavoriteCount()).orElse(0));
+                        musicNames.add(musicName);
+                    }
+                    searchData.setAlbum(PageUtil.pageInfo(musicAlbumVoIPage));
                 }
-                searchData.setAlbum(PageUtil.pageInfo(musicAlbumVoIPage));
             }
         }
         musicNames.sort(Comparator.comparing(MusicCompareWrapper.MusicName::getSort).reversed());
+        if (musicNames.size() > queryInfo.getRows()) {
+            musicNames = musicNames.subList(0,queryInfo.getRows());
+        }
         searchData.setMusicNames(musicNames);
         return searchData;
     }

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -229,6 +229,12 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         UserOrderVo userOrderVo = baseMapper.detailById(id);
         if (null != userOrderVo) {
             userOrderVo.setOrderDetailList(orderDetailService.getOrderDetilListByOrderNo(userOrderVo.getOrderNo()));
+            if (userOrderVo.getTenantId() != null) {
+                TenantInfo tenantInfo = tenantInfoService.getById(userOrderVo.getTenantId());
+                if (tenantInfo != null) {
+                    userOrderVo.setTenantName(tenantInfo.getName());
+                }
+            }
         }
         return userOrderVo;
     }

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/music/MusicCompareWrapper.java

@@ -9,6 +9,7 @@ import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.enums.music.MusicCompareType;
 import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
@@ -382,6 +383,8 @@ public class MusicCompareWrapper {
 
         @ApiModelProperty("类型 MUSIC 曲目 ALBUM专辑")
         private String type;
+
+        private Long userId;
     }
 
 
@@ -421,6 +424,11 @@ public class MusicCompareWrapper {
         @ApiModelProperty("名称 ")
         private String name;
 
+        @ApiModelProperty("收藏 0:否,1:是")
+        private YesOrNoEnum favorite = YesOrNoEnum.NO;
+
+        @ApiModelProperty(value = "是否热门曲谱(0:否;1:是)")
+        private YesOrNoEnum hotFlag = YesOrNoEnum.NO;  //是否热门曲谱(0:否;1:是)
 
         @ApiModelProperty("类型 MUSIC 曲目 ALBUM专辑")
         private String type;

+ 2 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

@@ -48,11 +48,11 @@
 	<insert id="insert" parameterType="com.yonge.cooleshow.biz.dal.entity.SysMusicCompareRecord" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO sys_music_compare_record (id_,user_id_,music_sheet_id_,heard_level_,behavior_id_,score_data_,score_,intonation_,cadence_,integrity_,
 		                                      record_file_path_,video_file_path_,device_type_,client_id_,play_time_,speed_,monday_,
-												source_time_,feature_,create_time_,update_time_,part_index_,custom_configuration_)
+												source_time_,feature_,create_time_,update_time_,part_index_,custom_configuration_,tenant_id_)
 		VALUES(#{id},#{userId},#{musicSheetId},#{heardLevel,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler},#{behaviorId},#{scoreData},
 		       #{score},#{intonation},#{cadence},#{integrity},
 		       #{recordFilePath},#{videoFilePath},#{deviceType,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler},#{clientId},#{playTime},#{speed},#{monday},
-		       #{sourceTime},#{feature,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler}, NOW(), NOW(),#{partIndex},#{customConfiguration})
+		       #{sourceTime},#{feature,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler}, NOW(), NOW(),#{partIndex},#{customConfiguration},#{tenantId})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->

+ 7 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetController.java

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.student.controller;
 
 import com.yonge.cooleshow.biz.dal.wrapper.music.MusicCompareWrapper;
+import com.yonge.toolset.base.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -411,6 +412,12 @@ public class MusicSheetController extends BaseController {
     @ApiOperation(value = "搜索")
     @PostMapping(value="/search")
     public HttpResponseResult<MusicCompareWrapper.SearchData> search(@RequestBody MusicCompareWrapper.MusicSearch queryInfo) {
+
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        queryInfo.setUserId(sysUser.getId());
         return succeed(musicSheetService.search(queryInfo));
     }
 

+ 1 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SysMusicCompareRecordController.java

@@ -51,6 +51,7 @@ public class SysMusicCompareRecordController extends BaseController {
         }
         record.setUserId(sysUser.getId());
         record.setClientId("student");
+        record.setTenantId(sysUser.getTenantId());
         return succeed(sysMusicCompareRecordService.insert(record));
     }
 

+ 1 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SysMusicCompareRecordController.java

@@ -48,6 +48,7 @@ public class SysMusicCompareRecordController extends BaseController {
         }
         record.setUserId(sysUser.getId());
         record.setClientId(ClientEnum.TEACHER.name().toLowerCase());
+        record.setTenantId(sysUser.getTenantId());
         return succeed(sysMusicCompareRecordService.insert(record));
     }
 

+ 0 - 5
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TeacherController.java

@@ -57,15 +57,10 @@ public class TeacherController extends BaseController {
     @GetMapping("/detail/{id}")
     @ApiOperation(value = "详情", notes = "传入id")
     public HttpResponseResult<TeacherVo> detail(@PathVariable("id") Long userId) {
-        TenantInfo tenantInfo = getTenantInfo();
-
         TeacherVo detail = teacherService.findTeacherDetailInfo(userId);
         if (detail == null) {
             throw new BizException("数据不存在");
         }
-        if (tenantInfo.getId().equals(detail.getTenantId())) {
-            throw new BizException("非法请求");
-        }
         if (!CollectionUtils.isEmpty(detail.getStyleVideo())) {
             List<TeacherStyleVideo> styleVideo = detail.getStyleVideo();
             List<TeacherStyleVideo> collect =