Browse Source

fix : system 返回值处理

lvxianyun 3 years ago
parent
commit
accc1071aa

+ 16 - 10
src/main/java/com/persagy/proxy/object/controller/AdmSystemController.java

@@ -21,13 +21,12 @@ import com.persagy.dmp.simple.client.DigitalObjectSimpleFacade;
 import com.persagy.proxy.adm.request.AdmCreateRequest;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
 import com.persagy.proxy.adm.request.AdmResponse;
-import com.persagy.proxy.adm.service.*;
+import com.persagy.proxy.adm.service.IAdmRelationService;
 import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.adm.utils.AdmQueryCriteriaHelper;
 import com.persagy.proxy.adm.utils.ObjectNameUtil;
 import com.persagy.proxy.common.entity.DmpResult;
 import com.persagy.proxy.common.entity.RelationDTO;
-import com.persagy.proxy.dictionary.service.IAdmDictService;
 import com.persagy.proxy.object.model.*;
 import com.persagy.proxy.object.service.IAdmBuildingService;
 import com.persagy.proxy.object.service.IAdmFloorService;
@@ -38,7 +37,10 @@ import org.springframework.web.bind.annotation.*;
 import javax.json.JsonObject;
 import javax.validation.constraints.NotNull;
 import javax.ws.rs.QueryParam;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Adm 系统 API
@@ -56,8 +58,6 @@ public class AdmSystemController {
     @Autowired
     private IAdmFloorService floorService;
     @Autowired
-    private IAdmDictService dictService;
-    @Autowired
     private IAdmRelationService relationService;
 
     /**
@@ -291,16 +291,20 @@ public class AdmSystemController {
                             ObjectNode info = JsonNodeFactory.instance.objectNode();
                             info.put("BuildID",admBuilding.getId());
                             info.put("BuildName",admBuilding.getLocalName());
+                            buildingFloorInfoList.add(info);
 
                             List<AdmFloor> admFloorList = admSystem.getFloorList();
                             if(CollUtil.isNotEmpty(admFloorList)){
                                 Map<String, AdmFloor> admFloorMap = CollUtil.fieldValueMap(admFloorList, "buildingId");
                                 if(admFloorMap.containsKey(admBuilding.getId())){
-                                    info.put("FloorID",admFloorMap.get(admBuilding.getId()).getId());
-                                    info.put("FloorName",admFloorMap.get(admBuilding.getId()).getLocalName());
+                                    ObjectNode infobd = JsonNodeFactory.instance.objectNode();
+                                    infobd.put("BuildID",admBuilding.getId());
+                                    infobd.put("BuildName",admBuilding.getLocalName());
+                                    infobd.put("FloorID",admFloorMap.get(admBuilding.getId()).getId());
+                                    infobd.put("FloorName",admFloorMap.get(admBuilding.getId()).getLocalName());
+                                    buildingFloorInfoList.add(infobd);
                                 }
                             }
-                            buildingFloorInfoList.add(info);
                         });
                         admSystem.setBuildingFloorInfoList(buildingFloorInfoList);
                         admSystem.setBuildingList(null);
@@ -453,9 +457,11 @@ public class AdmSystemController {
             buildingFloorInfo.put("BuildName",admBuilding.getLocalName());
         }
         if (null!=floors && CollUtil.isNotEmpty(floors.getContent())) {
+            ObjectNode buildingFloorInfoFl = JsonNodeFactory.instance.objectNode();
+            buildingFloorInfoFl = buildingFloorInfo.deepCopy();
             AdmFloor floor = (AdmFloor) floors.getContent().get(0);
-            buildingFloorInfo.put("FloorID",floor.getId());
-            buildingFloorInfo.put("FloorName",floor.getLocalName());
+            buildingFloorInfoFl.put("FloorID",floor.getId());
+            buildingFloorInfoFl.put("FloorName",floor.getLocalName());
         }
         admSystemList.stream().forEach(admSystem -> {
             admSystem.setBuildingFloorInfoList(Arrays.asList(buildingFloorInfo));