diff --git a/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/fieldpkg/FieldPkgGatewayImpl.java index 9b0414645a9f5b0ba3c41a3cd8353857ba577b22..d28f620ae032aefa80f7d82be507f755f93aa6e7 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 7abd28427cd34500a0505aedd804bd7a668b107d..f16f2204c7b5e174a4b1c3f22df70c2cf39658e3 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; } /**