Browse Source

老师查看专辑详情

haonan 1 year ago
parent
commit
2df5500e23

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicAlbumService.java

@@ -17,7 +17,9 @@ import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
 import com.yonge.cooleshow.biz.dal.vo.StudentMusicAlbumOrderVo;
 import com.yonge.cooleshow.biz.dal.vo.StudentMusicSheetOrderVo;
+import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -157,4 +159,6 @@ public interface MusicAlbumService extends IService<MusicAlbum> {
      * 设置专辑收藏的虚拟人数
      */
     void setVirtualNumber();
+
+    TenantAlbumWrapper.TenantAlbum detailAlbum(@Param("albumId") String albumId);
 }

+ 76 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicAlbumServiceImpl.java

@@ -10,28 +10,28 @@ import java.util.Objects;
 import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetOrderSearch;
-import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
-import com.yonge.cooleshow.biz.dal.service.SysConfigService;
+import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo;
 import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
 import com.yonge.cooleshow.biz.dal.dao.AlbumMusicRelateDao;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetPurchaseRecordDao;
-import com.yonge.cooleshow.biz.dal.entity.MusicSheetPurchaseRecord;
 import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
 import com.yonge.cooleshow.biz.dal.vo.StudentMusicAlbumOrderVo;
 import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.enums.ActivityShareEnum;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,14 +47,6 @@ import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetSortDto;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicAlbumSearch;
-import com.yonge.cooleshow.biz.dal.entity.AlbumFavorite;
-import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
-import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
-import com.yonge.cooleshow.biz.dal.service.AlbumFavoriteService;
-import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
-import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
-import com.yonge.cooleshow.biz.dal.service.MusicTagService;
 import com.yonge.cooleshow.biz.dal.vo.AlbumDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
@@ -96,6 +88,19 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
     @Autowired
     private MusicSheetPurchaseRecordService musicSheetPurchaseRecordService;
 
+    @Autowired
+    private TeacherService teacherService;
+
+    @Autowired
+    private TenantAlbumMusicService tenantAlbumMusicService;
+
+    @Autowired
+    private TenantAlbumService tenantAlbumService;
+
+
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
     public MusicAlbumDao getDao() {
         return musicAlbumDao;
     }
@@ -457,6 +462,64 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
 
     }
 
+    @Override
+    public TenantAlbumWrapper.TenantAlbum detailAlbum(String albumId) {
+        Long tenantAlbumId;
+        if (StringUtils.isEmpty(albumId)){
+            //如果没传专辑id  则查询对应机构的专辑详情
+            SysUser sysUser = sysUserFeignService.queryUserInfo();
+            Long id = sysUser.getId();
+            List<Teacher> list = teacherService.lambdaQuery().eq(Teacher::getUserId, id).list();
+            if (CollectionUtils.isEmpty(list)) {
+                throw new BizException("老师账号未找到");
+            }
+            Teacher teacher = list.get(0);
+            //获取机构Id
+            Long tenantId = teacher.getTenantId();
+            //查询对应专辑id
+            List<TenantAlbumMusic> tenantAlbumMusicList = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantId, tenantId)
+                    .eq(TenantAlbumMusic::getDelFlag,false).list();
+            if (CollectionUtils.isEmpty(tenantAlbumMusicList)) {
+                return null;
+            }
+            TenantAlbumMusic tenantAlbumMusic = tenantAlbumMusicList.get(0);
+            tenantAlbumId = tenantAlbumMusic.getTenantAlbumId();
+        } else {
+            //如果传专辑id   则查询这个专辑的详情
+            tenantAlbumId = Long.parseLong(albumId);
+        }
+
+        TenantAlbumWrapper.TenantAlbum album = new TenantAlbumWrapper.TenantAlbum();
+
+        //查询对应专辑的详情
+        List<TenantAlbum> list = tenantAlbumService.lambdaQuery().eq(TenantAlbum::getStatus, true).eq(TenantAlbum::getId, tenantAlbumId).list();
+        if (CollectionUtils.isEmpty(list)){
+            throw new BizException("机构专辑不存在");
+        }
+        TenantAlbum tenantAlbum = list.get(0);
+        //机构专辑名称
+        String name = tenantAlbum.getName();
+        //机构专辑封面
+        String coverImg = tenantAlbum.getCoverImg();
+        //机构专辑曲目数
+        List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, tenantAlbumId).list();
+        List<Long> MusicSheetIds = tenantAlbumMusiclist.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
+        int size = MusicSheetIds.size();
+
+        //Integer musicNum = tenantAlbum.getMusicNum();
+        //机构专辑简介
+        String describe = tenantAlbum.getDescribe();
+        //声部
+        String subjectTypes = tenantAlbum.getSubjectTypes();
+
+        album.setName(name);
+        album.setCoverImg(coverImg);
+        album.setMusicNum(size);
+        album.setDescribe(describe);
+        album.setSubjectTypes(subjectTypes);
+        return album;
+    }
+
     private boolean checkNameRepeat(String albumName, Long id) {
         LambdaQueryChainWrapper<MusicAlbum> eq = this.lambdaQuery()
                                                      .eq(MusicAlbum::getDelFlag,0)

+ 14 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicAlbumController.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.teacher.controller;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
+import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -207,4 +208,17 @@ public class MusicAlbumController extends BaseController {
         IPage<MusicAlbumVo> albumVoIPage = musicAlbumService.favoriteAlbum(PageUtil.getPage(query), search, ClientEnum.TEACHER);
         return succeed(PageUtil.pageInfo(albumVoIPage));
     }
+
+    @ApiOperation(value = "查询机构专辑详情")
+    @PostMapping("/albumDetail")
+    public HttpResponseResult <TenantAlbumWrapper.TenantAlbum> albumDetail(@RequestParam(defaultValue = "") String albumId) {
+        TenantAlbumWrapper.TenantAlbum tenantAlbum= musicAlbumService.detailAlbum(albumId);
+        return HttpResponseResult.succeed(tenantAlbum);
+    }
+
+
+
+
+
+
 }