Explorar o código

Merge branch 'zx_saas_cbs' of http://git.dayaedu.com/yonge/mec into dev

zouxuan hai 1 ano
pai
achega
e3150baf68

+ 12 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -159,12 +159,15 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
                         categoriesMap.put(categoriesId, getParentTreeName(categoriesId));
                     }
                 }
+                //获取声部乐器关联
+                List<Instrument> list = instrumentService.lambdaQuery().list();
+                Map<Integer, Instrument> instrumentMap = list.stream().collect(Collectors.toMap(Instrument::getSubjectId, o -> o));
                 for (SysMusicScore record : records) {
                     record.setCategoriesName(map.get(record.getMusicScoreCategoriesId()));
                     record.setOrganName(organMap.get(record.getMusicScoreCategoriesId()));
                     CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication = musicSheetApplicationMap.get(Long.parseLong(record.getCbsMusicSheetId()));
                     if(musicSheetApplication != null){
-                        this.initMusicSheetVo(record,musicSheetApplication,musicalInstrumentQueryMap,categoriesMap);
+                        this.initMusicSheetVo(record,musicSheetApplication,musicalInstrumentQueryMap,categoriesMap,instrumentMap);
                     }
                 }
             }
@@ -172,7 +175,8 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
     }
 
     public void initMusicSheetVo(SysMusicScore record,CbsMusicSheetWrapper.MusicSheetApplication musicSheetApplication
-            ,Map<Integer,CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto> musicalInstrumentQueryMap,Map<Integer, String> categoriesMap){
+            ,Map<Integer,CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto> musicalInstrumentQueryMap,
+                                 Map<Integer, String> categoriesMap,Map<Integer, Instrument> instrumentMap){
         record.setRankIds(StringUtils.equals("FREE",musicSheetApplication.getPaymentType()) ? "" : "1");
         record.setCbsMusicSheetId(musicSheetApplication.getId().toString());
         record.setPlayMode(SysMusicScore.PlayMode.valueOf(musicSheetApplication.getPlayMode().getCode()));
@@ -206,17 +210,14 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
             record.setSubjectName("");
         }else {
             if(StringUtils.isNotEmpty(musicSheetApplication.getMusicalInstrumentIds())){
-                String[] split = musicSheetApplication.getMusicalInstrumentIds().split(",");
-                for (String s : split) {
-                    StringBuffer sb = new StringBuffer();
-                    CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto musicalInstrumentQueryDto = musicalInstrumentQueryMap.get(Integer.parseInt(s));
-                    if(Objects.nonNull(musicalInstrumentQueryDto)){
-                        if(sb.length() > 0){
-                            sb.append(",");
+                if(record.getSubjectId() != null){
+                    Instrument instrument = instrumentMap.get(record.getSubjectId());
+                    if(instrument != null){
+                        CbsMusicalInstrumentWrapper.MusicalInstrumentQueryDto musicalInstrumentQueryDto = musicalInstrumentQueryMap.get(instrument.getId());
+                        if(Objects.nonNull(musicalInstrumentQueryDto)) {
+                            record.setSubjectName(musicalInstrumentQueryDto.getName());
                         }
-                        sb.append(musicalInstrumentQueryDto.getName());
                     }
-                    record.setSubjectName(sb.toString());
                 }
             }
         }