Просмотр исходного кода

Merge branch 'dev_1_2_20220802'

liujunchi 3 лет назад
Родитель
Сommit
249186e7e4

+ 4 - 3
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicAlbumController.java

@@ -17,6 +17,7 @@ import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.base.util.StringUtil;
 import io.swagger.annotations.*;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -176,10 +177,10 @@ public class MusicAlbumController extends BaseController {
         if (StringUtil.isEmpty(query.getAlbumId())) {
             return failed("专辑编号ID不能为空");
         }
-        if (StringUtil.isEmpty(query.getMusicSheetIds())) {
-            return failed("曲目编号不能为空");
+        if (CollectionUtils.isEmpty(query.getAlbumMusicList())) {
+            return failed("曲目不能为空");
         }
-        return status(musicAlbumService.addMusicSheet(query.getAlbumId(),query.getMusicSheetIds(),sysUser.getId()));
+        return status(musicAlbumService.addMusicSheet(query.getAlbumId(),query.getAlbumMusicList(),sysUser.getId()));
     }
 
 }

+ 38 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/MusicAlbumSheetDto.java

@@ -3,6 +3,8 @@ package com.yonge.cooleshow.biz.dal.dto;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 /**
  * Description 专辑新增或删除曲目
  *
@@ -15,9 +17,12 @@ public class MusicAlbumSheetDto {
     @ApiModelProperty("专辑id")
     private Long albumId;
 
-    @ApiModelProperty("曲目id,多个逗号隔开")
+    @ApiModelProperty("曲目id,多个逗号隔开 (删除专辑内的曲目使用)")
     private String musicSheetIds;
 
+    @ApiModelProperty("曲目id,多个逗号隔开 (添加专辑内的曲目使用)")
+    private List<AlbumMusic> albumMusicList;
+
 
     public Long getAlbumId() {
         return albumId;
@@ -34,4 +39,36 @@ public class MusicAlbumSheetDto {
     public void setMusicSheetIds(String musicSheetIds) {
         this.musicSheetIds = musicSheetIds;
     }
+
+    public List<AlbumMusic> getAlbumMusicList() {
+        return albumMusicList;
+    }
+
+    public void setAlbumMusicList(List<AlbumMusic> albumMusicList) {
+        this.albumMusicList = albumMusicList;
+    }
+
+    public static class AlbumMusic{
+        @ApiModelProperty("曲目id")
+        private Long musicSheetId;
+
+        @ApiModelProperty("排序")
+        private Integer sortNumber;
+
+        public Long getMusicSheetId() {
+            return musicSheetId;
+        }
+
+        public void setMusicSheetId(Long musicSheetId) {
+            this.musicSheetId = musicSheetId;
+        }
+
+        public Integer getSortNumber() {
+            return sortNumber;
+        }
+
+        public void setSortNumber(Integer sortNumber) {
+            this.sortNumber = sortNumber;
+        }
+    }
 }

+ 4 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AuthStatusEnum.java

@@ -13,7 +13,10 @@ public enum AuthStatusEnum implements BaseEnum<String, AuthStatusEnum> {
     UNPAALY("未申请"),
     DOING("审核中"),
     PASS("通过"),
-    UNPASS("不通过");
+    UNPASS("不通过"),
+    OUT_SALE("下架"), // 曲目前台传参,转换
+
+    ;
     @EnumValue
     private String code;
     private String name;

+ 3 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/AlbumMusicRelateService.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.service;
 
+import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetDto;
 import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -26,11 +27,11 @@ public interface AlbumMusicRelateService extends IService<AlbumMusicRelate> {
      * 添加专辑关联曲目关系
      *
      * @param albumId 专辑第
-     * @param musicSheetIdList 曲目id集合
+     * @param albumMusicList 曲目集合
      * @param userId 操作用户id
      * @return boolean
      */
-    boolean addMusicSheet(Long albumId, List<Long> musicSheetIdList, Long userId);
+    boolean addMusicSheet(Long albumId, List<MusicAlbumSheetDto.AlbumMusic> albumMusicList, Long userId);
 
     /**
      * 删除曲目与专辑关联

+ 5 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicAlbumService.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetDto;
 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;
@@ -11,6 +12,8 @@ import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 
+import java.util.List;
+
 /**
  * MusicAlbumService服务类
  * @author yzp
@@ -58,11 +61,11 @@ public interface MusicAlbumService extends IService<MusicAlbum> {
      * 添加专辑详情关联曲目
      *
      * @param albumId 专辑id
-     * @param musicSheetIds 曲目id
+     * @param albumMusicList 曲目
      * @param userId 操作用户id
      * @return boolean
      */
