浏览代码

管乐迷曲目来源内容平台

zouxuan 1 年之前
父节点
当前提交
9d52c26bbf
共有 1 个文件被更改,包括 10 次插入4 次删除
  1. 10 4
      mec-application/src/main/java/com/ym/mec/web/controller/SubjectController.java

+ 10 - 4
mec-application/src/main/java/com/ym/mec/web/controller/SubjectController.java

@@ -163,7 +163,8 @@ public class SubjectController extends BaseController {
             query1.setHasInstrument(true);
             List<SubjectWrapper.Subject> list = subjectService.queryList(query1);
             // 转map
-            Map<Long, SubjectWrapper.Subject> subjectMap = list.stream().collect(Collectors.groupingBy(SubjectWrapper.Subject::getCbsSubjectId, Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
+            Map<Long, List<SubjectWrapper.Subject>> subjectMap = list.stream()
+                    .collect(Collectors.groupingBy(SubjectWrapper.Subject::getCbsSubjectId));
 
             List<SubjectWrapper.CbsSubject> cbsSubjects = new ArrayList<>();
             for (CbsSubjectWrapper.Subject subject : subjectPageInfo) {
@@ -178,11 +179,16 @@ public class SubjectController extends BaseController {
 
                 cbsSubjects.add(cbsSubject);
                 // 本地已经添加过的曲目数据
-                SubjectWrapper.Subject subject1 = subjectMap.get(subject.getId());
-                if (subject1 == null) {
+                List<SubjectWrapper.Subject> subjects = subjectMap.get(subject.getId());
+                if (CollectionUtils.isEmpty(subjects)) {
                     continue;
                 }
-                List<InstrumentWrapper.Instrument> instruments = subject1.getInstruments();
+                List<InstrumentWrapper.Instrument> instruments = new ArrayList<>();
+                for (SubjectWrapper.Subject subject1 : subjects) {
+                    if (CollectionUtils.isNotEmpty(subject1.getInstruments())) {
+                        instruments.addAll(subject1.getInstruments());
+                    }
+                }
                 if (CollectionUtils.isEmpty(instruments)) {
                     continue;
                 }