Quellcode durchsuchen

add:专辑修改曲目排序

liujunchi vor 3 Jahren
Ursprung
Commit
e6c08cf938

+ 18 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicAlbumController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetDto;
+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.entity.MusicAlbum;
@@ -162,6 +163,23 @@ public class MusicAlbumController extends BaseController {
     }
 
 
+    /**
+     * 修改曲目的排序值
+     */
+    @PostMapping(value = "/detail/updateMusicSheet" ,consumes="application/json", produces="application/json")
+    @ApiOperation(value = "专辑详情修改曲目排序",  httpMethod="POST", consumes="application/json", produces="application/json")
+    @PreAuthorize("@pcs.hasPermissions('music/album/detail/updateMusicSheet')")
+    public HttpResponseResult<Boolean> updateMusicSheet(@Valid @RequestBody MusicAlbumSheetSortDto query) {
+        if (StringUtil.isEmpty(query.getAlbumId())) {
+            return failed("专辑编号ID不能为空");
+        }
+        if (StringUtil.isEmpty(query.getMusicSheetId())) {
+            return failed("曲目编号不能为空");
+        }
+        return succeed(musicAlbumService.updateMusicSheet(query));
+    }
+
+
 
     /**
      * 专辑详情添加曲目列表

+ 48 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/MusicAlbumSheetSortDto.java

@@ -0,0 +1,48 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-08-08
+ */
+@ApiModel("设置专辑中曲目的排序值")
+public class MusicAlbumSheetSortDto {
+
+    @ApiModelProperty("专辑id")
+    private Long albumId;
+
+    @ApiModelProperty("曲目id")
+    private Long musicSheetId;
+
+    @ApiModelProperty("排序值")
+    private Integer sortNumber;
+
+
+    public Long getAlbumId() {
+        return albumId;
+    }
+
+    public void setAlbumId(Long albumId) {
+        this.albumId = albumId;
+    }
+
+    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;
+    }
+}

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

@@ -3,6 +3,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.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;
@@ -124,4 +125,12 @@ public interface MusicAlbumService extends IService<MusicAlbum> {
      * @return
      */
     IPage<MusicAlbumVo> selectStudentPage(IPage<MusicAlbumVo> page, MusicAlbumSearch query);
+
+    /**
+     * 修改专辑中 曲目的排序值
+     *
+     * @param query 排序信息
+     * @return
+     */
+    Boolean updateMusicSheet(MusicAlbumSheetSortDto query);
 }

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

@@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQu
 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.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.*;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
@@ -220,6 +222,18 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
         return iPage;
     }
 
+    @Override
+    public Boolean updateMusicSheet(MusicAlbumSheetSortDto query) {
+
+         return albumMusicRelateService.lambdaUpdate()
+                .eq(AlbumMusicRelate::getAlbumId,query.getAlbumId())
+                .eq(AlbumMusicRelate::getMusicSheetId,query.getMusicSheetId())
+                .set(AlbumMusicRelate::getSortNumber,query.getSortNumber())
+                .update();
+
+
+    }
+
     private boolean checkNameRepeat(String albumName, Long id) {
         LambdaQueryChainWrapper<MusicAlbum> eq = this.lambdaQuery()
                                                      .eq(MusicAlbum::getDelFlag,0)

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetVo.java

@@ -35,6 +35,18 @@ public class MusicSheetVo extends MusicSheet {
     @ApiModelProperty("是否购买/VIP(0:否,1:是) ")
     private YesOrNoEnum play;
 
+    @ApiModelProperty("专辑中曲目的排序号")
+    private Integer albumSortNumber;  //排序号
+
+
+    public Integer getAlbumSortNumber() {
+        return albumSortNumber;
+    }
+
+    public void setAlbumSortNumber(Integer albumSortNumber) {
+        this.albumSortNumber = albumSortNumber;
+    }
+
     public Long getFavoriteCount() {
         return favoriteCount;
     }

+ 4 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -131,7 +131,10 @@
         ,(select group_concat(mt.name_) from music_tag mt
         where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s
-        where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
+            where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
+        ,(select count(1) from music_favorite f
+            where f.music_sheet_id_ = t.id_) as favoriteCount
+        ,amr.sort_number_ as albumSortNumber
         from music_sheet t
         left join album_music_relate amr on t.id_ = amr.music_sheet_id_
         <where>