Forráskód Böngészése

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

zouxuan 1 éve
szülő
commit
c29ddeaf9e

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheetAuthRecord.java

@@ -42,6 +42,10 @@ public class MusicSheetAuthRecord implements Serializable {
 	@TableField(value = "audit_state_")
     private AuthStatusEnum auditState;
 
+    @ApiModelProperty("最后一次审核状态")
+	@TableField(value = "last_audit_state_")
+    private AuthStatusEnum lastAuditState;
+
     @ApiModelProperty("审核人 ")
 	@TableField(value = "verify_user_id_")
     private Long verifyUserId;

+ 40 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityEvaluationServiceImpl.java

@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayaedu.cbs.openfeign.service.CbsSubjectService;
+import com.dayaedu.cbs.openfeign.wrapper.music.CbsSubjectApiWrapper;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
@@ -37,6 +39,7 @@ import com.yonge.toolset.base.exception.BizException;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -65,6 +68,11 @@ public class ActivityEvaluationServiceImpl extends ServiceImpl<ActivityEvaluatio
     @Autowired
     private ActivityPlanRewardService activityPlanRewardService;
 
+    @Autowired
+    private CbsSubjectService cbsSubjectService;
+    @Value("${openfeign-client.app-id:1745637981387108354}")
+    public Long applicationId;
+
     @Override
     public ActivityEvaluationVo detail(Long id) {
         return baseMapper.detail(id);
@@ -263,7 +271,38 @@ public class ActivityEvaluationServiceImpl extends ServiceImpl<ActivityEvaluatio
 
     @Override
     public IPage<MusicSheetVo> musicPage(IPage<MusicSheetVo> page, MusicSheetSearch query) {
-        return page.setRecords(baseMapper.musicPage(page, query));
+        List<MusicSheetVo> musicSheetVos = baseMapper.musicPage(page, query);
+        if(CollectionUtils.isNotEmpty(musicSheetVos)){
+            //获取内容平台声部信息
+            String subjectIds = musicSheetVos.stream().map(e -> e.getMusicSubject()).filter(Objects::nonNull).collect(Collectors.joining(","));
+            if(StringUtils.isNotEmpty(subjectIds)){
+                List<Subject> subjectList = subjectService.findBySubjectByIdList(subjectIds);
+                if(CollectionUtils.isNotEmpty(subjectList)){
+                    List<Long> cbsSubjectIds = subjectList.stream().map(Subject::getCbsSubjectId).collect(Collectors.toList());
+                    if (CollectionUtils.isNotEmpty(cbsSubjectIds)) {
+                        CbsSubjectApiWrapper.SubjectQuery cbsQuery = new CbsSubjectApiWrapper.SubjectQuery();
+                        cbsQuery.setCbsSubjectIds(cbsSubjectIds);
+                        cbsQuery.setApplicationId(applicationId);
+                        List<CbsSubjectApiWrapper.Subject> list = cbsSubjectService.list(cbsQuery);
+                        if(CollectionUtils.isNotEmpty(list)){
+                            Map<Long, CbsSubjectApiWrapper.Subject> subjectMap = list.stream().collect(Collectors.toMap(CbsSubjectApiWrapper.Subject::getSubjectId, x -> x));
+                            musicSheetVos.forEach(e -> {
+                                if (StringUtils.isNotEmpty(e.getMusicSubject())) {
+                                    List<String> subjectNameList = Arrays.stream(e.getMusicSubject().split(","))
+                                            .map(Long::parseLong)
+                                            .map(subjectMap::get)
+                                            .filter(Objects::nonNull)
+                                            .map(CbsSubjectApiWrapper.Subject::getSubjectName)
+                                            .collect(Collectors.toList());
+                                    e.setSubjectNames(String.join(",", subjectNameList));
+                                }
+                            });
+                        }
+                    }
+                }
+            }
+        }
+        return page.setRecords(musicSheetVos);
     }
 
     /**

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

@@ -87,6 +87,7 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
         musicSheetAuthRecord.setReason(param.getRemark());
         musicSheetAuthRecord.setVerifyUserId(userId);
         musicSheetAuthRecord.setAuditState(param.getAuthStatus());
+        musicSheetAuthRecord.setLastAuditState(param.getAuthStatus());
         String musicSheetJson = musicSheetAuthRecord.getMusicSheetJson();
         CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = JSON.parseObject(musicSheetJson, CbsMusicSheetWrapper.AddMusicSheet.class);
         addMusicSheet.setIsEvaluated(param.getCanEvaluate()==YesOrNoEnum.YES);
@@ -151,6 +152,10 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
             musicSheet.setUpdateBy(userId);
             musicSheetService.updateById(musicSheet);
         }
+        //批量更新同一个批次的审核状态
+        this.lambdaUpdate().eq(MusicSheetAuthRecord::getBatchNo, musicSheetAuthRecord.getBatchNo())
+                .set(MusicSheetAuthRecord::getLastAuditState, param.getAuthStatus())
+                .update();
         this.updateById(musicSheetAuthRecord);
         // 发送审核通知
         Map<Long, String> receivers = new HashMap<>();
@@ -248,6 +253,11 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
         musicSheetAuthRecord.setAuditState(AuthStatusEnum.DOING);
         musicSheetAuthRecord.setMusicSheetId(musicSheet.getId());
         musicSheetAuthRecord.setMusicSheetJson(JSON.toJSONString(addMusicSheet));
+        musicSheetAuthRecord.setLastAuditState(AuthStatusEnum.DOING);
+        //批量更新同一个批次的审核状态
+        this.lambdaUpdate().eq(MusicSheetAuthRecord::getBatchNo, musicSheetAuthRecord.getBatchNo())
+                .set(MusicSheetAuthRecord::getLastAuditState,AuthStatusEnum.DOING)
+                .update();
         return baseMapper.insert(musicSheetAuthRecord);
     }
 
@@ -275,7 +285,12 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
         musicSheetAuthRecord.setMusicSheetId(musicSheet1.getId());
         musicSheetAuthRecord.setBatchNo(record.getBatchNo());
         musicSheetAuthRecord.setAuditState(AuthStatusEnum.DOING);
+        musicSheetAuthRecord.setLastAuditState(AuthStatusEnum.DOING);
         musicSheetAuthRecord.setMusicSheetJson(JSON.toJSONString(addMusicSheet));
+        //批量更新同一个批次的审核状态
+        this.lambdaUpdate().eq(MusicSheetAuthRecord::getBatchNo, musicSheetAuthRecord.getBatchNo())
+                .set(MusicSheetAuthRecord::getLastAuditState,AuthStatusEnum.DOING)
+                .update();
         baseMapper.insert(musicSheetAuthRecord);
     }
 

+ 1 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityEvaluationMapper.xml

@@ -124,9 +124,7 @@
             su.username_ as addName,
             su.avatar_ as addUserAvatar,
             (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(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         from music_sheet t
         left join sys_user su on t.create_by_ = su.id_
         <if test="param.auditStatus != null">

+ 3 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetAuthRecordMapper.xml

@@ -59,14 +59,14 @@
                 AND ((su.id_ like concat('%',#{param.idAndName} ,'%')
                 or su.username_ like concat('%',#{param.idAndName},'%')
                 or su.phone_ like concat('%',#{param.idAndName},'%')) OR
-                (ms.music_sheet_name_ like concat('%',#{param.idAndName},'%') AND msar.audit_state_ = 'PASS') OR
-                (JSON_UNQUOTE(JSON_EXTRACT(music_sheet_json_, '$.name')) LIKE CONCAT('%',#{param.idAndName},'%') AND msar.audit_state_ != 'PASS'))
+                (ms.music_sheet_name_ like concat('%',#{param.idAndName},'%') AND msar.last_audit_state_ = 'PASS') OR
+                (JSON_UNQUOTE(JSON_EXTRACT(music_sheet_json_, '$.name')) LIKE CONCAT('%',#{param.idAndName},'%') AND msar.last_audit_state_ != 'PASS'))
             </if>
             <if test="param.auditName != null and param.auditName != ''">
                 and su2.username_ like concat('%',#{param.auditName},'%')
             </if>
             <if test="param.authStatus != null">
-                and msar.audit_state_ = #{param.authStatus}
+                and msar.last_audit_state_ = #{param.authStatus}
                 <if test="param.authStatus == 'PASS'">
                     AND ms.state_ = 1
                 </if>

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

@@ -172,8 +172,8 @@
                 AND ((su.id_ like concat('%',#{param.idAndName} ,'%')
                 or su.username_ like concat('%',#{param.idAndName},'%')
                 or su.phone_ like concat('%',#{param.idAndName},'%')) OR
-                (t.music_sheet_name_ like concat('%',#{param.idAndName},'%') AND msar.audit_state_ = 'PASS') OR
-                (JSON_UNQUOTE(JSON_EXTRACT(music_sheet_json_, '$.name')) LIKE CONCAT('%',#{param.idAndName},'%') AND msar.audit_state_ != 'PASS'))
+                (t.music_sheet_name_ like concat('%',#{param.idAndName},'%') AND msar.last_audit_state_ = 'PASS') OR
+                (JSON_UNQUOTE(JSON_EXTRACT(music_sheet_json_, '$.name')) LIKE CONCAT('%',#{param.idAndName},'%') AND msar.last_audit_state_ != 'PASS'))
             </if>
             <if test="param.auditStatus == null">
                 AND (su.id_ like concat('%',#{param.idAndName} ,'%')
@@ -218,7 +218,7 @@
             and t.state_ = #{param.state}
         </if>
         <if test="param.auditStatus != null">
-            and msar.audit_state_ = #{param.auditStatus}
+            and msar.last_audit_state_ = #{param.auditStatus}
         </if>
         <if test="param.createBy != null">
             and t.create_by_ = #{param.createBy}

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

@@ -26,7 +26,7 @@
         </if>
         <where>
             <if test="param.auditStatus != null">
-                and msar.audit_state_ = #{param.auditStatus}
+                and msar.last_audit_state_ = #{param.auditStatus}
             </if>
             <if test="param.state != null">
                 and ms.state_ = #{param.state}