diff --git a/src/main/java/com/easysoftware/application/filedapplication/FieldApplicationServiceImpl.java b/src/main/java/com/easysoftware/application/filedapplication/FieldApplicationServiceImpl.java index 0560f1905bef46d2b2b95d65ec4832c8e651b4ca..7490c43fc1df185460ec6207ec9305d74d3617e4 100644 --- a/src/main/java/com/easysoftware/application/filedapplication/FieldApplicationServiceImpl.java +++ b/src/main/java/com/easysoftware/application/filedapplication/FieldApplicationServiceImpl.java @@ -181,9 +181,10 @@ public class FieldApplicationServiceImpl implements FieldApplicationService { */ private Map searchLifeCycle() { List elVos = eulerLifecycleGateway.selectAll(); + List sortVos = SortUtil.sortEulerLifeCycleVo(elVos); Map res = Map.ofEntries( - Map.entry("total", elVos.size()), - Map.entry("list", elVos)); + Map.entry("total", sortVos.size()), + Map.entry("list", sortVos)); return res; } @@ -485,6 +486,7 @@ public class FieldApplicationServiceImpl implements FieldApplicationService { /** * query pkg num of arch by os. + * * @return pkg nums of arch. */ @Override diff --git a/src/main/java/com/easysoftware/common/utils/SortUtil.java b/src/main/java/com/easysoftware/common/utils/SortUtil.java index 1c19cdc8010caec2bb49d77c7836eaeec5792178..93b73fc6f32cb8779de62d33f7cf0329fef98b1e 100644 --- a/src/main/java/com/easysoftware/common/utils/SortUtil.java +++ b/src/main/java/com/easysoftware/common/utils/SortUtil.java @@ -20,6 +20,7 @@ import java.util.Map; import java.util.stream.Collectors; import com.easysoftware.application.applicationpackage.vo.EulerVer; +import com.easysoftware.application.filedapplication.vo.EulerLifeCycleVo; public final class SortUtil { // Private constructor to prevent instantiation of the utility class @@ -51,20 +52,33 @@ public final class SortUtil { return list; } + /** + * sort the EulerLifeCycleVo. + * + * @param eulerLifeCycleVo The origin eulerLifeCycleVo + * @return A list sorted + */ + public static List sortEulerLifeCycleVo(List eulerLifeCycleVo) { + List sortedElVos = eulerLifeCycleVo.stream() + .sorted(Comparator.comparing(EulerLifeCycleVo::getStatus, Comparator.reverseOrder()) + .thenComparing(EulerLifeCycleVo::getOs)) + .collect(Collectors.toList()); + return sortedElVos; + } + /** * sort the eulerver by os. - * @param object which implements eulerver. + * + * @param object which implements eulerver. * @param list lsit of eulerver. * @return lsit of eulerver. */ public static List sortEulerVer(List list) { List sorted = list.stream().sorted( - Comparator.comparing(T::getOs, Comparator.reverseOrder()) - ).collect(Collectors.toList()); + Comparator.comparing(T::getOs, Comparator.reverseOrder())).collect(Collectors.toList()); Map> map = sorted.stream().collect( - Collectors.partitioningBy(e -> e.getOs().contains("preview")) - ); + Collectors.partitioningBy(e -> e.getOs().contains("preview"))); List noPreview = map.get(false); List preview = map.get(true);