Browse Source

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

zouxuan 10 months ago
parent
commit
c98c0ad965

+ 10 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/SubjectController.java

@@ -72,6 +72,16 @@ public class SubjectController extends BaseController {
 		return succeed();
 		return succeed();
 	}
 	}
 
 
+	@ApiOperation(value = "修改、新增声部")
+	@PostMapping("/update")
+	@PreAuthorize("@pcs.hasPermissions('subject/update')")
+	public Object update(@RequestBody Subject subject) {
+		Subject s = subjectService.get(subject.getId());
+		s.setParentSubjectId(subject.getParentSubjectId());
+		subjectService.update(s);
+		return succeed();
+	}
+
 	@PreAuthorize("@pcs.hasPermissions('subject/enable')")
 	@PreAuthorize("@pcs.hasPermissions('subject/enable')")
 	@PostMapping("/enable")
 	@PostMapping("/enable")
 	public HttpResponseResult<Boolean> enable(@RequestBody SubjectWrapper.SubjectEnable subjectEnable) {
 	public HttpResponseResult<Boolean> enable(@RequestBody SubjectWrapper.SubjectEnable subjectEnable) {

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

@@ -317,49 +317,51 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
             pageInfo.setTotal(count);
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             params.put("offset", pageInfo.getOffset());
             dataList = subjectDao.findPage(params);
             dataList = subjectDao.findPage(params);
-            // 转map
-            Map<Long, SubjectWrapper.Subject> subjectMap = dataList.stream().collect(Collectors.toMap(SubjectWrapper.Subject::getCbsSubjectId, Function.identity(),(o1, o2)->o1));
-            // cbs声部ID集合
-            List<Long> cbsSubjectIds = dataList.stream().map(SubjectWrapper.Subject::getCbsSubjectId).collect(Collectors.toList());
-            dataList = new ArrayList<>();
-            CbsSubjectWrapper.SubjectQuery subjectQuery = new CbsSubjectWrapper.SubjectQuery();
-            subjectQuery.setIds(cbsSubjectIds);
-            subjectQuery.setName(query.getKeyword());
-            subjectQuery.setPage(query.getPage());
-            subjectQuery.setRows(query.getRows());
-            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) {
-                        SubjectWrapper.Subject subject = subjectMap.get(row.getId());
-                        if (subject == null) {
-                            log.warn("未查询到声部信息,id:{}", row.getId());
-                            continue;
+            if(query.getParentSubjectId() == null){
+                // 转map
+                Map<Long, SubjectWrapper.Subject> subjectMap = dataList.stream().collect(Collectors.toMap(SubjectWrapper.Subject::getCbsSubjectId, Function.identity(),(o1, o2)->o1));
+                // cbs声部ID集合
+                List<Long> cbsSubjectIds = dataList.stream().map(SubjectWrapper.Subject::getCbsSubjectId).collect(Collectors.toList());
+                dataList = new ArrayList<>();
+                CbsSubjectWrapper.SubjectQuery subjectQuery = new CbsSubjectWrapper.SubjectQuery();
+                subjectQuery.setIds(cbsSubjectIds);
+                subjectQuery.setName(query.getKeyword());
+                subjectQuery.setPage(query.getPage());
+                subjectQuery.setRows(query.getRows());
+                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) {
+                            SubjectWrapper.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());
+                            dataList.add(subject);
                         }
                         }
-                        subject.setCbsSubjectName(row.getName());
-                        subject.setName(row.getName());
-                        subject.setCode(row.getCode());
-                        dataList.add(subject);
                     }
                     }
+                } catch (Exception e) {
+                    log.error("调用音乐服务查询曲目详情失败", e);
                 }
                 }
-            } catch (Exception e) {
-                log.error("调用音乐服务查询曲目详情失败", e);
+                // 设置声部下的乐器信息
+                List<Integer> subjectIds = dataList.stream().map(SubjectWrapper.Subject::getId).distinct().collect(Collectors.toList());
+                Map<Integer, List<InstrumentWrapper.Instrument>> groupBySubjectId = instrumentService.getGroupBySubjectId(subjectIds, query.getEnableFlag());
+                Map<Long, Subject> map = this.findBySubjectByIdList(dataList.stream().map(SubjectWrapper.Subject::getParentSubjectId).collect(Collectors.toList())).stream()
+                        .collect(Collectors.toMap(Subject::getId, t -> t));
+                dataList.forEach(e -> {
+                    if(e.getParentSubjectId() != null && e.getParentSubjectId() > 0) {
+                        e.setParentSubjectName(map.get(e.getParentSubjectId()).getName());
+                    }
+                    List<InstrumentWrapper.Instrument> instruments = groupBySubjectId.get(e.getId());
+                    if (org.apache.commons.collections.CollectionUtils.isNotEmpty(instruments)) {
+                        e.setInstruments(instruments);
+                    }
+                });
             }
             }
-            // 设置声部下的乐器信息
-            List<Integer> subjectIds = dataList.stream().map(SubjectWrapper.Subject::getId).distinct().collect(Collectors.toList());
-            Map<Integer, List<InstrumentWrapper.Instrument>> groupBySubjectId = instrumentService.getGroupBySubjectId(subjectIds, query.getEnableFlag());
-            Map<Long, Subject> map = this.findBySubjectByIdList(dataList.stream().map(SubjectWrapper.Subject::getParentSubjectId).collect(Collectors.toList())).stream()
-                    .collect(Collectors.toMap(Subject::getId, t -> t));
-            dataList.forEach(e -> {
-                if(e.getParentSubjectId() != null && e.getParentSubjectId() > 0) {
-                    e.setParentSubjectName(map.get(e.getParentSubjectId()).getName());
-                }
-                List<InstrumentWrapper.Instrument> instruments = groupBySubjectId.get(e.getId());
-                if (org.apache.commons.collections.CollectionUtils.isNotEmpty(instruments)) {
-                    e.setInstruments(instruments);
-                }
-            });
         }
         }
         if (count == 0) {
         if (count == 0) {
             dataList = new ArrayList<>();
             dataList = new ArrayList<>();