| 
														
															@@ -127,7 +127,7 @@ public class SubjectController extends BaseController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @ApiOperation(value = "内容平台对应的声部数据") 
														 | 
														
														 | 
														
															     @ApiOperation(value = "内容平台对应的声部数据") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @PostMapping("/cbsSubject/page") 
														 | 
														
														 | 
														
															     @PostMapping("/cbsSubject/page") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public HttpResponseResult<List<SubjectWrapper.CbsSubject>> subjectPage(@RequestBody SubjectWrapper.CbsSubjectQuery query){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public HttpResponseResult<SubjectWrapper.CbsSubject> subjectPage(@RequestBody SubjectWrapper.CbsSubjectQuery query){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 移除已被使用的声部ID 
														 | 
														
														 | 
														
															         // 移除已被使用的声部ID 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (Boolean.TRUE.equals(query.getRemoveUsed())) { 
														 | 
														
														 | 
														
															         if (Boolean.TRUE.equals(query.getRemoveUsed())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<Subject> list = subjectService.getDao().notInSubjectIds(query.getSubjectId()); 
														 | 
														
														 | 
														
															             List<Subject> list = subjectService.getDao().notInSubjectIds(query.getSubjectId()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -149,13 +149,14 @@ public class SubjectController extends BaseController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             query.setIds(Collections.singletonList(sb.getCbsSubjectId().longValue())); 
														 | 
														
														 | 
														
															             query.setIds(Collections.singletonList(sb.getCbsSubjectId().longValue())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<CbsSubjectWrapper.Subject> subjectPageInfo = musicFeignClientService.subjectPage(query).feignData().getRows(); 
														 | 
														
														 | 
														
															             List<CbsSubjectWrapper.Subject> subjectPageInfo = musicFeignClientService.subjectPage(query).feignData().getRows(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (CollectionUtils.isEmpty(subjectPageInfo)) { 
														 | 
														
														 | 
														
															             if (CollectionUtils.isEmpty(subjectPageInfo)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                return succeed(new ArrayList<>()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return succeed(null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            List<Integer> subjectIds = subjectPageInfo.stream().map(CbsSubjectWrapper.Subject::getId).map(Long::intValue).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            CbsSubjectWrapper.Subject subject = subjectPageInfo.get(0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//            List<Integer> subjectIds = subjectPageInfo.stream().map(CbsSubjectWrapper.Subject::getId).map(Long::intValue).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 查询乐器信息 
														 | 
														
														 | 
														
															             // 查询乐器信息 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             CbsMusicalInstrumentWrapper.MusicalInstrumentQuery musicalInstrumentQuery = new CbsMusicalInstrumentWrapper.MusicalInstrumentQuery(); 
														 | 
														
														 | 
														
															             CbsMusicalInstrumentWrapper.MusicalInstrumentQuery musicalInstrumentQuery = new CbsMusicalInstrumentWrapper.MusicalInstrumentQuery(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            musicalInstrumentQuery.setSubjectIds(subjectIds); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            musicalInstrumentQuery.setSubjectIds(Collections.singletonList(subject.getId().intValue())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             musicalInstrumentQuery.setPage(1); 
														 | 
														
														 | 
														
															             musicalInstrumentQuery.setPage(1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             musicalInstrumentQuery.setRows(9999); 
														 | 
														
														 | 
														
															             musicalInstrumentQuery.setRows(9999); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto> rows = musicFeignClientService 
														 | 
														
														 | 
														
															             List<CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto> rows = musicFeignClientService 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -170,36 +171,31 @@ public class SubjectController extends BaseController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 转map 
														 | 
														
														 | 
														
															             // 转map 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             Map<Long, SubjectWrapper.Subject> subjectMap = list.stream().collect(Collectors.groupingBy(SubjectWrapper.Subject::getCbsSubjectId, Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0)))); 
														 | 
														
														 | 
														
															             Map<Long, SubjectWrapper.Subject> subjectMap = list.stream().collect(Collectors.groupingBy(SubjectWrapper.Subject::getCbsSubjectId, Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0)))); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            List<SubjectWrapper.CbsSubject> cbsSubjects = new ArrayList<>(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            for (CbsSubjectWrapper.Subject subject : subjectPageInfo) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                SubjectWrapper.CbsSubject cbsSubject = new SubjectWrapper.CbsSubject(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                BeanUtils.copyProperties(subject, cbsSubject); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            SubjectWrapper.CbsSubject cbsSubject = new SubjectWrapper.CbsSubject(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            BeanUtils.copyProperties(subject, cbsSubject); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                List<CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto> musicalInstrumentQueryDtos = subjectIdMap.get(cbsSubject.getId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if (CollectionUtils.isEmpty(musicalInstrumentQueryDtos)) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    continue; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                cbsSubject.setInstruments(JSON.parseArray(JSON.toJSONString(musicalInstrumentQueryDtos), SubjectWrapper.Instrument.class)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                cbsSubjects.add(cbsSubject); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                // 本地已经添加过的曲目数据 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                SubjectWrapper.Subject subject1 = subjectMap.get(subject.getId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if (subject1 == null) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    continue; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                List<InstrumentWrapper.Instrument> instruments = subject1.getInstruments(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if (CollectionUtils.isEmpty(instruments)) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    continue; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                // instruments 转map 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                Map<Integer, InstrumentWrapper.Instrument> instrumentMap = instruments.stream().collect(Collectors.toMap(InstrumentWrapper.Instrument::getId, o -> o)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                for (SubjectWrapper.Instrument instrument : cbsSubject.getInstruments()) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    instrument.setAdded(instrumentMap.containsKey(instrument.getId())); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto> musicalInstrumentQueryDtos = subjectIdMap.get(cbsSubject.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (CollectionUtils.isEmpty(musicalInstrumentQueryDtos)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return succeed(cbsSubject); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            cbsSubject.setInstruments(JSON.parseArray(JSON.toJSONString(musicalInstrumentQueryDtos), SubjectWrapper.Instrument.class)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            // 本地已经添加过的曲目数据 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            SubjectWrapper.Subject subject1 = subjectMap.get(subject.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (subject1 == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return succeed(cbsSubject); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<InstrumentWrapper.Instrument> instruments = subject1.getInstruments(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (CollectionUtils.isEmpty(instruments)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return succeed(cbsSubject); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            // instruments 转map 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Map<Integer, InstrumentWrapper.Instrument> instrumentMap = instruments.stream().collect(Collectors.toMap(InstrumentWrapper.Instrument::getId, o -> o)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            for (SubjectWrapper.Instrument instrument : cbsSubject.getInstruments()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                instrument.setAdded(instrumentMap.containsKey(instrument.getId())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            return succeed(cbsSubjects); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return succeed(cbsSubject); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } catch (Exception e) { 
														 | 
														
														 | 
														
															         } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             log.error("内容平台对应的声部数据查询失败", e); 
														 | 
														
														 | 
														
															             log.error("内容平台对应的声部数据查询失败", e); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             throw BizException.from("内容平台服务异常"); 
														 | 
														
														 | 
														
															             throw BizException.from("内容平台服务异常"); 
														 |