From ac77a2d35f6010c7f1e323126c5910c45433ced5 Mon Sep 17 00:00:00 2001 From: yangfei Date: Fri, 5 Jan 2018 14:43:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=89=88=E9=AB=98=E5=8D=B1=E5=9B=A0?= =?UTF-8?q?=E6=95=B0=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/controller/TestController.java | 31 ++++++++++++++++++ .../operate/web/facade/BasicConfigFacade.java | 37 +++++++++++++++++++--- 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 6bf2591..bb68c22 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -1441,16 +1441,47 @@ public class TestController { for (BasicConfig bs : mainBasicConfigList) { configData(bs, basicConfigList, slaveBasicConfigMap); + sortBasicConfig(bs); } + Collections.sort(mainBasicConfigList, new Comparator() { + @Override + public int compare(BasicConfig o1, BasicConfig o2) { + if(o1.getWeight()!=null&&o2.getWeight()!=null){ + return -Integer.compare(o1.getWeight(),o2.getWeight()); + } + return 0; + } + }); + } catch (Exception e) { e.printStackTrace(); } + BaseResponse baseResponse = new BaseResponse(); baseResponse.setObject(mainBasicConfigList); return baseResponse; } + public void sortBasicConfig(BasicConfig basicConfig){ + if(CollectionUtils.isNotEmpty(basicConfig.getBasicConfigs())){ + for(BasicConfig bs:basicConfig.getBasicConfigs()){ + if(CollectionUtils.isNotEmpty(bs.getBasicConfigs())){ + sortBasicConfig(bs); + } + } + Collections.sort(basicConfig.getBasicConfigs(), new Comparator() { + @Override + public int compare(BasicConfig o1, BasicConfig o2) { + if(o1.getWeight()!=null&&o2.getWeight()!=null){ + return o1.getWeight().compareTo(o2.getWeight()); + }else{ + return 0; + } + } + }); + } + } public static void configData(BasicConfig bs, List basicConfigList, Map> slaveBasicConfigMap) { if (slaveBasicConfigMap.containsKey(bs.getId())) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java index da86c8d..2316669 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java @@ -22,10 +22,7 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Component public class BasicConfigFacade { @@ -75,12 +72,25 @@ public class BasicConfigFacade { for (BasicConfig bs : mainBasicConfigList) { configData(bs, basicConfigList,slaveBasicConfigMap); + sortBasicConfig(bs); } + + //根据权重排序 + Collections.sort(mainBasicConfigList, new Comparator() { + @Override + public int compare(BasicConfig o1, BasicConfig o2) { + if(o1.getWeight()!=null&&o2.getWeight()!=null){ + return -Integer.compare(o1.getWeight(),o2.getWeight()); + } + return 0; + } + }); BaseResponse baseResponse = new BaseResponse(); baseResponse.setObject(mainBasicConfigList); return baseResponse; } + //子节点根据权重排序 public void configData(BasicConfig bs, List basicConfigList,Map> slaveBasicConfigMap) { if (slaveBasicConfigMap.containsKey(bs.getId())) { @@ -91,6 +101,25 @@ public class BasicConfigFacade { } } + public void sortBasicConfig(BasicConfig basicConfig){ + if(CollectionUtils.isNotEmpty(basicConfig.getBasicConfigs())){ + for(BasicConfig bs:basicConfig.getBasicConfigs()){ + if(CollectionUtils.isNotEmpty(bs.getBasicConfigs())){ + sortBasicConfig(bs); + } + } + Collections.sort(basicConfig.getBasicConfigs(), new Comparator() { + @Override + public int compare(BasicConfig o1, BasicConfig o2) { + if(o1.getWeight()!=null&&o2.getWeight()!=null){ + return o1.getWeight().compareTo(o2.getWeight()); + }else{ + return 0; + } + } + }); + } + } /** -- 1.8.3.1