瀏覽代碼

是否收藏

haonan 1 年之前
父節點
當前提交
d66b25c463

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

@@ -3,6 +3,8 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.biz.dal.dao.MusicFavoriteDao;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.SubjectTypeEnum;
@@ -12,6 +14,7 @@ import com.yonge.toolset.base.exception.BizException;
 import jodd.util.StringUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.BeanUtils;
@@ -55,6 +58,12 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
     private TenantAlbumMusicService tenantAlbumMusicService;
 
 
+    @Autowired
+    private MusicFavoriteService musicFavoriteService;
+
+    @Autowired
+    private  SysUserFeignService sysUserFeignService;
+
     /**
      * 查询详情
      * @param id 详情ID
@@ -74,6 +83,8 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
      */
     @Override
     public IPage<TenantAlbumMusicWrapper.StudentTenantAlbumMusic> selectPage(IPage<TenantAlbumMusicWrapper.StudentTenantAlbumMusic> page, TenantAlbumMusicWrapper.StudentTenantAlbumMusicQuery query) {
+        com.yonge.cooleshow.auth.api.entity.SysUser user = sysUserFeignService.queryUserInfo();
+        Long sysUserId = user.getId();
 
         String albumId = query.getAlbumId();
         if (StringUtil.isEmpty(albumId)){
@@ -105,6 +116,7 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
         musicSheetQuery.setKeyword(query.getKeyword());
 
         List<TenantAlbumMusicWrapper.StudentTenantAlbumMusic> musicSheets = tenantAlbumMusicMapper.selectPage(page, musicSheetQuery);
+
         musicSheets.stream().forEach(m->{
             Long userId = m.getUserId();
             String musicSubject = m.getMusicSubject();
@@ -121,6 +133,22 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
                 Subject subject1 = subject.get(0);
                 m.setMusicSubjectName(subject1.getName());
             }
+
+            //是否收藏
+            Long id = m.getId();
+            List<MusicFavorite> list = musicFavoriteService.lambdaQuery().eq(MusicFavorite::getMusicSheetId, id).list();
+            if (CollectionUtils.isNotEmpty(list)){
+                List<Long> collect = list.stream().map(MusicFavorite::getUserId).collect(Collectors.toList());
+                if (CollectionUtils.isNotEmpty(collect)){
+                    collect.stream().forEach(c->{
+                        if (c.equals(sysUserId) ){
+                            m.setFavorite(true);
+                        }
+                    });
+
+                }
+            }
+
         });
 
 

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantAlbumMusicWrapper.java

@@ -163,6 +163,10 @@ public class TenantAlbumMusicWrapper {
         @ApiModelProperty("机构id")
         private Long tenantId;
 
+
+
+
+
         public String getKeyword() {
             return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
         }
@@ -210,6 +214,12 @@ public class TenantAlbumMusicWrapper {
             @ApiModelProperty(value = "上传人")
             private String userName;
 
+            @ApiModelProperty("曲目收藏数")
+            private Integer musicSheetLikeCounts;
+
+            @ApiModelProperty("1:收藏 0:未收藏")
+            private boolean favorite;
+
             public String jsonString() {
                 return JSON.toJSONString(this);
             }