Browse Source

Merge branch 'zx_online_cbs' of http://git.dayaedu.com/yonge/cooleshow into develop-new

zouxuan 1 year ago
parent
commit
cacdbf56e5

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -174,6 +174,8 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      */
     List<MusicSheetWrapper.MusicSheetDetailVo> auditDetailList(@Param("batchNo") String batchNo);
 
+
+    MusicSheetDetailVo auditDetail(@Param("recordId") Long recordId);
     /**
      * 单曲数量统计
      *

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetAuthRecordService.java

@@ -52,4 +52,6 @@ public interface MusicSheetAuthRecordService extends IService<MusicSheetAuthReco
     MusicSheetDetailVo auditDetail(Long musicSheetAuthRecordId);
 
     List<MusicSheetWrapper.MusicSheetDetailVo> auditDetailList(String batchNo);
+
+    MusicSheetDetailVo auditDetail(String id);
 }

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -401,5 +401,7 @@ public interface MusicSheetService extends IService<MusicSheet> {
 
     void initMusicSheetDetailVo(CbsMusicSheetWrapper.AddMusicSheet addMusicSheet, MusicSheetWrapper.MusicSheetDetailVo sheetDetailVo);
 
+    void initMusicSheetDetailVo(CbsMusicSheetWrapper.AddMusicSheet addMusicSheet, MusicSheetDetailVo musicSheetAudit);
+
     void sync();
 }

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

@@ -38,10 +38,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -348,4 +345,36 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
         }
         return sheetDetailVos;
     }
+    @Override
+    public MusicSheetDetailVo auditDetail(String id) {
+        //获取待审核曲目信息
+        MusicSheetAuthRecord record = this.lambdaQuery().eq(MusicSheetAuthRecord::getId, id).one();
+        if(Objects.isNull(record)){
+            record = this.lambdaQuery().eq(MusicSheetAuthRecord::getMusicSheetId, id).last("LIMIT 1").one();
+        }
+        if(Objects.nonNull(record)){
+            MusicSheetDetailVo sheetDetailVo = musicSheetService.getDao().auditDetail(record.getId());
+            String musicSheetJson = sheetDetailVo.getMusicSheetJson();
+            if(StringUtils.isNotEmpty(musicSheetJson)){
+                CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = JSON.parseObject(musicSheetJson, CbsMusicSheetWrapper.AddMusicSheet.class);
+                musicSheetService.initMusicSheetDetailVo(addMusicSheet,sheetDetailVo);
+                sheetDetailVo.setMusicSheetJson(null);
+                sheetDetailVo.setSubmitAuditTime(sheetDetailVo.getCreateTime());
+                //获取声部
+                String musicSubject = sheetDetailVo.getMusicSubject();
+                if(StringUtils.isNotEmpty(musicSheetJson)){
+                    List<Subject> list = subjectService.findBySubjectByIdList(musicSubject);
+                    sheetDetailVo.setSubjectNames(list.stream().map(e->e.getName()).collect(Collectors.joining(",")));
+                }
+                //获取标签
+                String musicTagIds = sheetDetailVo.getMusicTag();
+                if(StringUtils.isNotEmpty(musicTagIds)){
+                    List<MusicTag> list = musicTagService.lambdaQuery().in(MusicTag::getId, musicTagIds.split(",")).list();
+                    sheetDetailVo.setMusicTagNames(list.stream().map(e->e.getName()).collect(Collectors.joining(",")));
+                }
+            }
+            return sheetDetailVo;
+        }
+        return null;
+    }
 }

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

@@ -598,27 +598,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     public MusicSheetDetailVo detail(String id, SysUser sysUser, ClientEnum userType,String tenantAlbumId) {
         MusicSheetDetailVo detailVo = baseMapper.detail(Long.parseLong(id));
         if (detailVo == null || detailVo.getDelFlag()) {
-            //获取待审核曲目信息
-            MusicSheetAuthRecord record = musicSheetAuthRecordService.lambdaQuery().eq(MusicSheetAuthRecord::getId, id).one();
-            if(Objects.isNull(record)){
-                record = musicSheetAuthRecordService.lambdaQuery().eq(MusicSheetAuthRecord::getMusicSheetId, id).last("LIMIT 1").one();
-            }
-            if(Objects.nonNull(record)){
-                String musicSheetJson = record.getMusicSheetJson();
-                if(StringUtils.isNotEmpty(musicSheetJson)){
-                    CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = JSON.parseObject(musicSheetJson, CbsMusicSheetWrapper.AddMusicSheet.class);
-                    MusicSheetWrapper.MusicSheetDetailVo musicSheetDetailVo = new MusicSheetWrapper.MusicSheetDetailVo();
-                    musicSheetService.initMusicSheetDetailVo(addMusicSheet,musicSheetDetailVo);
-                    MusicSheetDetailVo result = JSON.parseObject(JSON.toJSONString(musicSheetDetailVo), MusicSheetDetailVo.class);
-                    result.setMusicSheetAuthRecordId(record.getId().toString());
-                    //获取标签名称
-                    if(StringUtils.isNotEmpty(result.getMusicTag())){
-                        List<MusicTag> musicTagList = musicTagService.lambdaQuery()
-                                .in(MusicTag::getId, Arrays.stream(result.getMusicTag().split(",")).collect(Collectors.toList())).list();
-                        result.setMusicTagNames(musicTagList.stream().map(MusicTag::getName).collect(Collectors.joining(",")));
-                    }
-                    return result;
-                }
+            MusicSheetDetailVo result = musicSheetAuthRecordService.auditDetail(id);
+            if (result != null) {
+                return result;
             }
             if(detailVo == null){
                 throw new BizException("未找到曲目信息");
@@ -2193,6 +2175,81 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             musicSheetAudit.setMusicPrice(applicationExtend.getMusicPrice());
         }
     }
+    @Override
+    public void initMusicSheetDetailVo(CbsMusicSheetWrapper.AddMusicSheet addMusicSheet, MusicSheetDetailVo musicSheetAudit) {
+        musicSheetAudit.setProviderType(SourceTypeEnum.TEACHER);
+        musicSheetAudit.setSourceType(SourceTypeEnum.TEACHER);
+        musicSheetAudit.setMusicSheetName(addMusicSheet.getName());
+        musicSheetAudit.setMusicSubject(addMusicSheet.getSubjectIds());
+        musicSheetAudit.setMusicSvg(addMusicSheet.getMusicSvg());
+        musicSheetAudit.setComposer(addMusicSheet.getComposer());
+        musicSheetAudit.setTitleImg(addMusicSheet.getMusicCover());
+        musicSheetAudit.setExtConfigJson(addMusicSheet.getExtConfigJson());
+        musicSheetAudit.setRemark(addMusicSheet.getRemark());
+        if(addMusicSheet.getAudioType() != null){
+            musicSheetAudit.setAccompanimentType(AccompanimentTypeEnum.valueOf(addMusicSheet.getAudioType().getCode()));
+        }
+        musicSheetAudit.setPlaySpeed(addMusicSheet.getPlaySpeed());
+        if(addMusicSheet.getIsConvertibleScore() != null){
+            musicSheetAudit.setNotation(addMusicSheet.getIsConvertibleScore()? YesOrNoEnum.YES: YesOrNoEnum.NO);
+        }
+        if(addMusicSheet.getMusicSheetType() != null){
+            musicSheetAudit.setMusicSheetType(MusicSheetTypeEnum.valueOf(addMusicSheet.getMusicSheetType().getCode()));
+        }
+        if(addMusicSheet.getPlayMode() != null){
+            musicSheetAudit.setAudioType(AudioTypeEnum.valueOf(addMusicSheet.getPlayMode().getCode()));
+        }
+        if(addMusicSheet.getIsShowFingering() != null){
+            musicSheetAudit.setShowFingering(addMusicSheet.getIsShowFingering()? YesOrNoEnum.YES: YesOrNoEnum.NO);
+        }
+        if(addMusicSheet.getIsEvaluated() != null){
+            musicSheetAudit.setCanEvaluate(addMusicSheet.getIsEvaluated()? YesOrNoEnum.YES: YesOrNoEnum.NO);
+        }
+        //兼容审核流程修改,是否自带节拍器
+        if(addMusicSheet.getIsUseSystemBeat() == null || !addMusicSheet.getIsUseSystemBeat()){
+            musicSheetAudit.setHasBeat(YesOrNoEnum.YES);
+            musicSheetAudit.setMp3Type(AudioTypeEnum.MP3_METRONOME);
+        }else {
+            musicSheetAudit.setHasBeat(YesOrNoEnum.NO);
+            musicSheetAudit.setMp3Type(AudioTypeEnum.MP3);
+        }
+        List<CbsMusicSheetWrapper.MusicSheetAccompaniment> accompanimentList = addMusicSheet.getMusicSheetAccompanimentList();
+        if (CollectionUtils.isNotEmpty(accompanimentList)) {
+            musicSheetAudit.setMetronomeUrl(accompanimentList.get(0).getAudioFileUrl());
+        }
+        List<CbsMusicSheetWrapper.MusicSheetSound> soundList = addMusicSheet.getMusicSheetSoundList();
+        if (CollectionUtils.isNotEmpty(soundList)) {
+            List<MusicSheetAccompaniment> background = new ArrayList<>();
+            for (CbsMusicSheetWrapper.MusicSheetSound sound : soundList) {
+                MusicSheetAccompaniment musicSheetAccompaniment = new MusicSheetAccompaniment();
+                musicSheetAccompaniment.setAudioFileUrl(sound.getAudioFileUrl());
+                musicSheetAccompaniment.setSortNumber(sound.getSortNumber());
+                musicSheetAccompaniment.setTrack(sound.getTrack());
+                musicSheetAccompaniment.setMusicalInstrumentId(sound.getMusicalInstrumentId());
+                background.add(musicSheetAccompaniment);
+            }
+            musicSheetAudit.setBackground(background);
+        }
+        musicSheetAudit.setXmlFileUrl(addMusicSheet.getXmlFileUrl());
+        musicSheetAudit.setMidiUrl(addMusicSheet.getMidiFileUrl());
+        List<CbsMusicSheetApplicationExtendClientWrapper.AddMusicSheetApplicationExtend> extend = addMusicSheet.getAddMusicSheetApplicationExtend();
+        if(CollectionUtils.isNotEmpty(extend)){
+            CbsMusicSheetApplicationExtendClientWrapper.AddMusicSheetApplicationExtend applicationExtend = extend.get(0);
+            musicSheetAudit.setMusicTag(applicationExtend.getMusicTagIds());
+            if(applicationExtend.getPaymentType() != null){
+                musicSheetAudit.setPaymentType(applicationExtend.getPaymentType());
+                musicSheetAudit.setChargeType(ChargeTypeEnum.valueOf(applicationExtend.getPaymentType()));
+            }
+            if(applicationExtend.getTopFlag() != null){
+                musicSheetAudit.setTopFlag(applicationExtend.getTopFlag()? YesOrNoEnum.YES: YesOrNoEnum.NO);
+            }
+            if(applicationExtend.getExquisiteFlag() != null){
+                musicSheetAudit.setExquisiteFlag(applicationExtend.getExquisiteFlag()? YesOrNoEnum.YES: YesOrNoEnum.NO);
+            }
+            musicSheetAudit.setSortNumber(applicationExtend.getSortNo());
+            musicSheetAudit.setMusicPrice(applicationExtend.getMusicPrice());
+        }
+    }
 
 
     @Override

+ 19 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -785,6 +785,25 @@
             </if>
         </where>
     </select>
+    <select id="auditDetail" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo">
+        SELECT
+        su.username_ as userName
+        ,su.avatar_ as userAvatar
+        ,su.real_name_ as realName
+        ,msar.update_time_ as auditTime
+        ,msar.create_time_ as submitAuditTime
+        ,msar.audit_state_ as auditStatus
+        ,su2.username_ as auditName
+        ,msar.reason_ as auditReason
+        ,msar.music_sheet_json_ as musicSheetJson
+        ,msar.batch_no_ as batchNo
+        ,msar.id_ as id
+        from music_sheet_auth_record  msar
+        left join music_sheet t on t.id_ = msar.music_sheet_id_
+        left join sys_user su on su.id_ = t.create_by_
+        left join sys_user su2 on msar.verify_user_id_ = su2.id_
+        WHERE msar.id_ = #{recordId}
+    </select>
 
     <select id="auditDetailList" resultType="com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper$MusicSheetDetailVo">
         SELECT