Browse Source

Merge branch 'zx_online_cbs' of http://git.dayaedu.com/yonge/cooleshow into test

zouxuan 1 year ago
parent
commit
a9df850e91

+ 1 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/SubjectController.java

@@ -53,6 +53,7 @@ public class SubjectController extends BaseController {
         	}
         }
         List<Subject> subjectSelect = subjectService.subjectSelect(type, userExtSubjectIds);
+        subjectService.convertSubject(subjectSelect);
         return succeed(subjectSelect);
     }
 

+ 1 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/SubjectController.java

@@ -63,6 +63,7 @@ public class SubjectController extends BaseController {
         }
         
         List<Subject> subjectSelect = subjectService.subjectSelect(type, userExtSubjectIds);
+		subjectService.convertSubject(subjectSelect);
         return succeed(subjectSelect);
     }
 }

+ 1 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/open/OpenSubjectController.java

@@ -37,6 +37,7 @@ public class OpenSubjectController extends BaseController {
     public HttpResponseResult<List<Subject>> subjectSelect(
             @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PIANO_ROOM 琴房 MUSIC 曲目 ") String type) {
         List<Subject> subjectSelect = subjectService.subjectSelect(type, null);
+        subjectService.convertSubject(subjectSelect);
         return succeed(subjectSelect);
     }
 

+ 1 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/open/SubjectController.java

@@ -69,6 +69,7 @@ public class SubjectController extends BaseController {
         }
         
 		List<Subject> subjectSelect = subjectService.subjectSelect(type, userExtSubjectIds);
+		subjectService.convertSubject(subjectSelect);
         return succeed(subjectSelect);
     }
 }

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SubjectService.java

@@ -70,4 +70,7 @@ public interface SubjectService extends BaseService<Long, Subject> {
 	PageInfo<SubjectWrapper.Subject> selectPage(SubjectWrapper.SubjectQuery query);
 
 	List<SubjectWrapper.Subject> list(SubjectWrapper.SubjectQuery query1);
+
+	//数据转换
+	void convertSubject(List<Subject> subjectSelect);
 }

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

@@ -288,8 +288,15 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
 
     @Override
     public MusicSheetDetailVo auditDetail(Long musicSheetAuthRecordId) {
+        MusicSheetDetailVo detail = musicSheetService.detail(musicSheetAuthRecordId, null, null);
         MusicSheetAuthRecord musicSheetAuthRecord = this.getById(musicSheetAuthRecordId);
-        MusicSheetDetailVo detail = musicSheetService.getAuditDetail(musicSheetAuthRecord.getMusicSheetId());
+        MusicSheetAuthRecord last = this.lambdaQuery().eq(MusicSheetAuthRecord::getMusicSheetId, musicSheetAuthRecord.getMusicSheetId())
+                                    .ne(MusicSheetAuthRecord::getId, musicSheetAuthRecordId)
+                                    .orderByDesc(MusicSheetAuthRecord::getId)
+                                    .last("LIMIT 1").one();
+        if(last != null){
+            detail.setLastMusicSheet(musicSheetService.detail(last.getId(), null, null));
+        }
 //        List<MusicSheetDetailVo> sheetDetailVos = musicSheetService.getDao().auditDetailList(musicSheetAuthRecord.getMusicSheetId(),null);
 //        if (CollectionUtils.isNotEmpty(sheetDetailVos)) {
 //            detail.setLastMusicSheet(sheetDetailVos.get(0));

+ 43 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SubjectServiceImpl.java

@@ -18,14 +18,13 @@ import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.dal.BaseDAO;
 import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
 import com.yonge.toolset.utils.collection.MapUtil;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.redisson.api.RedissonClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
 import javax.annotation.Resource;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
@@ -72,7 +71,7 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
     public PageInfo<Subject> queryPageTree(SubjectQueryInfo queryInfo) {
         PageInfo<Subject> pageInfo = queryPage(queryInfo);
         for (Subject subject : pageInfo.getRows()) {
-            subject = getTree(subject, queryInfo.getDelFlag());
+             getTree(subject, queryInfo.getDelFlag());
         }
         return pageInfo;
     }
@@ -392,6 +391,47 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
         return records;
     }
 
+    @Override
+    public void convertSubject(List<Subject> subjectSelect) {
+        if(CollectionUtils.isNotEmpty(subjectSelect)){
+            for (Subject entity : subjectSelect) {
+                List<Subject> subjects = entity.getSubjects();
+                if(CollectionUtils.isNotEmpty(subjects)){
+                    // 转map
+                    Map<Long, Subject> subjectMap = subjects.stream().collect(Collectors.toMap(Subject::getCbsSubjectId, Function.identity(),(o1, o2)->o1));
+                    // cbs声部ID集合
+                    List<Long> cbsSubjectIds = subjects.stream().map(Subject::getCbsSubjectId).collect(Collectors.toList());
+                    subjects = new ArrayList<>();
+                    CbsSubjectWrapper.SubjectQuery subjectQuery = new CbsSubjectWrapper.SubjectQuery();
+                    subjectQuery.setIds(cbsSubjectIds);
+                    subjectQuery.setPage(1);
+                    subjectQuery.setRows(cbsSubjectIds.size());
+                    try {
+                        com.microsvc.toolkit.common.response.paging.PageInfo<CbsSubjectWrapper.Subject> subjectPageInfo = musicFeignClientService.subjectPage(subjectQuery).feignData();
+                        List<CbsSubjectWrapper.Subject> rows = subjectPageInfo.getRows();
+                        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(rows)) {
+                            for (CbsSubjectWrapper.Subject row : rows) {
+                                Subject subject = subjectMap.get(row.getId());
+                                if (subject == null) {
+                                    log.warn("未查询到声部信息,id:{}", row.getId());
+                                    continue;
+                                }
+                                subject.setCbsSubjectName(row.getName());
+                                subject.setName(row.getName());
+                                subject.setCode(row.getCode());
+                                subjects.add(subject);
+                            }
+                        }
+                    } catch (Exception e) {
+                        log.error("调用音乐服务查询曲目详情失败", e);
+                    }
+                    entity.setSubjects(subjects);
+                }
+            }
+        }
+    }
+
+
     /***
      * 查询声部树
      * @param: sub

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetDetailVo.java

@@ -62,8 +62,8 @@ public class MusicSheetDetailVo extends MusicSheet {
     @ApiModelProperty("是否使用节拍器")
     private Boolean isPlayBeat;
 
-//    @ApiModelProperty("上一次审核的曲目信息")
-//    private MusicSheetDetailVo lastMusicSheet;
+    @ApiModelProperty("上一次审核的曲目信息")
+    private MusicSheetDetailVo lastMusicSheet;
 
     @ApiModelProperty("真实姓名")
     private String realName;