|
@@ -43,9 +43,35 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<MusicTagVo> selectPage(IPage<MusicTagVo> page, MusicTagSearch query){
|
|
|
+ public IPage<MusicTagVo> selectPage(IPage<MusicTagVo> page, MusicTagSearch query){
|
|
|
IPage<MusicTagVo> musicTagVoIPage = page.setRecords(baseMapper.selectPage(page, query));
|
|
|
- return musicTagVoIPage;
|
|
|
+
|
|
|
+ // 将父类的id 拿出来,集体查出子集
|
|
|
+ List<Long> longList = musicTagVoIPage
|
|
|
+ .getRecords()
|
|
|
+ .stream()
|
|
|
+ .map(MusicTag::getId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<MusicTagVo> musicTagVoList = musicTagDao.getChildrenByParentIdList(longList,query.getState());
|
|
|
+
|
|
|
+ // 根据父级id, 将子集分类
|
|
|
+ Map<String, List<MusicTagVo>> musicTagMap = musicTagVoList.stream()
|
|
|
+ .collect(Collectors.groupingBy( vo -> vo.getParentTagId().toString()));
|
|
|
+ musicTagVoIPage.getRecords()
|
|
|
+ .forEach(musicTagVo -> {
|
|
|
+ List<MusicTagVo> childrenList = musicTagMap.get(musicTagVo.getId().toString());
|
|
|
+ if (CollectionUtils.isEmpty(childrenList)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ childrenList.forEach(children -> {
|
|
|
+ musicTagVo.setEnablePlatformMusicSheetNum(musicTagVo.getEnablePlatformMusicSheetNum() + children.getEnablePlatformMusicSheetNum());
|
|
|
+ musicTagVo.setEnableTeacherMusicSheetNum(musicTagVo.getEnableTeacherMusicSheetNum() + children.getEnableTeacherMusicSheetNum());
|
|
|
+ musicTagVo.setMusicPlatformSheetNum(musicTagVo.getMusicPlatformSheetNum() + children.getMusicPlatformSheetNum());
|
|
|
+ musicTagVo.setMusicTeacherSheetNum(musicTagVo.getMusicTeacherSheetNum() + children.getMusicTeacherSheetNum());
|
|
|
+ });
|
|
|
+ });
|
|
|
+ return musicTagVoIPage;
|
|
|
}
|
|
|
|
|
|
@Override
|