Sfoglia il codice sorgente

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

zouxuan 1 anno fa
parent
commit
9580825f69

+ 37 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/MusicalInstrumentController.java

@@ -0,0 +1,37 @@
+package com.yonge.cooleshow.teacher.controller;
+
+import com.microsvc.toolkit.common.response.template.R;
+import com.yonge.cooleshow.biz.dal.service.InstrumentService;
+import com.yonge.cooleshow.biz.dal.wrapper.InstrumentWrapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("${app-config.url.teacher:}/musicalInstrument")
+@Api(tags = "曲目乐器")
+public class MusicalInstrumentController {
+
+    @Resource
+    private InstrumentService instrumentService;
+
+    @ApiOperation(value = "乐器列表")
+    @PreAuthorize("@pcs.hasPermissions('musicalInstrument/list', {'BACKEND'})")
+    @PostMapping("/list")
+    public R<List<InstrumentWrapper.Instrument>> list(@RequestBody InstrumentWrapper.InstrumentQuery query) {
+        List<InstrumentWrapper.Instrument> instruments = instrumentService.getList(query);
+        return R.from(instruments);
+	}
+
+}

+ 11 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetAuthRecordServiceImpl.java

@@ -11,10 +11,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetAuthRecordDao;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherMusicSheetAuditReq;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetAuditSearch;
-import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
-import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
-import com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord;
-import com.yonge.cooleshow.biz.dal.entity.Subject;
+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.enums.MessageTypeEnum;
@@ -23,6 +20,7 @@ import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
 import com.yonge.cooleshow.biz.dal.wrapper.AddMusicSheetWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.InstrumentWrapper;
 import com.yonge.cooleshow.common.service.IdGeneratorService;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
@@ -60,6 +58,8 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
     @Resource
     private SysMessageService sysMessageService;
     @Resource
+    private InstrumentService instrumentService;
+    @Resource
     private MusicSheetAccompanimentService musicSheetAccompanimentService;
 
     @Value("${openfeign-client.app-id:1745637981387108354}")
@@ -181,6 +181,13 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
             throw new BizException("曲目信息不能为空");
         }
         AddMusicSheetWrapper.AddMusicSheet addMusicSheet = JSON.parseObject(musicSheetAuthRecord.getMusicSheetJson(), AddMusicSheetWrapper.AddMusicSheet.class);
+        //反查乐器关联的声部
+        String musicalInstrumentIds = addMusicSheet.getMusicalInstrumentIds();
+        List<Instrument> list = instrumentService.lambdaQuery().in(Instrument::getId, musicalInstrumentIds.split(",")).list();
+        if(CollectionUtils.isEmpty(list)){
+            throw new BizException("乐器信息不存在");
+        }
+        addMusicSheet.setSubjectIds(list.stream().map(e->e.getSubjectId().toString()).distinct().collect(Collectors.joining(",")));
         List<CbsMusicSheetApplicationExtendClientWrapper.AddMusicSheetApplicationExtend> extendList = new ArrayList<>();
         CbsMusicSheetApplicationExtendClientWrapper.AddMusicSheetApplicationExtend extend = new CbsMusicSheetApplicationExtendClientWrapper.AddMusicSheetApplicationExtend();
         extend.setApplicationId(applicationId);

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

@@ -1998,6 +1998,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         if (addMusicSheet.getMusicCategoryId() == null) {
             addMusicSheet.setMusicCategoryId(-2L);
         }
+        if (addMusicSheet.getAudioType() == null) {
+            addMusicSheet.setAudioType(EAudioType.HOMEMODE);
+        }
     }
 
     @Override
@@ -2022,6 +2025,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         musicSheetAudit.setMusicSvg(addMusicSheet.getMusicSvg());
         musicSheetAudit.setComposer(addMusicSheet.getComposer());
         musicSheetAudit.setTitleImg(addMusicSheet.getMusicCover());
+        musicSheetAudit.setExtConfigJson(addMusicSheet.getExtConfigJson());
         if(addMusicSheet.getAudioType() != null){
             musicSheetAudit.setAccompanimentType(AccompanimentTypeEnum.valueOf(addMusicSheet.getAudioType().getCode()));
         }