瀏覽代碼

酷乐秀曲目来源改为内容平台

zouxuan 1 年之前
父節點
當前提交
c5b7329bfd

+ 37 - 6
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -3,12 +3,14 @@ package com.yonge.cooleshow.admin.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetApplicationExtendClientWrapper;
 import com.microsvc.toolkit.common.response.template.R;
+import com.yonge.cooleshow.biz.dal.dto.ReasonDto;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetOrderSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.cbs.CbsMusicScoreService;
@@ -61,14 +63,43 @@ public class MusicSheetController extends BaseController {
         return R.defaultR();
     }
 
-    @ApiOperation(value = "启/停用")
-    @PreAuthorize("@pcs.hasPermissions('music/sheet/state', {'BACKEND'})")
-    @PostMapping("music/sheet/state/{id}")
-    public HttpResponseResult<Object> state(@ApiParam(value = "曲谱编号", required = true) @PathVariable("id") Long id) {
-        if (id == null) {
+    @PostMapping("/state/{id}")
+    @ApiOperation(value = "启用/停用", notes = "传入id")
+    @PreAuthorize("@pcs.hasPermissions('music/sheet/state')")
+    public HttpResponseResult<Boolean> state(@ApiParam(value = "曲目编号", required = true)  @PathVariable Long id, @RequestBody ReasonDto reasonDto) {
+        if (StringUtil.isEmpty(id)) {
             return failed("参数不能为空");
         }
-        return status(musicSheetService.state(id, "", ClientEnum.SYSTEM));
+        MusicSheet musicSheet = musicSheetService.getById(id);
+        if (musicSheet == null) {
+            return failed("未找到曲目");
+        }
+        if (YesOrNoEnum.YES.equals(musicSheet.getState()) &&
+                musicSheet.getSourceType().equals(SourceTypeEnum.TEACHER) && StringUtil.isEmpty(reasonDto.getReason())) {
+            return failed("请填写下架原因");
+        }
+        return status(musicSheetService.state(id,reasonDto.getReason(),ClientEnum.SYSTEM));
+    }
+
+
+    /**
+     * 批量启用/停用
+     */
+    @PostMapping("/stateList")
+    @ApiOperation(value = "批量启用/停用")
+    @PreAuthorize("@pcs.hasPermissions('music/sheet/stateList')")
+    public HttpResponseResult<Boolean> stateList(@RequestBody ReasonDto reasonDto) {
+        if (StringUtil.isEmpty(reasonDto.getMusicSheetIds())) {
+            return failed("参数不能为空");
+        }
+        if (reasonDto.getState() == null) {
+            return failed("启用/禁用状态不能为空");
+        }
+        if (reasonDto.getState().equals(YesOrNoEnum.NO) && StringUtil.isEmpty(reasonDto.getReason())) {
+            return failed("停用原因不能为空");
+        }
+
+        return status(musicSheetService.stateList(reasonDto));
     }
 
     @PostMapping(value = "music/sheet/student")