Browse Source

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

zouxuan 1 year ago
parent
commit
c6e6685cee

+ 2 - 21
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/SubjectController.java

@@ -50,29 +50,10 @@ public class SubjectController extends BaseController {
 	}
 
 	@ApiOperation(value = "分页查询声部列表")
-	@PostMapping("/queryPage1")
-	@PreAuthorize("@pcs.hasPermissions('subject/queryPage1')")
-	public HttpResponseResult<PageInfo<SubjectWrapper.Subject>> queryPage1(@RequestBody SubjectWrapper.SubjectQuery query) {
-		return succeed(subjectService.selectPage(query));
-	}
-
-	@ApiOperation(value = "分页查询声部列表")
 	@PostMapping("/queryPage")
 	@PreAuthorize("@pcs.hasPermissions('subject/queryPage')")
-	public HttpResponseResult<PageInfo<SubjectWrapper.Subject>> queryPage(@RequestBody SubjectQueryInfo queryInfo) {
-		PageInfo<SubjectWrapper.Subject> pageInfo = subjectService.queryPage1(queryInfo);
-
-		if(pageInfo.getRows().size() == 0){
-			return succeed(pageInfo);
-		}
-		Map<Long, Subject> map = subjectService.findBySubjectByIdList(pageInfo.getRows().stream().map(t -> t.getParentSubjectId()).collect(Collectors.toList())).stream()
-				.collect(Collectors.toMap(Subject::getId, t -> t));
-		pageInfo.getRows().forEach(row -> {
-			if(row.getParentSubjectId() != null && row.getParentSubjectId() > 0) {
-				row.setParentSubjectName(map.get(row.getParentSubjectId()).getName());
-			}
-		});
-		return succeed(pageInfo);
+	public HttpResponseResult<PageInfo<SubjectWrapper.Subject>> queryPage(@RequestBody SubjectWrapper.SubjectQuery query) {
+		return succeed(subjectService.selectPage(query));
 	}
 
 	@ApiOperation(value = "分页查询声部树状列表")

+ 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);
     }
 }

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SubjectService.java

@@ -71,5 +71,6 @@ public interface SubjectService extends BaseService<Long, Subject> {
 
 	List<SubjectWrapper.Subject> list(SubjectWrapper.SubjectQuery query1);
 
-	PageInfo<SubjectWrapper.Subject> queryPage1(SubjectQueryInfo queryInfo);
+	//数据转换
+	void convertSubject(List<Subject> subjectSelect);
 }

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

@@ -290,6 +290,13 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
     public MusicSheetDetailVo auditDetail(Long musicSheetAuthRecordId) {
         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));

+ 39 - 19
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;
     }
@@ -393,25 +392,46 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
     }
 
     @Override
-    public PageInfo<SubjectWrapper.Subject> queryPage1(SubjectQueryInfo query) {
-        PageInfo<SubjectWrapper.Subject> pageInfo = new PageInfo<>(query.getPage(), query.getRows());
-        Map<String, Object> params = new HashMap<>();
-        MapUtil.populateMap(params, query);
-
-        List<SubjectWrapper.Subject> dataList = null;
-        int count = subjectDao.findCount(params);
-        if (count > 0) {
-            pageInfo.setTotal(count);
-            params.put("offset", pageInfo.getOffset());
-            dataList = subjectDao.findPage(params);
-        }
-        if (count == 0) {
-            dataList = new ArrayList<>();
+    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);
+                }
+            }
         }
-        pageInfo.setRows(dataList);
-        return pageInfo;
     }
 
+
     /***
      * 查询声部树
      * @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;