-    boolean addMusicSheet(Long albumId, String musicSheetIds, Long userId);
+    boolean addMusicSheet(Long albumId, List<MusicAlbumSheetDto.AlbumMusic> albumMusicList, Long userId);
 
     /**
      * 创建专辑

+ 10 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/AlbumMusicRelateServiceImpl.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.biz.dal.dao.AlbumMusicRelateDao;
+import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetDto;
 import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
 import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
 import org.slf4j.Logger;
@@ -49,7 +50,10 @@ public class AlbumMusicRelateServiceImpl extends ServiceImpl<AlbumMusicRelateDao
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean addMusicSheet(Long albumId, List<Long> musicSheetIdList, Long userId) {
+    public boolean addMusicSheet(Long albumId, List<MusicAlbumSheetDto.AlbumMusic> albumMusicList, Long userId) {
+        List<Long> musicSheetIdList = albumMusicList.stream()
+                                           .map(MusicAlbumSheetDto.AlbumMusic::getMusicSheetId)
+                                           .collect(Collectors.toList());
         List<AlbumMusicRelate> list = this.lambdaQuery()
                                           .eq(AlbumMusicRelate::getAlbumId, albumId)
                                           .in(AlbumMusicRelate::getMusicSheetId, musicSheetIdList)
@@ -57,12 +61,13 @@ public class AlbumMusicRelateServiceImpl extends ServiceImpl<AlbumMusicRelateDao
         List<Long> musicSheetIds = list.stream().map(AlbumMusicRelate::getMusicSheetId).collect(Collectors.toList());
 
         // 去除已有的曲目
-        List<AlbumMusicRelate> albumMusicRelateList = musicSheetIdList.stream()
-                                                                      .filter(id -> !musicSheetIds.contains(id))
-                                                                      .map(id -> {
+        List<AlbumMusicRelate> albumMusicRelateList = albumMusicList.stream()
+                                                                      .filter(albumMusic -> !musicSheetIds.contains(albumMusic.getMusicSheetId()))
+                                                                      .map(albumMusic -> {
             AlbumMusicRelate albumMusicRelate = new AlbumMusicRelate();
             albumMusicRelate.setAlbumId(albumId);
-            albumMusicRelate.setMusicSheetId(id);
+            albumMusicRelate.setMusicSheetId(albumMusic.getMusicSheetId());
+            albumMusicRelate.setSortNumber(albumMusic.getSortNumber());
             albumMusicRelate.setCreateTime(new Date());
             albumMusicRelate.setCreateBy(userId);
             return albumMusicRelate;

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.biz.dal.dao.MusicAlbumDao;
+import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetDto;
 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;
@@ -118,13 +119,12 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean addMusicSheet(Long albumId, String musicSheetIds, Long userId) {
+    public boolean addMusicSheet(Long albumId, List<MusicAlbumSheetDto.AlbumMusic> albumMusicList, Long userId) {
         MusicAlbum musicAlbum = this.getById(albumId);
         if (musicAlbum == null) {
             throw  new BizException("未找到专辑信息");
         }
-        List<Long> musicSheetIdList = StringUtil.toLongList(musicSheetIds);
-        return albumMusicRelateService.addMusicSheet(albumId,musicSheetIdList,userId);
+        return albumMusicRelateService.addMusicSheet(albumId,albumMusicList,userId);
     }
 
     @Override

+ 4 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

@@ -130,6 +130,10 @@ public class MusicSheetController extends BaseController {
             if (query.getAuditStatus() != null && AuthStatusEnum.PASS.getCode().equals(query.getAuditStatus().getCode())) {
                 query.setState(YesOrNoEnum.YES);
             }
+            if (query.getAuditStatus() != null && AuthStatusEnum.OUT_SALE.getCode().equals(query.getAuditStatus().getCode())) {
+                query.setState(YesOrNoEnum.NO);
+                query.setAuditStatus(AuthStatusEnum.PASS);
+            }
             query.setSourceType(SourceTypeEnum.TEACHER);
             query.setMyself(true);
         } else {