Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/feature/0721-tenant' into feature/0721-tenant

yuanliang 1 anno fa
parent
commit
c2e222e0c9

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

@@ -151,6 +151,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     private MusicSheetService musicSheetService;
 
     @Autowired
+    private  AlbumFavoriteService albumFavoriteService;
+
+    @Autowired
     private TenantInfoService tenantInfoService;
     
     @Autowired
@@ -1708,43 +1711,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;

+ 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));
     }