From 0c1052d6fc4a9f0bd6096cc235cde05e659b5fd9 Mon Sep 17 00:00:00 2001 From: gi1tee Date: Fri, 12 Jul 2024 11:17:30 +0800 Subject: [PATCH] sort-mainPage --- .../fieldpkg/FieldPkgGatewayImpl.java | 2 +- .../com/easysoftware/ranking/RankerImpl.java | 27 ++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java index 9b04146..d28f620 100644 --- a/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java @@ -85,7 +85,7 @@ public class FieldPkgGatewayImpl implements FieldPkgGateway { } } - long total = voList == null ? 0L : voList.size(); + long total = voList.size(); return Map.ofEntries( Map.entry("total", total), Map.entry("list", voList)); diff --git a/src/main/java/com/easysoftware/ranking/RankerImpl.java b/src/main/java/com/easysoftware/ranking/RankerImpl.java index 7abd284..f16f220 100644 --- a/src/main/java/com/easysoftware/ranking/RankerImpl.java +++ b/src/main/java/com/easysoftware/ranking/RankerImpl.java @@ -15,10 +15,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.easysoftware.application.filedapplication.vo.FiledApplicationVo; import com.easysoftware.application.operationconfig.vo.OperationConfigVo; +import com.easysoftware.common.utils.SortUtil; import com.easysoftware.domain.operationconfig.gateway.OperationConfigGateway; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import java.util.ArrayList; import java.util.Comparator; import java.util.Iterator; @@ -72,11 +74,30 @@ public class RankerImpl implements Ranker { } } - for (int i = rankingList.size() - 1; i >= 0; i--) { - domainPage.add(0, rankingList.get(i)); + return mergeList(rankingList, domainPage); + } + + /** + * merge rankedlist in OperationConfig and unRankedList. + * @param rankedList rankedList. + * @param unRandedList unRandedList. + * @return list of entity. + */ + public List> mergeList(List> rankedList, + List> unRandedList) { + List> res = new ArrayList<>(); + res.addAll(rankedList); + + Map>> map = unRandedList.stream().collect( + Collectors.groupingBy(e -> String.valueOf(e.get("name"))) + ); + List sortedCategories = SortUtil.sortCategoryColumn(map.keySet()); + for (String sortedCategory : sortedCategories) { + List> list = map.get(sortedCategory); + res.add(list.get(0)); } - return domainPage; + return res; } /** -- Gitee