فهرست منبع

小程序 机构详情查看

haonan 1 سال پیش
والد
کامیت
edcd7045cd

+ 3 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicAlbumService.java

@@ -160,5 +160,7 @@ public interface MusicAlbumService extends IService<MusicAlbum> {
      */
     void setVirtualNumber();
 
-    TenantAlbumWrapper.TenantAlbum detailAlbum(@Param("albumId") String albumId);
+    TenantAlbumWrapper.TenantAlbum detailAlbum(String albumId);
+
+    TenantAlbumWrapper.TenantAlbum tenantDetailAlbum(String albumId);
 }

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

@@ -97,6 +97,9 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
     @Autowired
     private TenantAlbumService tenantAlbumService;
 
+    @Autowired
+    private TenantStaffService tenantStaffService;
+
 
     @Autowired
     private SysUserFeignService sysUserFeignService;
@@ -520,6 +523,67 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
         return album;
     }
 
+    @Override
+    public TenantAlbumWrapper.TenantAlbum tenantDetailAlbum(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();
+            //查询对应机构Id
+            List<TenantStaff> list = tenantStaffService.lambdaQuery().eq(TenantStaff::getUserId,id).list();
+            if (CollectionUtils.isEmpty(list)) {
+                throw new BizException("未绑定机构");
+            }
+            TenantStaff tenantStaff = list.get(0);
+            //获取机构Id
+            Long tenantId = tenantStaff.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)

+ 12 - 0
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TenantAlbumController.java

@@ -10,6 +10,7 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.TenantAlbum;
 import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
+import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
 import com.yonge.cooleshow.biz.dal.service.TenantAlbumService;
 import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
@@ -50,6 +51,9 @@ public class TenantAlbumController extends BaseController {
     @Autowired
     private TenantInfoService tenantInfoService;
 
+    @Autowired
+    private MusicAlbumService musicAlbumService;
+
     @ApiOperation(value = "详情", notes = "机构专辑-根据详情ID查询单条, 传入id")
 //    @GetMapping("/detail/{id}")
     public HttpResponseResult<TenantAlbumVo.TenantAlbum> detail(@PathVariable("id") Long id) {
@@ -115,4 +119,12 @@ public class TenantAlbumController extends BaseController {
         return tenantInfo;
     }
 
+
+    @ApiOperation(value = "小程序端查询机构专辑详情")
+    @PostMapping("/albumDetail")
+    public HttpResponseResult <TenantAlbumWrapper.TenantAlbum> albumDetail(@RequestParam(defaultValue = "") String albumId) {
+        TenantAlbumWrapper.TenantAlbum tenantAlbum= musicAlbumService.tenantDetailAlbum(albumId);
+        return HttpResponseResult.succeed(tenantAlbum);
+    }
+
 }