liujunchi há 2 anos atrás
pai
commit
2e56b523ec

+ 28 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicTagServiceImpl.java

@@ -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

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicTagMapper.xml

@@ -95,7 +95,7 @@
         <where>
             t.del_flag_ = 0
             <if test="longList != null and longList.size() != 0">
-                and t.parent_tag_id_ in
+                and t.id_ in
                 <foreach collection="longList" close=")" item="item" open="(" separator=",">
                     #{item}
                 </foreach>