|  | @@ -127,7 +127,7 @@ public class SubjectController extends BaseController {
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @ApiOperation(value = "内容平台对应的声部数据")
 | 
	
		
			
				|  |  |      @PostMapping("/cbsSubject/page")
 | 
	
		
			
				|  |  | -    public HttpResponseResult<List<SubjectWrapper.CbsSubject>> subjectPage(@RequestBody SubjectWrapper.CbsSubjectQuery query){
 | 
	
		
			
				|  |  | +    public HttpResponseResult<SubjectWrapper.CbsSubject> subjectPage(@RequestBody SubjectWrapper.CbsSubjectQuery query){
 | 
	
		
			
				|  |  |          // 移除已被使用的声部ID
 | 
	
		
			
				|  |  |          if (Boolean.TRUE.equals(query.getRemoveUsed())) {
 | 
	
		
			
				|  |  |              List<Subject> list = subjectService.getDao().notInSubjectIds(query.getSubjectId());
 | 
	
	
		
			
				|  | @@ -149,13 +149,14 @@ public class SubjectController extends BaseController {
 | 
	
		
			
				|  |  |              query.setIds(Collections.singletonList(sb.getCbsSubjectId().longValue()));
 | 
	
		
			
				|  |  |              List<CbsSubjectWrapper.Subject> subjectPageInfo = musicFeignClientService.subjectPage(query).feignData().getRows();
 | 
	
		
			
				|  |  |              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();
 | 
	
		
			
				|  |  | -            musicalInstrumentQuery.setSubjectIds(subjectIds);
 | 
	
		
			
				|  |  | +            musicalInstrumentQuery.setSubjectIds(Collections.singletonList(subject.getId().intValue()));
 | 
	
		
			
				|  |  |              musicalInstrumentQuery.setPage(1);
 | 
	
		
			
				|  |  |              musicalInstrumentQuery.setRows(9999);
 | 
	
		
			
				|  |  |              List<CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto> rows = musicFeignClientService
 | 
	
	
		
			
				|  | @@ -170,36 +171,31 @@ public class SubjectController extends BaseController {
 | 
	
		
			
				|  |  |              // 转map
 | 
	
		
			
				|  |  |              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) {
 | 
	
		
			
				|  |  |              log.error("内容平台对应的声部数据查询失败", e);
 | 
	
		
			
				|  |  |              throw BizException.from("内容平台服务异常");
 |