Browse Source

分类排序

zouxuan 10 months ago
parent
commit
05576ef554

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CbsMusicScoreCategoriesService.java

@@ -1,8 +1,10 @@
 package com.ym.mec.biz.service;
 
 
+import com.dayaedu.cbs.openfeign.wrapper.music.MusicSheetCategoriesWrapper;
 import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
 import com.ym.mec.biz.dal.entity.SysMusicScoreCategories;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 import java.util.Map;
@@ -22,4 +24,6 @@ public interface CbsMusicScoreCategoriesService {
     Map<Integer,String> getCategoriesNameMap(List<Integer> categoriesIds);
 
     List<SysMusicScoreCategories> queryTreeByAppId();
+
+    SysMusicScoreCategories getChildTreeById(Long var1);
 }

+ 20 - 26
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CbsMusicScoreCategoriesServiceImpl.java

@@ -82,34 +82,15 @@ public class CbsMusicScoreCategoriesServiceImpl implements CbsMusicScoreCategori
 	public List<SysMusicScoreCategories> queryCategoriesTreeList(String categoryIds, Boolean isQueryEnable) {
 		categoryIds = categoryIds.endsWith(",") ? categoryIds.substring(0, categoryIds.length() - 1) : categoryIds;
 		List<SysMusicScoreCategories> categoryList = this.queryByIds(categoryIds);
-		List<SysMusicScoreCategories> rows = new ArrayList<SysMusicScoreCategories>();
-		SysMusicScoreCategories parentCategory = null;
-		SysMusicScoreCategories subCategory = null;
-		for(SysMusicScoreCategories smsc : categoryList){
-
-			if(smsc == null){
-				continue;
-			}
-			if(isQueryEnable == null){
-				isQueryEnable = true;
-			}
-			if(isQueryEnable && !smsc.getEnable()){
-				continue;
-			}
-			parentCategory = getParentTree(smsc);
-			subCategory = getChildTree(smsc);
-
-			if(parentCategory == null){
-				insertSubToParent(rows, subCategory);
-			}else{
-				parentCategory.getSysMusicScoreCategoriesList().add(subCategory);
-				insertSubToParent(rows, parentCategory);
+		if(CollectionUtils.isNotEmpty(categoryList)){
+			List<Integer> collect = categoryList.stream().map(SysMusicScoreCategories::getParentId).distinct().collect(Collectors.toList());
+			List<SysMusicScoreCategories> rows = new ArrayList<SysMusicScoreCategories>();
+			for (Integer i : collect) {
+				rows.add(this.getChildTreeById(i.longValue()));
 			}
-
-
+			return rows;
 		}
-
-		return rows;
+		return new ArrayList<>();
 	}
 
 	@Override
@@ -131,6 +112,19 @@ public class CbsMusicScoreCategoriesServiceImpl implements CbsMusicScoreCategori
 		return musicSheetCategories.stream().map(this::convertMusicSheetCategoryToSysMusicScoreCategory).collect(Collectors.toList());
 	}
 
+	@Override
+	public SysMusicScoreCategories getChildTreeById(Long var1) {
+		R<MusicSheetCategoriesWrapper.MusicSheetCategories> childTreeById = musicFeignClientService.getChildTreeById(var1);
+		if (childTreeById.getCode() != 200) {
+			throw new BizException("查询曲目分类失败,{}", childTreeById.getMessage());
+		}
+		MusicSheetCategoriesWrapper.MusicSheetCategories musicSheetCategories = childTreeById.feignData();
+		if (musicSheetCategories != null) {
+			return convertMusicSheetCategoryToSysMusicScoreCategory(musicSheetCategories);
+		}
+		return null;
+	}
+
 	public SysMusicScoreCategories getParentTree(SysMusicScoreCategories sysMusicScoreCategories) {
 		if (sysMusicScoreCategories != null && sysMusicScoreCategories.getParentId() > 0) {
 			List<SysMusicScoreCategories> categories = this.queryByIds(sysMusicScoreCategories.getParentId().toString());