Browse Source

Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
#	src/main/java/com/persagy/proxy/adm/controller/AdmCalcSpecialController.java
lijie 3 years ago
parent
commit
1446f79032
58 changed files with 873 additions and 760 deletions
  1. 2 0
      src/main/java/com/persagy/proxy/adm/constant/AdmCommonConstant.java
  2. 14 1
      src/main/java/com/persagy/proxy/adm/constant/AdmRelationTypeEnum.java
  3. 15 0
      src/main/java/com/persagy/proxy/adm/constant/ObjTypeMapping.java
  4. 12 2
      src/main/java/com/persagy/proxy/adm/controller/AdmComponentController.java
  5. 12 26
      src/main/java/com/persagy/proxy/adm/controller/AdmDoorController.java
  6. 3 5
      src/main/java/com/persagy/proxy/adm/controller/AdmEquipFloorController.java
  7. 16 22
      src/main/java/com/persagy/proxy/adm/controller/AdmEquipShaftController.java
  8. 40 5
      src/main/java/com/persagy/proxy/adm/controller/AdmEquipmentController.java
  9. 8 21
      src/main/java/com/persagy/proxy/adm/controller/AdmManualRelCalController.java
  10. 5 16
      src/main/java/com/persagy/proxy/adm/controller/AdmMepSystemCalcController.java
  11. 4 10
      src/main/java/com/persagy/proxy/adm/controller/AdmModelController.java
  12. 3 12
      src/main/java/com/persagy/proxy/adm/controller/AdmModelRelController.java
  13. 16 4
      src/main/java/com/persagy/proxy/adm/controller/AdmProjectController.java
  14. 31 135
      src/main/java/com/persagy/proxy/adm/controller/AdmRelCalController.java
  15. 24 24
      src/main/java/com/persagy/proxy/adm/controller/AdmReportEquipController.java
  16. 57 29
      src/main/java/com/persagy/proxy/adm/controller/AdmShaftController.java
  17. 29 21
      src/main/java/com/persagy/proxy/adm/controller/AdmSystemController.java
  18. 1 4
      src/main/java/com/persagy/proxy/adm/controller/AdmVirtualWallController.java
  19. 1 4
      src/main/java/com/persagy/proxy/adm/controller/AdmWindowController.java
  20. 9 10
      src/main/java/com/persagy/proxy/adm/controller/RelationEqForBdController.java
  21. 14 12
      src/main/java/com/persagy/proxy/adm/controller/RelationEqForFlController.java
  22. 9 11
      src/main/java/com/persagy/proxy/adm/controller/RelationEqForShController.java
  23. 7 14
      src/main/java/com/persagy/proxy/adm/controller/RelationEqForSpConreoller.java
  24. 13 16
      src/main/java/com/persagy/proxy/adm/controller/RelationEqInShController.java
  25. 7 14
      src/main/java/com/persagy/proxy/adm/controller/RelationEqInSpController.java
  26. 2 3
      src/main/java/com/persagy/proxy/adm/controller/RelationFlAndBuController.java
  27. 13 17
      src/main/java/com/persagy/proxy/adm/controller/RelationFlThroughFlController.java
  28. 22 2
      src/main/java/com/persagy/proxy/adm/controller/RelationReportController.java
  29. 19 25
      src/main/java/com/persagy/proxy/adm/controller/RelationShContainSpBaseController.java
  30. 3 3
      src/main/java/com/persagy/proxy/adm/controller/RelationShInBdController.java
  31. 13 16
      src/main/java/com/persagy/proxy/adm/controller/RelationShaftThroughShaftController.java
  32. 11 13
      src/main/java/com/persagy/proxy/adm/controller/RelationSpInBdOrFlController.java
  33. 13 10
      src/main/java/com/persagy/proxy/adm/controller/RelationSpInSiController.java
  34. 14 17
      src/main/java/com/persagy/proxy/adm/controller/RelationSpaceConnectionController.java
  35. 24 24
      src/main/java/com/persagy/proxy/adm/controller/RelationSyEqController.java
  36. 13 17
      src/main/java/com/persagy/proxy/adm/controller/RelationSyForBdController.java
  37. 13 14
      src/main/java/com/persagy/proxy/adm/controller/RelationSyForFlController.java
  38. 13 14
      src/main/java/com/persagy/proxy/adm/controller/RelationSyForShController.java
  39. 18 36
      src/main/java/com/persagy/proxy/adm/controller/RelationSyForSpController.java
  40. 16 15
      src/main/java/com/persagy/proxy/adm/controller/RelationSyInBdController.java
  41. 17 14
      src/main/java/com/persagy/proxy/adm/controller/RelationSyInFlController.java
  42. 18 20
      src/main/java/com/persagy/proxy/adm/controller/RelationSyInShController.java
  43. 16 14
      src/main/java/com/persagy/proxy/adm/controller/RelationSyInSpController.java
  44. 9 10
      src/main/java/com/persagy/proxy/adm/controller/RelationTnInSpController.java
  45. 1 1
      src/main/java/com/persagy/proxy/adm/model/AdmBuilding.java
  46. 0 28
      src/main/java/com/persagy/proxy/adm/model/AdmBuildingFloorInfo.java
  47. 1 1
      src/main/java/com/persagy/proxy/adm/model/AdmFloor.java
  48. 1 1
      src/main/java/com/persagy/proxy/adm/model/AdmProperty.java
  49. 1 1
      src/main/java/com/persagy/proxy/adm/model/AdmShaft.java
  50. 2 1
      src/main/java/com/persagy/proxy/adm/model/AdmSystem.java
  51. 6 5
      src/main/java/com/persagy/proxy/adm/request/AdmResponse.java
  52. 19 0
      src/main/java/com/persagy/proxy/adm/service/IRelationReportService.java
  53. 10 5
      src/main/java/com/persagy/proxy/adm/service/impl/AbstractAdmBaseServiceImpl.java
  54. 3 2
      src/main/java/com/persagy/proxy/adm/service/impl/AbstractAdmDictBaseServiceImpl.java
  55. 1 7
      src/main/java/com/persagy/proxy/adm/service/impl/AdmEquipmentServiceImpl.java
  56. 198 0
      src/main/java/com/persagy/proxy/adm/service/impl/RelationReportService.java
  57. 7 2
      src/main/java/com/persagy/proxy/adm/utils/AdmQueryCriteriaHelper.java
  58. 4 4
      src/main/java/com/persagy/proxy/common/handler/AdmContextHandler.java

+ 2 - 0
src/main/java/com/persagy/proxy/adm/constant/AdmCommonConstant.java

@@ -10,6 +10,8 @@ import java.util.Map;
 public interface AdmCommonConstant {
 	/** ADM 边类型 -> 枚举类 */
 	static Map<String, AdmRelationTypeEnum> RELATION_TYPE_MAP = AdmRelationTypeEnum.getRelationTypeMap();
+	/** BDTP 图类型_边类型 -> 枚举类 */
+	static Map<String, AdmRelationTypeEnum> GRAPH_RELATION_TYPE_MAP = AdmRelationTypeEnum.getGraphRelTypeMap();
 	
 	/** 项目根路径*/
 	String SERVER_ROOT_PATH = System.getProperty("user.dir");

+ 14 - 1
src/main/java/com/persagy/proxy/adm/constant/AdmRelationTypeEnum.java

@@ -384,6 +384,19 @@ public enum AdmRelationTypeEnum {
         List<AdmRelationTypeEnum> enumList = EnumUtils.getEnumList(AdmRelationTypeEnum.class);
         return enumList.stream().collect(Collectors.toMap(AdmRelationTypeEnum::getRelationType,admRelationTypeEnum -> admRelationTypeEnum));
     }
-
+    
+    /***
+     * Description: 获取枚举类的映射
+     * key: 图类型_边类型, value: enum
+     * @return : java.util.Map<java.lang.String,com.persagy.proxy.enumeration.AdmRelationTypeEnum>
+     * @author : lijie
+     * date :2021/9/2 17:22
+     * Update By lijie 2021/9/2 17:22
+     */
+    public static Map<String,AdmRelationTypeEnum> getGraphRelTypeMap(){
+        List<AdmRelationTypeEnum> enumList = EnumUtils.getEnumList(AdmRelationTypeEnum.class);
+        return enumList.stream().collect(Collectors.toMap(k -> k.getGraphCode() + AdmCommonConstant.UNDERLINE + k.getRelationType(),
+        		admRelationTypeEnum -> admRelationTypeEnum));
+    }
 
 }

+ 15 - 0
src/main/java/com/persagy/proxy/adm/constant/ObjTypeMapping.java

@@ -3,6 +3,8 @@ package com.persagy.proxy.adm.constant;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.commons.lang.StringUtils;
+
 import cn.hutool.core.util.StrUtil;
 
 /**
@@ -93,4 +95,17 @@ public class ObjTypeMapping {
 		return StrUtil.isBlank(relCode) ? AdmCommonConstant.EMPTY : relCode.substring(3, 5);
 	}
 	
+	/**
+	 * 获取中台中边类型对应的描述
+	 * 
+	 * @param objType 最低5位,不然抛异常
+	 * @return 空字符串或者对应后缀
+	 */
+	public static String getConneObject(String relCode) {
+		if (StringUtils.isBlank(relCode) || relCode.length() < 5) {
+			return AdmCommonConstant.EMPTY;
+		}
+		return PREFIX_NAME.get(relCode.substring(0, 2)) + AdmCommonConstant.RIGHT_ARROW +  PREFIX_NAME.get(relCode.substring(3, 5));
+	}
+	
 }

+ 12 - 2
src/main/java/com/persagy/proxy/adm/controller/AdmComponentController.java

@@ -1,12 +1,14 @@
 package com.persagy.proxy.adm.controller;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.persagy.proxy.adm.model.AdmComponent;
 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.IAdmComponentService;
 import com.persagy.proxy.adm.utils.AdmContextUtil;
+import com.persagy.proxy.adm.utils.ObjectNameUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -36,8 +38,7 @@ public class AdmComponentController {
      * @throws Exception
      */
     @PostMapping("/count")
-    public AdmResponse count(
-                             @RequestBody AdmQueryCriteria request) throws Exception {
+    public AdmResponse count(@RequestBody AdmQueryCriteria request) throws Exception {
         request.setName(AdmComponent.OBJ_TYPE);
         request.setOnlyCount(true);
         return service.doQuery(AdmContextUtil.toDmpContext(), request, AdmComponent.class);
@@ -51,6 +52,15 @@ public class AdmComponentController {
     @PostMapping("/create")
     public AdmResponse create(@RequestBody AdmCreateRequest<AdmComponent> createRequest, @QueryParam("projectId") String projectId) throws Exception {
         List<AdmComponent> vos = CollUtil.newArrayList(createRequest.getContent());
+        if(CollUtil.isEmpty(vos)){
+            return AdmResponse.success();
+        }
+        //创建部件
+        vos.stream().forEach(component -> {
+            if (StrUtil.isEmpty(component.getName())){
+                component.setName(ObjectNameUtil.objectName("部件-"));
+            }
+        });
         vos = service.doInsertExt(AdmContextUtil.toDmpContext(), AdmComponent.class, vos);
         return AdmResponse.success(vos);
     }

+ 12 - 26
src/main/java/com/persagy/proxy/adm/controller/AdmDoorController.java

@@ -1,13 +1,12 @@
 package com.persagy.proxy.adm.controller;
 
 import cn.hutool.core.collection.CollUtil;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.model.AdmDoor;
 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.IAdmDoorService;
-import com.persagy.proxy.adm.service.IAdmDoorService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -16,7 +15,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.ws.rs.QueryParam;
 import java.util.List;
 
 /**
@@ -40,11 +38,10 @@ public class AdmDoorController {
      * @throws Exception
      */
     @PostMapping("/create")
-    public AdmResponse create(@RequestBody AdmCreateRequest<AdmDoor> createRequest, @QueryParam("projectId") String projectId) throws Exception {
+    public AdmResponse create(@RequestBody AdmCreateRequest<AdmDoor> createRequest) throws Exception {
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
         List<AdmDoor> vos = CollUtil.newArrayList(createRequest.getContent());
-        vos = service.doInsert(context, AdmDoor.class, vos);
+        vos = service.doInsert(AdmContextUtil.toDmpContext(), AdmDoor.class, vos);
         return AdmResponse.success(vos);
     }
 
@@ -55,9 +52,9 @@ public class AdmDoorController {
      * @throws Exception
      */
     @PostMapping("/create_ignore")
-    public AdmResponse createIgnore(@RequestBody AdmCreateRequest<AdmDoor> createRequest, @QueryParam("projectId") String projectId) throws Exception {
+    public AdmResponse createIgnore(@RequestBody AdmCreateRequest<AdmDoor> createRequest) throws Exception {
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         createRequest.getContent().forEach(request->{
             //TODO
         });
@@ -73,8 +70,7 @@ public class AdmDoorController {
     @PostMapping("/delete")
     public AdmResponse delete(@RequestBody List<AdmDoor> vos) throws Exception {
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, null, AdmCommonConstant.APP_ID);
-        service.doDelete(context, vos);
+        service.doDelete(AdmContextUtil.toDmpContext(), vos);
         return AdmResponse.success();
     }
 
@@ -85,45 +81,35 @@ public class AdmDoorController {
      * @throws Exception
      */
     @PostMapping("/update")
-    public AdmResponse update(@RequestBody AdmCreateRequest<AdmDoor> createRequest, @QueryParam("projectId") String projectId) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+    public AdmResponse update(@RequestBody AdmCreateRequest<AdmDoor> createRequest) throws Exception {
         List<AdmDoor> vos = CollUtil.newArrayList(createRequest.getContent());
-        vos = service.doUpdate(context, AdmDoor.class, vos);
+        vos = service.doUpdate(AdmContextUtil.toDmpContext(), AdmDoor.class, vos);
         return AdmResponse.success(vos);
     }
 
     /**
      * 查询
-     * @param projectId
      * @param request
      * @return
      * @throws Exception
      */
     @PostMapping("/query")
-    public AdmResponse query(@QueryParam("projectId") String projectId,
-                             @RequestBody AdmQueryCriteria request) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+    public AdmResponse query(@RequestBody AdmQueryCriteria request) throws Exception {
         request.setName("equipment");
         request.setFilters("classCode = 'CFBEDR'");
-        return service.doQuery(context, request, AdmDoor.class);
+        return service.doQuery(AdmContextUtil.toDmpContext(), request, AdmDoor.class);
     }
 
     /**
      * 统计
-     * @param projectId
      * @param request
      * @return
      * @throws Exception
      */
     @PostMapping("/count")
-    public AdmResponse count(@QueryParam("projectId") String projectId,
-                             @RequestBody AdmQueryCriteria request) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+    public AdmResponse count(@RequestBody AdmQueryCriteria request) throws Exception {
         request.setName("equipment");
         request.setOnlyCount(true);
-        return service.doQuery(context, request, AdmDoor.class);
+        return service.doQuery(AdmContextUtil.toDmpContext(), request, AdmDoor.class);
     }
 }

+ 3 - 5
src/main/java/com/persagy/proxy/adm/controller/AdmEquipFloorController.java

@@ -1,17 +1,15 @@
 package com.persagy.proxy.adm.controller;
 
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.model.AdmFloor;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmFloorService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
-import javax.ws.rs.QueryParam;
-
 /**
  * @author zhangwencheng
  * 楼层相关接口
@@ -32,8 +30,8 @@ public class AdmEquipFloorController {
      *级联对象:建筑(building)、项目(project)、楼层贯通关系(floorThroughList)
      */
     @PostMapping("/query")
-    public AdmResponse query(@RequestBody AdmQueryCriteria criteria,  @RequestParam("projectId") String projectId) {
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+    public AdmResponse query(@RequestBody AdmQueryCriteria criteria) {
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         criteria.setName(AdmFloor.OBJ_TYPE);
         return service.doQuery(context, criteria, AdmFloor.class);
     }

+ 16 - 22
src/main/java/com/persagy/proxy/adm/controller/AdmEquipShaftController.java

@@ -3,29 +3,25 @@ package com.persagy.proxy.adm.controller;
 
 import cn.hutool.core.text.TextSimilarity;
 import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
 import com.persagy.dmp.digital.entity.ObjectRelation;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.model.*;
 import com.persagy.proxy.adm.model.equip.ShaftSpaceVertical;
 import com.persagy.proxy.adm.model.equip.SpVerticalSp;
 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.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
-import javax.ws.rs.QueryParam;
 import java.util.*;
-import java.util.concurrent.ThreadPoolExecutor;
 import java.util.stream.Collectors;
 
 /**
@@ -73,9 +69,9 @@ public class AdmEquipShaftController {
      * @param param 竖井
      */
     @PostMapping("/unshaft-in-sys")
-    public AdmResponse unShaftSys(@RequestBody JSONObject param, @RequestParam("projectId") String projectId) {
+    public AdmResponse unShaftSys(@RequestBody JSONObject param) {
         //根据竖井Id,查询系统Id
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequest = new QueryCriteria();
         String shaftId = param.getString("shaftId");
         ObjectNode criteriaRel = JsonNodeFactory.instance.objectNode();
@@ -126,9 +122,9 @@ public class AdmEquipShaftController {
      * 查询没有和当前竖井绑定的设备
      */
     @PostMapping(value = "/unshaft-in-eq")
-    public AdmResponse unShaftEq(@RequestBody JSONObject param, @QueryParam("projectId") String projectId) {
+    public AdmResponse unShaftEq(@RequestBody JSONObject param) {
         String shaftId = param.getString("shaftId");
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequest = new QueryCriteria();
         ObjectNode criteriaRel = JsonNodeFactory.instance.objectNode();
         criteriaRel.put("graphCode", "MechInArch");
@@ -178,8 +174,8 @@ public class AdmEquipShaftController {
      * 查询没有和当前竖井贯通的其它竖井
      */
     @PostMapping(value = "/unshaft-through-shaft")
-    public AdmResponse unShaftThroughShaft(@RequestBody JSONObject param, @RequestParam("projectId") String projectId) {
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+    public AdmResponse unShaftThroughShaft(@RequestBody JSONObject param) {
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         String shaftId = param.getString("shaftId");
         JSONObject request = param.getJSONObject("request");
 
@@ -231,7 +227,7 @@ public class AdmEquipShaftController {
      * 查询竖井关联的空间垂直交通关系
      */
     @PostMapping("/shaft-vertical-space")
-    public AdmResponse shaftSpaceVertical(@RequestBody ShaftSpaceVertical shaftSpaceVertical, @RequestParam("projectId") String projectId) {
+    public AdmResponse shaftSpaceVertical(@RequestBody ShaftSpaceVertical shaftSpaceVertical) {
         String buildingId = shaftSpaceVertical.getBuildingId();
         String shaftId = shaftSpaceVertical.getShaftId();
         String objectType = shaftSpaceVertical.getObjectType();
@@ -239,7 +235,7 @@ public class AdmEquipShaftController {
         if (StrUtil.isBlank(buildingId) || StrUtil.isBlank(shaftId)) {
             return AdmResponse.failure("必填项:buildingId(建筑id)、shaftId(竖井Id)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequest = new QueryCriteria();
         ObjectNode criteriaRel = JsonNodeFactory.instance.objectNode();
         criteriaRel.put("graphCode", "ArchSubset");
@@ -268,7 +264,7 @@ public class AdmEquipShaftController {
         if (aiSwitch) {
             //1.查询竖井下的空间
 //            and relValue = " + objectType + "
-            filter = "graphCode = 'ArchSubset' and relCode = 'Sh2Sp' and projectId = " + projectId + " and objFrom =" + shaftId + " and valid = 1";
+            filter = "graphCode = 'ArchSubset' and relCode = 'Sh2Sp' and projectId = " + context.getProjectId() + " and objFrom =" + shaftId + " and valid = 1";
             criteria.setFilters(filter);
             AdmResponse admResponse = dtRelationService.doQuery(context, criteria, AdmDtRelation.class);
             List<AdmDtRelation> dtRelations = (List<AdmDtRelation>) admResponse.getContent();
@@ -291,7 +287,7 @@ public class AdmEquipShaftController {
             //查询建筑下所有指定类型空间
             String classCodeStr = "('" + StrUtil.join("','", classCodes) + "') ";
             //查询空间对象
-            filter = "projectId = " + projectId + " and buildingId = " + buildingId + " and classCode in " + classCodeStr + " and valid = 1";
+            filter = "projectId = " + context.getProjectId() + " and buildingId = " + buildingId + " and classCode in " + classCodeStr + " and valid = 1";
             criteria.setFilters(filter);
             AdmResponse admSpaceRes = spaceService.doQuery(context, criteria, AdmSpace.class);
             List<AdmSpace> spaces = (List<AdmSpace>) admSpaceRes.getContent();
@@ -317,7 +313,7 @@ public class AdmEquipShaftController {
             //4 查询交通关系
             classCodes = spaceList.stream().map(AdmSpace::getClassCode).collect(Collectors.toList());
             classCodeStr = "('" + StrUtil.join("','", classCodes) + "') ";
-            filter = "graphCode = TrafficNetwork and projectId = " + projectId + " and (objFrom in " + classCodeStr + " or objTo in " + classCodeStr + ") and valid = 1";
+            filter = "graphCode = TrafficNetwork and projectId = " + context.getProjectId() + " and (objFrom in " + classCodeStr + " or objTo in " + classCodeStr + ") and valid = 1";
             criteria.setFilters(filter);
             AdmResponse admSp = spVerticalSpService.doQuery(context, criteria, SpVerticalSp.class);
             List<SpVerticalSp> spVerticalSps = (List<SpVerticalSp>) admSp.getContent();
@@ -371,25 +367,23 @@ public class AdmEquipShaftController {
      * 计算 和当前竖井有关联的空间的垂直交通关系
      */
     @PostMapping("/vertical-space")
-    public AdmResponse shaftVerticalSp(@RequestBody ShaftSpaceVertical shaftSpaceVertical, @RequestParam("projectId") String projectId) {
+    public AdmResponse shaftVerticalSp(@RequestBody ShaftSpaceVertical shaftSpaceVertical) {
         String buildingId = shaftSpaceVertical.getBuildingId();
         String shaftId = shaftSpaceVertical.getShaftId();
         String objectType = shaftSpaceVertical.getObjectType();
         if (StrUtil.isBlank(buildingId) || StrUtil.isBlank(shaftId) || StrUtil.isBlank(objectType)) {
             return AdmResponse.failure("必填项:buildingId(建筑id)、shaftId(竖井Id),objectType(空间类型)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         AdmQueryCriteria criteria = new AdmQueryCriteria();
-        String filter = "graphCode = 'ArchSubset' and relCode = 'Sh2Sp' and projectId = " + projectId + " and objFrom =" + shaftId + " and valid = 1";
+        String filter = "graphCode = 'ArchSubset' and relCode = 'Sh2Sp' and projectId = " + context.getProjectId() + " and objFrom =" + shaftId + " and valid = 1";
         criteria.setFilters(filter);
         AdmResponse admResponse = dtRelationService.doQuery(context, criteria, AdmDtRelation.class);
         List<AdmDtRelation> dtRelations = (List<AdmDtRelation>) admResponse.getContent();
         List<String> spaceIdss = dtRelations.stream().map(AdmDtRelation::getObj_to).collect(Collectors.toList());
         filter = " id in ('" + StrUtil.join("','", spaceIdss) + "') ";
         criteria.setFilters(filter);
-        admResponse= spaceService.doQuery(context,criteria,AdmSpace.class);
-        AdmResponse admResult = new AdmResponse();
-        return admResult;
+        return spaceService.doQuery(context,criteria,AdmSpace.class);
     }
 
 }

+ 40 - 5
src/main/java/com/persagy/proxy/adm/controller/AdmEquipmentController.java

@@ -2,15 +2,19 @@ package com.persagy.proxy.adm.controller;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.persagy.dmp.basic.utils.JsonNodeUtils;
 import com.persagy.proxy.adm.model.AdmEquipment;
 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.IAdmEquipmentService;
 import com.persagy.proxy.adm.utils.AdmContextUtil;
+import com.persagy.proxy.adm.utils.ObjectNameUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -33,8 +37,7 @@ public class AdmEquipmentController {
      * @throws Exception
      */
     @PostMapping("/count")
-    public AdmResponse count(
-                             @RequestBody AdmQueryCriteria request) throws Exception {
+    public AdmResponse count(@RequestBody AdmQueryCriteria request) throws Exception {
         request.setName(AdmEquipment.OBJ_TYPE);
         request.setOnlyCount(true);
         return service.doQuery(AdmContextUtil.toDmpContext(), request, AdmEquipment.class);
@@ -49,6 +52,15 @@ public class AdmEquipmentController {
     @PostMapping("/create")
     public AdmResponse create(@RequestBody AdmCreateRequest<AdmEquipment> createRequest) throws Exception {
         List<AdmEquipment> vos = CollUtil.newArrayList(createRequest.getContent());
+        if(CollUtil.isEmpty(vos)){
+            return AdmResponse.success();
+        }
+        //创建设备
+        vos.stream().forEach(equipment -> {
+            if (StrUtil.isEmpty(equipment.getName())){
+                equipment.setName(ObjectNameUtil.objectName("设备-"));
+            }
+        });
         vos = service.doInsertEuip(AdmContextUtil.toDmpContext(), AdmEquipment.class, vos);
         return AdmResponse.success(vos);
     }
@@ -77,6 +89,21 @@ public class AdmEquipmentController {
     public AdmResponse update(@RequestBody AdmCreateRequest<AdmEquipment> createRequest) throws Exception {
         List<AdmEquipment> vos = CollUtil.newArrayList(createRequest.getContent());
         //vos = service.doUpdateEuip(AdmContextUtil.toDmpContext(), AdmEquipment.class, vos);
+        //针对设备更新时,所有更新的字段都放到信息点中的情况特殊处理
+        if(CollUtil.isNotEmpty(vos)){
+            List<AdmEquipment> equipmentList = new ArrayList<>(vos.size());
+            vos.stream().forEach(equipment -> {
+                if(CollUtil.isNotEmpty(equipment.getInfos())){
+                    AdmEquipment admEquipment = new AdmEquipment();
+                    admEquipment.setId(equipment.getId());
+                    admEquipment.setInfos(equipment.getInfos());
+                    ObjectNode objectNode = JsonNodeUtils.toObjectNode(admEquipment, "infos", null);
+                    AdmEquipment admEquipmentNew = JsonNodeUtils.toEntity(objectNode, AdmEquipment.class, "infos");
+                    equipmentList.add(admEquipmentNew);
+                }
+            });
+            vos = equipmentList;
+        }
         vos = service.doUpdate(AdmContextUtil.toDmpContext(), AdmEquipment.class, vos);
         return AdmResponse.success(vos);
     }
@@ -130,8 +157,7 @@ public class AdmEquipmentController {
      * @throws Exception
      */
     @GetMapping("/query-equip")
-    public AdmResponse queryEquip(
-                                  @RequestBody AdmQueryCriteria request) throws Exception {
+    public AdmResponse queryEquip(@RequestBody AdmQueryCriteria request) throws Exception {
         //request.setName("equipment");
         if(StrUtil.isNotEmpty(request.getFilters())){
             request.setFilters(String.join(";",request.getFilters(),"objType in ['equipment','component']"));
@@ -147,9 +173,18 @@ public class AdmEquipmentController {
      * @return
      * @throws Exception
      */
-    @PostMapping("/create-equip-pro")
+    @PostMapping("/creat-equip-pro")
     public AdmResponse createExt(@RequestBody AdmCreateRequest<AdmEquipment> admEquipment) throws Exception {
         List<AdmEquipment> vos = CollUtil.newArrayList(admEquipment.getContent());
+        if(CollUtil.isEmpty(vos)){
+            return AdmResponse.success();
+        }
+        //创建设备
+        vos.stream().forEach(equipment -> {
+            if (StrUtil.isEmpty(equipment.getName())){
+                equipment.setName(ObjectNameUtil.objectName("设备-"));
+            }
+        });
         vos = service.doInsertExt(AdmContextUtil.toDmpContext(), AdmEquipment.class, vos);
         return AdmResponse.success(vos);
     }

+ 8 - 21
src/main/java/com/persagy/proxy/adm/controller/AdmManualRelCalController.java

@@ -1,14 +1,12 @@
 package com.persagy.proxy.adm.controller;
 
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.model.AdmManualRelCalRequest;
 import com.persagy.proxy.adm.model.AdmManualRelationCalcDel;
 import com.persagy.proxy.adm.model.AdmRelationAddRequest;
 import com.persagy.proxy.adm.request.AdmCreateResponse;
-import com.persagy.proxy.adm.request.AdmManualRelCalResponse;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.AdmManualRelCalService;
-import com.persagy.proxy.common.entity.InstanceUrlParam;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.validation.annotation.Validated;
@@ -17,8 +15,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.ws.rs.QueryParam;
-
 /***
  * Description:手动计算输入类
  * @author : lijie
@@ -30,7 +26,7 @@ import javax.ws.rs.QueryParam;
 @RequiredArgsConstructor
 public class AdmManualRelCalController {
 
-    private final AdmManualRelCalService admManualRelationCalcService;
+    private final AdmManualRelCalService relationCalcService;
     @Value("${middleware.group.code}")
     private String groupCode;
     
@@ -43,11 +39,8 @@ public class AdmManualRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = "add")
-    public AdmCreateResponse addRels(@QueryParam("projectId") String projectId,
-                                     @RequestBody AdmRelationAddRequest request) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        return admManualRelationCalcService.addRels(context,request);
+    public AdmCreateResponse addRelations(@RequestBody AdmRelationAddRequest request) throws Exception {
+        return relationCalcService.addRels(AdmContextUtil.toDmpContext(), request);
     }
     /***
      * Description: 删除关系
@@ -58,11 +51,8 @@ public class AdmManualRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = "del")
-    public AdmCreateResponse delRels(@QueryParam("projectId") String projectId,
-                                     @Validated @RequestBody AdmManualRelationCalcDel admManualRelationCalcDel) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        return admManualRelationCalcService.delRels(context,admManualRelationCalcDel);
+    public AdmCreateResponse delRelations(@Validated @RequestBody AdmManualRelationCalcDel admManualRelationCalcDel) throws Exception {
+        return relationCalcService.delRels(AdmContextUtil.toDmpContext(), admManualRelationCalcDel);
     }
     /***
      * Description: 查询关系数据
@@ -73,11 +63,8 @@ public class AdmManualRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = "query")
-    public AdmResponse query(@QueryParam("projectId") String projectId,
-                             @Validated @RequestBody AdmManualRelCalRequest admManualRelCalRequest) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        return admManualRelationCalcService.query(context,admManualRelCalRequest);
+    public AdmResponse query(@Validated @RequestBody AdmManualRelCalRequest admManualRelCalRequest) throws Exception {
+        return relationCalcService.query(AdmContextUtil.toDmpContext(), admManualRelCalRequest);
     }
 
 

+ 5 - 16
src/main/java/com/persagy/proxy/adm/controller/AdmMepSystemCalcController.java

@@ -1,13 +1,10 @@
 package com.persagy.proxy.adm.controller;
 
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
-import com.persagy.proxy.adm.model.AdmEquipment;
 import com.persagy.proxy.adm.model.AdmMepSourceTypeEntity;
 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.AdmMepSystemCalcService;
-import com.persagy.proxy.common.entity.InstanceUrlParam;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
@@ -32,7 +29,6 @@ public class AdmMepSystemCalcController {
 
     /***
      * Description: 添加源端设备类型
-     * @param projectId : 项目id
      * @param request : 请求参数
      * @return : com.persagy.proxy.adm.request.AdmResponse
      * @author : lijie
@@ -40,15 +36,11 @@ public class AdmMepSystemCalcController {
      * Update By lijie 2021/9/14 23:20
      */
     @PostMapping("add")
-    public AdmResponse add(@QueryParam("projectId") String projectId,
-                           @RequestBody AdmCreateRequest<AdmMepSourceTypeEntity> request) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        return admMepSystemCalcService.add(context, request);
+    public AdmResponse add(@RequestBody AdmCreateRequest<AdmMepSourceTypeEntity> request) {
+        return admMepSystemCalcService.add(AdmContextUtil.toDmpContext(), request);
     }
     /***
      * Description: 查询源端设备类型
-     * @param projectId : 项目id
      * @param calcName : 关系名称
      * @return : com.persagy.proxy.adm.request.AdmResponse
      * @author : lijie
@@ -56,11 +48,8 @@ public class AdmMepSystemCalcController {
      * Update By lijie 2021/9/14 23:20
      */
     @GetMapping("query")
-    public AdmResponse query(@QueryParam("projectId") String projectId,
-                             @QueryParam("calcName") String calcName) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        return admMepSystemCalcService.query(context, calcName);
+    public AdmResponse query(@QueryParam("calcName") String calcName) {
+        return admMepSystemCalcService.query(AdmContextUtil.toDmpContext(), calcName);
     }
 
 

+ 4 - 10
src/main/java/com/persagy/proxy/adm/controller/AdmModelController.java

@@ -2,11 +2,11 @@ package com.persagy.proxy.adm.controller;
 
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONArray;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.model.AdmModelKey;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmModelKeyService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.DmpResult;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,8 +16,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.ws.rs.QueryParam;
-
 /**
  * 模型操作
  * @author lvxy
@@ -36,15 +34,11 @@ public class AdmModelController {
      * 模型文件下载地址 key
      */
     @PostMapping("/key")
-    public AdmResponse count(@QueryParam("projectId") String projectId,
-                             @RequestBody AdmQueryCriteria request) throws Exception {
-
-        if(StrUtil.isBlank(projectId)) {
+    public AdmResponse count(@RequestBody AdmQueryCriteria request) {
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
+        if(StrUtil.isBlank(context.getProjectId())) {
             return AdmResponse.failure("项目 id 不能为空");
         }
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-
         DmpResult<JSONArray> result = service.doQuery(context, request);
         return AdmResponse.fromDmp(request, result, AdmModelKey.class);
     }

+ 3 - 12
src/main/java/com/persagy/proxy/adm/controller/AdmModelRelController.java

@@ -1,13 +1,9 @@
 package com.persagy.proxy.adm.controller;
 
-import cn.hutool.core.collection.CollUtil;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
-import com.persagy.proxy.adm.model.AdmLocationPoint;
 import com.persagy.proxy.adm.model.AdmModelRel;
-import com.persagy.proxy.adm.request.AdmCreateRequest;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmModelRelService;
-import com.persagy.proxy.common.entity.InstanceUrlParam;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -16,8 +12,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.ws.rs.QueryParam;
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -46,11 +40,8 @@ public class AdmModelRelController {
      * @throws Exception
      */
     @PostMapping("/equip-ispace")
-    public AdmResponse update(@RequestBody AdmModelRel admModelRel, @QueryParam("projectId") String projectId) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        List<AdmModelRel> vos = new ArrayList<>();
-        vos = service.doUpdateModelInfo(context, AdmModelRel.class,admModelRel);
+    public AdmResponse update(@RequestBody AdmModelRel admModelRel) throws Exception {
+        List<AdmModelRel> vos = service.doUpdateModelInfo(AdmContextUtil.toDmpContext(), AdmModelRel.class,admModelRel);
         return AdmResponse.success(vos);
     }
 

+ 16 - 4
src/main/java/com/persagy/proxy/adm/controller/AdmProjectController.java

@@ -1,16 +1,21 @@
 package com.persagy.proxy.adm.controller;
 
+import cn.hutool.core.util.StrUtil;
+import com.persagy.dmp.common.context.AppContext;
 import com.persagy.proxy.adm.model.AdmProject;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmProjectService;
-import com.persagy.proxy.adm.utils.AdmContextUtil;
+import com.persagy.proxy.common.entity.InstanceUrlParam;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.ws.rs.QueryParam;
+
 /**
  * ADM 项目 API
  * @author Charlie Yu
@@ -23,6 +28,9 @@ public class AdmProjectController {
     @Autowired
     private IAdmProjectService service;
 
+    @Value("${middleware.group.code}")
+    private String groupCode;
+
     /**
      * 查询项目信息
      * @param request
@@ -30,9 +38,13 @@ public class AdmProjectController {
      * @throws Exception
      */
     @PostMapping("/query")
-    public AdmResponse query(@RequestBody AdmQueryCriteria request) throws Exception {
+    public AdmResponse query(@QueryParam("projectId") String projectId, @RequestBody AdmQueryCriteria request) throws Exception {
         request.setName(AdmProject.OBJ_TYPE);
-        return service.doQuery(AdmContextUtil.toDmpContext(), request, AdmProject.class);
+        String group = (StrUtil.isBlank(AppContext.getContext().getGroupCode()) || AppContext.getContext().getGroupCode().equals("null") ) ? groupCode:AppContext.getContext().getGroupCode();
+        InstanceUrlParam param = InstanceUrlParam.builder().groupCode(group)
+                .projectId(projectId).userId(AppContext.getContext().getAccountId())
+                .appId(AppContext.getContext().getAppId()).build();
+        return service.doQuery(param, request, AdmProject.class);
     }
 
     /**
@@ -43,6 +55,6 @@ public class AdmProjectController {
      */
     @PostMapping("/query/obj")
     public AdmResponse queryObj(@RequestBody AdmQueryCriteria request) throws Exception {
-        return query(request);
+        return query(null, request);
     }
 }

+ 31 - 135
src/main/java/com/persagy/proxy/adm/controller/AdmRelCalController.java

@@ -1,13 +1,12 @@
 package com.persagy.proxy.adm.controller;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
 import com.persagy.dmp.common.exception.BusinessException;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.constant.BusinessErrorRwdCode;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.AdmRelCalService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Value;
@@ -47,18 +46,9 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"bd2sp","fl2sp","sh2bd"})
-    public AdmResponse archSubsetCalcRelation(@RequestParam("projectId") String projectId,
-                                              @RequestParam("groupCode") String groupCode,
-                                              @RequestParam("appId") String appId,
-                                              @RequestParam("userId") String userId,
-                                              @RequestParam("objectTypes") String objectTypeStr,
-                                              @RequestParam("relationType") String relationTypeStr,
-                                              HttpServletRequest request) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        admRelCalService.calcRelation(context,CollUtil.newArrayList(getAdmRelationTypeEnum(request)),null);
+    public AdmResponse archSubsetCalcRelation(@RequestParam("objectTypes") String objectTypeStr,
+                                              @RequestParam("relationType") String relationTypeStr, HttpServletRequest request) {
+        admRelCalService.calcRelation(AdmContextUtil.toDmpContext(),CollUtil.newArrayList(getAdmRelationTypeEnum(request)),null);
         return AdmResponse.success(new ArrayList<>());
     }
 
@@ -81,18 +71,9 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"eq2bd","eq2fl","eq2sh","eq2sp_in","sy2bd","sy2fl","sy2sh","sy2sp"})
-    public AdmResponse mechInArchCalcRelation(@RequestParam("projectId") String projectId,
-                                              @RequestParam("groupCode") String groupCode,
-                                              @RequestParam("appId") String appId,
-                                              @RequestParam("userId") String userId,
-                                              @RequestParam("objectTypes") String objectTypeStr,
-                                              @RequestParam("relationType") String relationTypeStr,
-                                              HttpServletRequest request) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        admRelCalService.calcRelation(context, CollUtil.newArrayList(getAdmRelationTypeEnum(request)),null);
+    public AdmResponse mechInArchCalcRelation(@RequestParam("objectTypes") String objectTypeStr,
+                                              @RequestParam("relationType") String relationTypeStr, HttpServletRequest request) {
+        admRelCalService.calcRelation(AdmContextUtil.toDmpContext(), CollUtil.newArrayList(getAdmRelationTypeEnum(request)),null);
         return AdmResponse.success(new ArrayList<>());
     }
 
@@ -111,17 +92,11 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"pe2bd","pe2fl","pe2sh","pe2sp"})
-    public AdmResponse propertyInArchCalcRelation(@RequestParam("projectId") String projectId,
-                                                  @RequestParam("groupCode") String groupCode,
-                                                  @RequestParam("appId") String appId,
-                                                  @RequestParam("userId") String userId,
-                                                  @RequestParam("objectTypes") String objectTypeStr,
-                                                  @RequestParam("relationType") String relationTypeStr) throws Exception {
+    public AdmResponse propertyInArchCalcRelation(@RequestParam("objectTypes") String objectTypeStr,
+                                                  @RequestParam("relationType") String relationTypeStr) {
         // 资产暂时未引入,直接返回成功
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // admRelCalService.calcRelation(context,relType,objectTypeStr,relationTypeStr);
         return AdmResponse.success(new ArrayList<>());
     }
@@ -137,17 +112,11 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"eq2sp_for"})
-    public AdmResponse mechForArchCalcRelation(@RequestParam("projectId") String projectId,
-                                               @RequestParam("groupCode") String groupCode,
-                                               @RequestParam("appId") String appId,
-                                               @RequestParam("userId") String userId,
-                                               @RequestParam("objectTypes") String objectTypeStr,
-                                               @RequestParam("relationType") String relationTypeStr) throws Exception {
+    public AdmResponse mechForArchCalcRelation(@RequestParam("objectTypes") String objectTypeStr,
+                                               @RequestParam("relationType") String relationTypeStr) {
         // 资产暂时未引入,直接返回成功
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // admRelCalService.calcRelation(context,relType,objectTypeStr,relationTypeStr);
         return AdmResponse.success(new ArrayList<>());
     }
@@ -156,10 +125,6 @@ public class AdmRelCalController {
      * @param buildingId : 建筑id
      * @param objectType : 对象分类
      * @param type : 对象类型
-     * @param projectId : 项目id
-     * @param groupCode : 集团编码
-     * @param appId : APP的id
-     * @param userId : 账号id
      * sp2sp:空间服务于空间
      * @return : com.persagy.proxy.adm.request.AdmCreateResponse
      * @author : lijie
@@ -169,17 +134,8 @@ public class AdmRelCalController {
     @PostMapping(value = {"sp2sp"})
     public AdmResponse archForArchCalcRelation( @RequestParam("buildingId") String buildingId,
                                                 @RequestParam("objectType") String objectType,
-                                                @RequestParam("type") String type,
-                                                @RequestParam("projectId") String projectId,
-                                                @RequestParam("groupCode") String groupCode,
-                                                @RequestParam("appId") String appId,
-                                                @RequestParam("userId") String userId) throws Exception {
-        // 资产暂时未引入,直接返回成功
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        admRelCalService.calcRelationForArchForArchSpToSp(context,buildingId,objectType,type,AdmRelationTypeEnum.SP2SP_ARCHFORARCH);
+                                                @RequestParam("type") String type) {
+        admRelCalService.calcRelationForArchForArchSpToSp(AdmContextUtil.toDmpContext(),buildingId,objectType,type,AdmRelationTypeEnum.SP2SP_ARCHFORARCH);
         return AdmResponse.success(new ArrayList<>());
     }
     /***
@@ -191,16 +147,8 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"eq2sp_SensorRelationship_ss2sp"})
-    public AdmResponse sensorRelationshipCalcRelation(@RequestParam("projectId") String projectId,
-                                                      @RequestParam("groupCode") String groupCode,
-                                                      @RequestParam("appId") String appId,
-                                                      @RequestParam("userId") String userId) throws Exception {
-        // 资产暂时未引入,直接返回成功
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        admRelCalService.calcRelation(context,CollUtil.newArrayList(AdmRelationTypeEnum.EQ2SP_SENSORRELATIONSHIP_SS2SP),"AirConditioningZone");
+    public AdmResponse sensorRelationshipCalcRelation() {
+        admRelCalService.calcRelation(AdmContextUtil.toDmpContext(),CollUtil.newArrayList(AdmRelationTypeEnum.EQ2SP_SENSORRELATIONSHIP_SS2SP),"AirConditioningZone");
         return AdmResponse.success(new ArrayList<>());
     }
     /***
@@ -212,16 +160,8 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"sp2sp_ConvectionNetwork_1"})
-    public AdmResponse convectionNetworkCalcRelation(@RequestParam("projectId") String projectId,
-                                                     @RequestParam("groupCode") String groupCode,
-                                                     @RequestParam("appId") String appId,
-                                                     @RequestParam("userId") String userId) throws Exception {
-        // 资产暂时未引入,直接返回成功
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        admRelCalService.calcRelation(context,CollUtil.newArrayList(AdmRelationTypeEnum.SP2SP_CONVECTIONNETWORK_1),null);
+    public AdmResponse convectionNetworkCalcRelation() {
+        admRelCalService.calcRelation(AdmContextUtil.toDmpContext(),CollUtil.newArrayList(AdmRelationTypeEnum.SP2SP_CONVECTIONNETWORK_1),null);
         return AdmResponse.success(new ArrayList<>());
     }
     /***
@@ -233,16 +173,8 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"sp2sp_RadiationNetwork_1"})
-    public AdmResponse radiationNetworkCalcRelation(@RequestParam("projectId") String projectId,
-                                                    @RequestParam("groupCode") String groupCode,
-                                                    @RequestParam("appId") String appId,
-                                                    @RequestParam("userId") String userId) throws Exception {
-        // 资产暂时未引入,直接返回成功
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        admRelCalService.calcRelation(context,CollUtil.newArrayList(AdmRelationTypeEnum.SP2SP_RADIATIONNETWORK_1),null);
+    public AdmResponse radiationNetworkCalcRelation() {
+        admRelCalService.calcRelation(AdmContextUtil.toDmpContext(),CollUtil.newArrayList(AdmRelationTypeEnum.SP2SP_RADIATIONNETWORK_1),null);
         return AdmResponse.success(new ArrayList<>());
     }
     /***
@@ -254,16 +186,8 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"sp2sp_SpaceNeighborhood_5"})
-    public AdmResponse spaceNeighborhoodCalcRelation(@RequestParam("projectId") String projectId,
-                                                     @RequestParam("groupCode") String groupCode,
-                                                     @RequestParam("appId") String appId,
-                                                     @RequestParam("userId") String userId) throws Exception {
-        // 资产暂时未引入,直接返回成功
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        admRelCalService.calcRelation(context,CollUtil.newArrayList(AdmRelationTypeEnum.SP2SP_SPACENEIGHBORHOOD_5),null);
+    public AdmResponse spaceNeighborhoodCalcRelation() {
+        admRelCalService.calcRelation(AdmContextUtil.toDmpContext(),CollUtil.newArrayList(AdmRelationTypeEnum.SP2SP_SPACENEIGHBORHOOD_5),null);
         return AdmResponse.success(new ArrayList<>());
     }
     /***
@@ -275,22 +199,14 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"syeq2bd"})
-    public AdmResponse syeq2bdCalcRelation(@RequestParam("projectId") String projectId,
-                                           @RequestParam("groupCode") String groupCode,
-                                           @RequestParam("appId") String appId,
-                                           @RequestParam("userId") String userId) throws Exception {
-        // 资产暂时未引入,直接返回成功
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
+    public AdmResponse syeq2bdCalcRelation() {
         Map<String, AdmRelationTypeEnum> relationTypeMap = AdmRelationTypeEnum.getRelationTypeMap();
         if (!relationTypeMap.containsKey("eq2bd") || !relationTypeMap.containsKey("sy2bd")){
             throw new BusinessException(BusinessErrorRwdCode.A7201.getCode(),BusinessErrorRwdCode.A7201.getDesc());
         }
         ArrayList<AdmRelationTypeEnum> admRelationTypeEnums =
                 CollUtil.newArrayList(relationTypeMap.get("eq2bd"), relationTypeMap.get("sy2bd"));
-        admRelCalService.calcRelation(context,admRelationTypeEnums,null);
+        admRelCalService.calcRelation(AdmContextUtil.toDmpContext(),admRelationTypeEnums,null);
         return AdmResponse.success(new ArrayList<>());
     }
     /***
@@ -302,16 +218,8 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"sp2sp_TrafficNetwork_1"})
-    public AdmResponse trafficNetworkCalcRelation(@RequestParam("projectId") String projectId,
-                                                  @RequestParam("groupCode") String groupCode,
-                                                  @RequestParam("appId") String appId,
-                                                  @RequestParam("userId") String userId) throws Exception {
-        // 资产暂时未引入,直接返回成功
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        admRelCalService.calcRelation(context,CollUtil.newArrayList(AdmRelationTypeEnum.SP2SP_TRAFFICNETWORK_1),null);
+    public AdmResponse trafficNetworkCalcRelation() {
+        admRelCalService.calcRelation(AdmContextUtil.toDmpContext(),CollUtil.newArrayList(AdmRelationTypeEnum.SP2SP_TRAFFICNETWORK_1),null);
         return AdmResponse.success(new ArrayList<>());
     }
     /***
@@ -324,17 +232,8 @@ public class AdmRelCalController {
      * Update By lijie 2021/8/31 12:10
      */
     @PostMapping(value = {"fl2fl","sh2sh"})
-    public AdmResponse throughRelationshipCalcRelation(@RequestParam("projectId") String projectId,
-                                                       @RequestParam("groupCode") String groupCode,
-                                                       @RequestParam("appId") String appId,
-                                                       @RequestParam("userId") String userId,
-                                                       HttpServletRequest request) throws Exception {
-        // 资产暂时未引入,直接返回成功
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
-                null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
-                StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        admRelCalService.calcRelation(context,CollUtil.newArrayList(getAdmRelationTypeEnum(request)),null);
+    public AdmResponse throughRelationshipCalcRelation(HttpServletRequest request) {
+        admRelCalService.calcRelation(AdmContextUtil.toDmpContext(),CollUtil.newArrayList(getAdmRelationTypeEnum(request)),null);
         return AdmResponse.success(new ArrayList<>());
     }
 
@@ -352,12 +251,11 @@ public class AdmRelCalController {
      */
     @PostMapping(value = {"sign"})
     public AdmResponse changeSign( @PathVariable("relType") String relType,
-                                     @QueryParam("projectId") String projectId,
                                      @QueryParam("objectTypes") String objectTypeStr,
-                                     @QueryParam("relationType") String relationTypeStr) throws Exception {
+                                     @QueryParam("relationType") String relationTypeStr) {
         // 资产暂时未引入,直接返回成功
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // admRelCalService.calcRelation(context,relType,objectTypeStr,relationTypeStr);
         return AdmResponse.success(new ArrayList<>());
     }
@@ -392,6 +290,4 @@ public class AdmRelCalController {
         return requestURI.substring(requestURI.lastIndexOf("/")+1);
     }
 
-
-
 }

+ 24 - 24
src/main/java/com/persagy/proxy/adm/controller/AdmReportEquipController.java

@@ -84,31 +84,31 @@ public class AdmReportEquipController {
         cascadeSys.setName("linkSystem");
         cascade.add(cascadeSys);
         request.setCascade(cascade);
-        QueryCriteria queryCriteria = AdmQueryCriteriaHelper.toDmpCriteria(request);
-        List<ObjectNode> equips = DigitalObjectFacade.query(AdmContextUtil.toDmpContext().getGroupCode(), AdmContextUtil.toDmpContext().getProjectId(), AdmContextUtil.toDmpContext().getAppId(), null, queryCriteria);
-        if (CollUtil.isEmpty(equips)) {
-            return AdmResponse.success();
-        }
-        List<AdmEquipment> equipmentList = JSONUtil.toList(equips.toString(), AdmEquipment.class);
-        equipmentList.stream().forEach(equip -> {
-            if (CollUtil.isNotEmpty(equip.getComponent())) {
-                equip.setCount(equip.getComponent().size());
-                equip.setComponent(null);
-            } else {
-                equip.setCount(0);
+        AdmResponse admResponse = equipmentService.doQuery(AdmContextUtil.toDmpContext(), request, AdmEquipment.class);
+        List<AdmEquipment> equipmentList = (List<AdmEquipment>) admResponse.getContent();
+        if(CollUtil.isNotEmpty(equipmentList)){
+            equipmentList.stream().forEach(equip -> {
+                if (CollUtil.isNotEmpty(equip.getComponent())) {
+                    equip.setCount(equip.getComponent().size());
+                    equip.setComponent(null);
+                } else {
+                    equip.setCount(0);
+                }
+            });
+            //查询设备的类型信息,取list中的第一个数据
+            AdmEquipment admEquipment = equipmentList.get(0);
+            QueryCriteria defineCriteria = new QueryCriteria();
+            ObjectNode criteria = JsonNodeFactory.instance.objectNode();
+            criteria.put("code", admEquipment.getClassCode());
+            defineCriteria.setCriteria(criteria);
+            AdmResponse defRes = dictService.doQueryObjectType(AdmContextUtil.toDmpContext(), defineCriteria, AdmObjectType.class);
+            if (CollUtil.isNotEmpty(defRes.getContent())) {
+                List<AdmObjectType> componentCategory = (List<AdmObjectType>) defRes.getContent();
+                admEquipment.setComponentCategory(componentCategory);
+                equipmentList.set(0, admEquipment);
             }
-        });
-        //查询设备的类型信息,取list中的第一个数据
-        AdmEquipment admEquipment = equipmentList.get(0);
-        QueryCriteria defineCriteria = new QueryCriteria();
-        ObjectNode criteria = JsonNodeFactory.instance.objectNode();
-        criteria.put("code", admEquipment.getClassCode());
-        defineCriteria.setCriteria(criteria);
-        AdmResponse defRes = dictService.doQueryObjectType(AdmContextUtil.toDmpContext(), queryCriteria, AdmObjectType.class);
-        if (CollUtil.isNotEmpty(defRes.getContent())) {
-            List<AdmObjectType> componentCategory = (List<AdmObjectType>) defRes.getContent();
-            admEquipment.setComponentCategory(componentCategory);
-            equipmentList.set(0, admEquipment);
+        }else{
+            equipmentList = new ArrayList<>();
         }
         return AdmResponse.success(equipmentList);
     }

+ 57 - 29
src/main/java/com/persagy/proxy/adm/controller/AdmShaftController.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -23,12 +24,16 @@ import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmBuildingService;
 import com.persagy.proxy.adm.service.IAdmRelationService;
 import com.persagy.proxy.adm.service.IAdmShaftService;
+import com.persagy.proxy.adm.service.IAdmSpaceService;
 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.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.ws.rs.QueryParam;
 import java.util.*;
@@ -49,6 +54,10 @@ public class AdmShaftController {
     private IAdmRelationService relationService;
     @Autowired
     private IAdmBuildingService buildingService;
+    @Autowired
+    private IAdmSpaceService spaceService;
+    @Autowired
+    private ObjectMapper objectMapper;
 
     /**
      * 统计
@@ -127,7 +136,7 @@ public class AdmShaftController {
      * @throws Exception
      */
     @PostMapping("/update")
-    public AdmResponse update(@RequestBody AdmCreateRequest<AdmShaft> createRequest, @QueryParam("projectId") String projectId) throws Exception {        
+    public AdmResponse update(@RequestBody AdmCreateRequest<AdmShaft> createRequest) throws Exception {
         List<AdmShaft> vos = CollUtil.newArrayList(createRequest.getContent());
         vos = service.doUpdate(AdmContextUtil.toDmpContext(), AdmShaft.class, vos);
         return AdmResponse.success(vos);
@@ -142,8 +151,25 @@ public class AdmShaftController {
      */
     @PostMapping("/query")
     public AdmResponse query(@RequestBody AdmQueryCriteria request) throws Exception {      
-        request.setName("shaft");
-        return service.doQuery(AdmContextUtil.toDmpContext(), request, AdmShaft.class);
+        request.setName(AdmShaft.OBJ_TYPE);
+        QueryCriteria queryCriteria = AdmQueryCriteriaHelper.toDmpCriteria(request);
+        ObjectNode criteria = queryCriteria.getCriteria();
+        //查询参数特殊处理 处理成中台可以识别的条件
+        if(!JSONUtil.isNull(criteria)){
+           Map<String, String> criteriaMap = objectMapper.convertValue(criteria, Map.class);
+           if(CollUtil.isNotEmpty(criteriaMap)){
+               ObjectNode criteriaNew = JsonNodeFactory.instance.objectNode();
+               criteriaMap.keySet().stream().forEach(key -> {
+                   if(key.startsWith("infos.")){
+                        criteriaNew.put(key.substring(6), criteriaMap.get(key));
+                   }else{
+                       criteriaNew.put(key, criteriaMap.get(key));
+                   }
+               });
+               queryCriteria.setCriteria(criteriaNew);
+           }
+        }
+        return service.doQuery(AdmContextUtil.toDmpContext(), queryCriteria, AdmShaft.class);
     }
 
     /**
@@ -229,7 +255,8 @@ public class AdmShaftController {
      * @throws Exception
      */
     @PostMapping("/query-shaft-functype")
-    public AdmResponse queryShFuncType(@QueryParam("projectId") String projectId) throws Exception {       
+    public AdmResponse queryShFuncType() throws Exception {
+        String projectId = AdmContextUtil.toDmpContext().getProjectId();
         if(StrUtil.isNotEmpty(projectId)){
             AdmResponse admResponse = AdmResponse.success();
             //查询参数请求查询的类型是否存在
@@ -255,14 +282,17 @@ public class AdmShaftController {
                     for (HashMap map : datasourceList){
                         datasourceMap.put(map.get("code").toString(),map.get("name").toString());
                     }
-                    Map<String, String> datasourceMapUsed = new HashMap<>(datasourceMap.size());
+                    Map<String, Object> datasourceMapUsed = new HashMap<>(datasourceMap.size());
                     listInfos.stream().forEach(map -> {
                         if(!datasourceMapUsed.containsKey(map.get("shaftFuncType")) || datasourceMap.containsKey(map.get("shaftFuncType"))){
-                            datasourceMapUsed.put(map.get("shaftFuncType").toString(),datasourceMap.get(map.get("shaftFuncType").toString()));
+                            JSONObject jsonObject = new JSONObject();
+                            jsonObject.put("id", map.get("shaftFuncType").toString());
+                            jsonObject.put("name", datasourceMap.get(map.get("shaftFuncType").toString()));
+                            datasourceMapUsed.put(map.get("shaftFuncType").toString(),jsonObject);
                         }
                     });
                     if(CollUtil.isNotEmpty(datasourceMapUsed)){
-                        admResponse = AdmResponse.success(Arrays.asList(datasourceMapUsed.entrySet().toArray()));
+                        admResponse = AdmResponse.success(datasourceMapUsed.values().stream().collect(Collectors.toList()));
                     }
                 }
             }
@@ -281,28 +311,24 @@ public class AdmShaftController {
      * @throws Exception
      */
     @PostMapping("/shaft-zoneSpaceBaseTable")
-    public AdmResponse queryZoneSp(@RequestParam String shaftId,
-                             @RequestBody AdmQueryCriteria request) throws Exception {
+    public AdmResponse queryZoneSp(@QueryParam("ShaftId") String ShaftId, @RequestBody AdmQueryCriteria request) throws Exception {
         // 组装条件
-        QueryCriteria queryCriteria = new QueryCriteria();
-        if(!StrUtil.isAllNotEmpty(shaftId,AdmContextUtil.toDmpContext().getProjectId())) {
-            return AdmResponse.failure("必填项:shaftId(竖井id)、projectId(项目id)");
+        request.setName(AdmSpace.OBJ_TYPE);
+        QueryCriteria queryCriteria = AdmQueryCriteriaHelper.toDmpCriteria(request);
+        if(!StrUtil.isNotEmpty(ShaftId)) {
+            return AdmResponse.failure("必填项:shaftId(竖井id)");
         }
+
         ObjectNode criteria = JsonNodeFactory.instance.objectNode();
         ObjectNode relationTO = JsonNodeFactory.instance.objectNode();
         relationTO.put("relCode", "Sh2Sp");
-        relationTO.put("objFrom", shaftId);
+        relationTO.put("graphCode","ArchSubset");
+        relationTO.put("objFrom", ShaftId);
         criteria.putPOJO("relationTo", relationTO);
-        criteria.put("objType", AdmSpace.OBJ_TYPE);
-        queryCriteria.setCriteria(relationTO);
+        queryCriteria.setCriteria(criteria);
 
-        List<ObjectNode> spaceList = DigitalObjectFacade.query(AdmContextUtil.toDmpContext().getGroupCode(), AdmContextUtil.toDmpContext().getProjectId(), AdmContextUtil.toDmpContext().getAppId(), null, queryCriteria);
-        if(CollUtil.isNotEmpty(spaceList)){
-            List<AdmSpace> vos = JSONUtil.toList(spaceList.toString(), AdmSpace.class);
-            return AdmResponse.success(spaceList);
-        }else{
-            return AdmResponse.success();
-        }
+        AdmResponse admResponse = spaceService.doQuery(AdmContextUtil.toDmpContext(), queryCriteria, AdmSpace.class);
+        return admResponse;
     }
 
     /**
@@ -313,8 +339,8 @@ public class AdmShaftController {
      * @throws Exception
      */
     @PostMapping("/shaft-zoneSpaceBaseTable-building")
-    public AdmResponse queryZoneSpBd( @RequestParam String shaftId,
-             @RequestParam String objectType) throws Exception {
+    public AdmResponse queryZoneSpBd(@QueryParam("shaftId") String shaftId,
+             @QueryParam("objectType") String objectType) throws Exception {
         if(!StrUtil.isAllNotEmpty(shaftId,AdmContextUtil.toDmpContext().getProjectId())) {
             return AdmResponse.failure("必填项:shaftId(竖井id)、projectId(项目id)");
         }
@@ -330,6 +356,7 @@ public class AdmShaftController {
         ObjectNode criteria = JsonNodeFactory.instance.objectNode();
         ObjectNode relationTO = JsonNodeFactory.instance.objectNode();
         relationTO.put("relCode", "Sh2Sp");
+        relationTO.put("graphCode","ArchSubset");
         relationTO.put("objFrom", shaftId);
         criteria.putPOJO("relationTo", relationTO);
         criteria.put("objType", AdmSpace.OBJ_TYPE);
@@ -371,18 +398,19 @@ public class AdmShaftController {
      * @throws Exception
      */
     @PostMapping("/un-shaft-zoneSpaceBaseTable")
-    public AdmResponse queryUnZoneSp( @RequestParam String shaftId,
+    public AdmResponse queryUnZoneSp(@QueryParam("shaftId") String shaftId,
                              @RequestBody AdmQueryCriteria request) throws Exception {
         // 组装条件
-        QueryCriteria queryCriteria = new QueryCriteria();
-        if(!StrUtil.isAllNotEmpty(shaftId,AdmContextUtil.toDmpContext().getProjectId())) {
-            return AdmResponse.failure("必填项:shaftId(竖井id)、projectId(项目id)");
+        QueryCriteria queryCriteria = AdmQueryCriteriaHelper.toDmpCriteria(request);
+        if(!StrUtil.isNotEmpty(shaftId)) {
+            return AdmResponse.failure("必填项:shaftId(竖井id)");
         }
         ObjectNode criteria = JsonNodeFactory.instance.objectNode();
         ObjectNode relationTO = JsonNodeFactory.instance.objectNode();
         ArrayNode arrayNode = relationTO.putObject("objFrom").putArray("$notcontains");
         arrayNode.add(shaftId);
         relationTO.put("relCode", "Sh2Sp");
+        relationTO.put("graphCode","ArchSubset");
         criteria.putPOJO("relationTo", relationTO);
 
         criteria.put("objType", "space");

+ 29 - 21
src/main/java/com/persagy/proxy/adm/controller/AdmSystemController.java

@@ -35,6 +35,7 @@ import javax.json.JsonObject;
 import javax.validation.constraints.NotNull;
 import javax.ws.rs.QueryParam;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -227,6 +228,7 @@ public class AdmSystemController {
     public AdmResponse queryNew(@QueryParam("buildingId") String buildingId,
                                 @QueryParam("floorId") String floorId, @RequestBody AdmQueryCriteria request) throws Exception {
         AdmResponse syses = new AdmResponse();
+        List<AdmSystem> admSystemList = new ArrayList<>();
         if(StrUtil.isAllEmpty(buildingId,floorId)){
             //case one 查询全部系统,级联建筑,建筑级联楼层
             AdmQueryCriteria admQueryCriteriaBd = new AdmQueryCriteria();
@@ -243,26 +245,26 @@ public class AdmSystemController {
             syses = service.doQuery(AdmContextUtil.toDmpContext(),request,AdmSystem.class);
             //处理数据 BuildingFloorInfo
             if(CollUtil.isNotEmpty(syses.getContent())){
-                List<AdmSystem> admSystemList = (List<AdmSystem>) syses.getContent();
+                admSystemList = (List<AdmSystem>) syses.getContent();
                 admSystemList.stream().forEach(admSystem -> {
-                    List<AdmBuildingFloorInfo> buildingFloorInfoList = new ArrayList<>();
+                    List<ObjectNode> buildingFloorInfoList = new ArrayList<>();
                     List<AdmBuilding> buildingList = admSystem.getBuildingList();
                     if(CollUtil.isNotEmpty(buildingList)){
                         buildingList.stream().forEach(admBuilding -> {
                             List<AdmFloor> admFloorList = admBuilding.getFloor();
                             if(CollUtil.isNotEmpty(admFloorList)){
                                 admFloorList.stream().forEach(floor -> {
-                                    AdmBuildingFloorInfo info = new AdmBuildingFloorInfo();
-                                    info.setBuildID(admBuilding.getId());
-                                    info.setBuildName(admBuilding.getLocalName());
-                                    info.setFloorID(floor.getId());
-                                    info.setFloorName(floor.getLocalName());
+                                    ObjectNode info = JsonNodeFactory.instance.objectNode();
+                                    info.put("BuildID",admBuilding.getId());
+                                    info.put("BuildName",admBuilding.getLocalName());
+                                    info.put("FloorID",floor.getId());
+                                    info.put("FloorName",floor.getLocalName());
                                     buildingFloorInfoList.add(info);
                                 });
                             }else{
-                                AdmBuildingFloorInfo info = new AdmBuildingFloorInfo();
-                                info.setBuildID(admBuilding.getId());
-                                info.setBuildName(admBuilding.getLocalName());
+                                ObjectNode info = JsonNodeFactory.instance.objectNode();
+                                info.put("BuildID",admBuilding.getId());
+                                info.put("BuildName",admBuilding.getLocalName());
                                 buildingFloorInfoList.add(info);
                             }
                         });
@@ -272,7 +274,7 @@ public class AdmSystemController {
                         admSystem.setBuildingFloorInfoList(buildingFloorInfoList);
                     }
                 });
-                syses.setContent(admSystemList);
+                syses.setContent(CollUtil.isEmpty(admSystemList) ? new ArrayList<>(1) : admSystemList);
             }
         }else{
             QueryCriteria rwdQueryCriteria = AdmQueryCriteriaHelper.toDmpCriteria(request);
@@ -281,7 +283,7 @@ public class AdmSystemController {
                 return AdmResponse.failure("请求参数错误");
             }
             criteria.put("objType", AdmSystem.OBJ_TYPE);
-            List<AdmSystem> admSystemList = null;
+
             if (StrUtil.isAllNotEmpty(buildingId, floorId)) {
                 if(!"1".equals(floorId)){
                     //case two 明确建筑、明确楼层的 系统
@@ -316,7 +318,7 @@ public class AdmSystemController {
                     if(CollUtil.isNotEmpty(admSystemList)){
                         //处理数据 BuildingFloorInfo
                         admSystemList = dealBdFlInfo(null,null, admSystemList);
-                        syses.setContent(admSystemList);
+
                     }
                 }
             }
@@ -324,6 +326,11 @@ public class AdmSystemController {
                 syses.setTotal(admSystemList.size()*1l);
 
         }
+        if(CollUtil.isNotEmpty(admSystemList)){
+            syses.setContent(admSystemList);
+        }else{
+            syses.setContent(new ArrayList<>(1));
+        }
         return syses;
     }
 
@@ -372,7 +379,7 @@ public class AdmSystemController {
             return null;
         }
         if(StrUtil.isEmpty(buildingId)){//处理成adm目标格式
-            List<AdmBuildingFloorInfo> nullList = new ArrayList<>(0);
+            List<ObjectNode> nullList = new ArrayList<>(0);
             admSystemList.stream().forEach(admSystem -> {
                 admSystem.setBuildingFloorInfoList(nullList);
             });
@@ -388,19 +395,20 @@ public class AdmSystemController {
             AdmQueryCriteria admQueryCriteria = getAdmQueryCriteria(AdmFloor.OBJ_TYPE, floorId);
             floors = floorService.doQuery(AdmContextUtil.toDmpContext(), admQueryCriteria, AdmFloor.class);
         }
-        AdmBuildingFloorInfo buildingFloorInfo = new AdmBuildingFloorInfo();
+
+        ObjectNode buildingFloorInfo = JsonNodeFactory.instance.objectNode();
         if (CollUtil.isNotEmpty(buildings.getContent())) {
-            AdmBuilding building = (AdmBuilding) buildings.getContent().get(0);
-            buildingFloorInfo.setBuildName(building.getLocalName());
-            buildingFloorInfo.setBuildID(buildingId);
+            AdmBuilding admBuilding = (AdmBuilding) buildings.getContent().get(0);
+            buildingFloorInfo.put("BuildID",admBuilding.getId());
+            buildingFloorInfo.put("BuildName",admBuilding.getLocalName());
         }
         if (null!=floors && CollUtil.isNotEmpty(floors.getContent())) {
             AdmFloor floor = (AdmFloor) floors.getContent().get(0);
-            buildingFloorInfo.setFloorName(floor.getLocalName());
-            buildingFloorInfo.setFloorID(floorId);
+            buildingFloorInfo.put("FloorID",floor.getId());
+            buildingFloorInfo.put("FloorName",floor.getLocalName());
         }
         admSystemList.stream().forEach(admSystem -> {
-            admSystem.setBuildingFloorInfoList(CollUtil.newArrayList(buildingFloorInfo));
+            admSystem.setBuildingFloorInfoList(Arrays.asList(buildingFloorInfo));
         });
         return admSystemList;
     }

+ 1 - 4
src/main/java/com/persagy/proxy/adm/controller/AdmVirtualWallController.java

@@ -1,7 +1,6 @@
 package com.persagy.proxy.adm.controller;
 
 import cn.hutool.core.collection.CollUtil;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.model.AdmVirtualWall;
 import com.persagy.proxy.adm.request.AdmCreateRequest;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
@@ -72,9 +71,7 @@ public class AdmVirtualWallController {
      */
     @PostMapping("/delete")
     public AdmResponse delete(@RequestBody List<AdmVirtualWall> vos) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, null, AdmCommonConstant.APP_ID);
-        service.doDelete(context, vos);
+        service.doDelete(AdmContextUtil.toDmpContext(), vos);
         return AdmResponse.success();
     }
 

+ 1 - 4
src/main/java/com/persagy/proxy/adm/controller/AdmWindowController.java

@@ -1,7 +1,6 @@
 package com.persagy.proxy.adm.controller;
 
 import cn.hutool.core.collection.CollUtil;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.model.AdmWindow;
 import com.persagy.proxy.adm.request.AdmCreateRequest;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
@@ -72,9 +71,7 @@ public class AdmWindowController {
      */
     @PostMapping("/delete")
     public AdmResponse delete(@RequestBody List<AdmWindow> vos) throws Exception {
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, null, AdmCommonConstant.APP_ID);
-        service.doDelete(context, vos);
+        service.doDelete(AdmContextUtil.toDmpContext(), vos);
         return AdmResponse.success();
     }
 

+ 9 - 10
src/main/java/com/persagy/proxy/adm/controller/RelationEqForBdController.java

@@ -4,13 +4,13 @@ import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.model.relation.BdForEqList;
 import com.persagy.proxy.adm.model.relation.EqForBd;
 import com.persagy.proxy.adm.model.relation.EqForBdList;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,7 +44,7 @@ public class RelationEqForBdController {
      * @return 创建的结果信息
      */
     @PostMapping("/link")
-    public AdmResponse create(@RequestBody EqForBd eq2Bd, @RequestParam("projectId") String projectId) {
+    public AdmResponse create(@RequestBody EqForBd eq2Bd) {
         String buildingId = eq2Bd.getBuildingId();
         String equipId = eq2Bd.getEquipId();
         //检验输入参数
@@ -57,8 +57,7 @@ public class RelationEqForBdController {
         String relCode = typeEnum.getRelCode();
         RelationDTO relation = new RelationDTO(null, graphCode, relCode, "", equipId, buildingId);
         voList.add(relation);
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -70,7 +69,7 @@ public class RelationEqForBdController {
      * @return 创建的结果信息
      */
     @PostMapping("link-bd")
-    public AdmResponse createBd(@RequestBody EqForBdList eqForBdList, @RequestParam("projectId") String projectId) {
+    public AdmResponse createBd(@RequestBody EqForBdList eqForBdList) {
         List<String> buildingIdList = eqForBdList.getBuildingIdList();
         String equipId = eqForBdList.getEquipId();
         //检验输入参数
@@ -81,7 +80,7 @@ public class RelationEqForBdController {
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
         List<RelationDTO> voList = new ArrayList<>();
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         //根据设备删除以前信息
         deleteByEquipId(equipId, typeEnum, context);
         for (String buildingId : buildingIdList) {
@@ -117,7 +116,7 @@ public class RelationEqForBdController {
      * @return 创建的结果信息
      */
     @PostMapping("link-sy")
-    public AdmResponse createSy(@RequestBody BdForEqList bdForEqList, @RequestParam("projectId") String projectId) {
+    public AdmResponse createSy(@RequestBody BdForEqList bdForEqList) {
         String buildingId = bdForEqList.getBuildingId();
         List<String> equipIdList = bdForEqList.getEquipIdList();
         //检验输入参数
@@ -128,7 +127,7 @@ public class RelationEqForBdController {
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
         List<RelationDTO> voList = new ArrayList<>();
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         deleteByBuildId(buildingId, typeEnum, context);
         for (String equipId : equipIdList) {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, null, equipId, buildingId);
@@ -163,14 +162,14 @@ public class RelationEqForBdController {
      * @return 删除的结果信息
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestBody EqForBd eqForBd, @RequestParam("projectId") String projectId) {
+    public AdmResponse delete(@RequestBody EqForBd eqForBd) {
         String equipId = eqForBd.getEquipId();
         String buildingId = eqForBd.getBuildingId();
         //检验输入参数
         if (StrUtil.isEmpty(equipId) || StrUtil.isEmpty(buildingId)) {
             return AdmResponse.failure("必填项:equipId(设备id)、buildingId(建筑id)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.EQ2BD;
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();

+ 14 - 12
src/main/java/com/persagy/proxy/adm/controller/RelationEqForFlController.java

@@ -4,20 +4,23 @@ import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.model.relation.EqForFl;
 import com.persagy.proxy.adm.model.relation.EqForFlList;
 import com.persagy.proxy.adm.model.relation.FlForEqList;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -47,7 +50,7 @@ public class RelationEqForFlController {
      * @return 创建的结果信息
      */
     @PostMapping("/link")
-    public AdmResponse create(@RequestBody EqForFl eqForFl, @RequestParam("projectId") String projectId) {
+    public AdmResponse create(@RequestBody EqForFl eqForFl) {
         String equipId = eqForFl.getEquipId();
         String floorId = eqForFl.getFloorId();
         //检验输入参数
@@ -60,8 +63,7 @@ public class RelationEqForFlController {
         List<RelationDTO> voList = new ArrayList<>();
         RelationDTO relation = new RelationDTO(null, graphCode, relCode, "", equipId, floorId);
         voList.add(relation);
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -73,7 +75,7 @@ public class RelationEqForFlController {
      * @return 创建的结果信息
      */
     @PostMapping("link-eq")
-    public AdmResponse createEq(@RequestBody FlForEqList flForEqList, @RequestParam("projectId") String projectId) {
+    public AdmResponse createEq(@RequestBody FlForEqList flForEqList) {
         List<String> equipIdList = flForEqList.getEquipIdList();
         String floorId = flForEqList.getFloorId();
         //检验输入参数
@@ -81,7 +83,7 @@ public class RelationEqForFlController {
             return AdmResponse.failure("必填项:equipId(设备id)、equipIdList(设备Id列表)");
         }
         List<RelationDTO> voList = new ArrayList<>();
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.EQ2FL_FOR;
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
@@ -91,7 +93,7 @@ public class RelationEqForFlController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, "", equipId, floorId);
             voList.add(relation);
         }
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -102,7 +104,7 @@ public class RelationEqForFlController {
      * @return 创建的结果信息
      */
     @PostMapping("link-fl")
-    public AdmResponse createFl(@RequestBody EqForFlList eqForFlList, @RequestParam("projectId") String projectId) {
+    public AdmResponse createFl(@RequestBody EqForFlList eqForFlList) {
         String equipId = eqForFlList.getEquipId();
         List<String> floorIdList = eqForFlList.getFloorIdList();
         //检验输入参数
@@ -110,7 +112,7 @@ public class RelationEqForFlController {
             return AdmResponse.failure("必填项:equipId(设备id)、floorIdList(楼层Id列表)");
         }
         List<RelationDTO> voList = new ArrayList<>();
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.EQ2FL_FOR;
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
@@ -130,13 +132,13 @@ public class RelationEqForFlController {
      * @return                删除的结果信息
      */
     @PostMapping(value = "/unlink")
-    public AdmResponse delete(@RequestBody EqForFl eqForFl, @RequestParam("projectId") String projectId){
+    public AdmResponse delete(@RequestBody EqForFl eqForFl){
         String floorId = eqForFl.getFloorId();
         String equipId = eqForFl.getEquipId();
         if (StrUtil.isEmpty(floorId) || StrUtil.isEmpty(equipId)) {
             return AdmResponse.failure("必填项:equipId(设备id)、floorId(楼层floorId)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.EQ2FL_FOR;
         deleteByObjId(equipId, floorId, typeEnum, context);
         return  AdmResponse.success();

+ 9 - 11
src/main/java/com/persagy/proxy/adm/controller/RelationEqForShController.java

@@ -4,13 +4,13 @@ import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.model.relation.EqForSh;
 import com.persagy.proxy.adm.model.relation.EqForShList;
 import com.persagy.proxy.adm.model.relation.ShForEqList;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,7 +42,7 @@ public class RelationEqForShController {
      * @return 创建的结果信息
      */
     @PostMapping("/link")
-    public AdmResponse create(@RequestBody EqForSh eqForSh, @RequestParam("projectId") String projectId) {
+    public AdmResponse create(@RequestBody EqForSh eqForSh) {
         String equipId = eqForSh.getEquipId();
         String shaftId = eqForSh.getShaftId();
         String type = eqForSh.getType();
@@ -56,8 +56,7 @@ public class RelationEqForShController {
         List<RelationDTO> voList = new ArrayList<>();
         RelationDTO relation = new RelationDTO(null, graphCode, relCode, type, equipId, shaftId);
         voList.add(relation);
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -69,7 +68,7 @@ public class RelationEqForShController {
      * @return 创建的结果信息
      */
     @PostMapping("/link-sh")
-    public AdmResponse createSh(@RequestBody EqForShList eqForShList, @RequestParam("projectId") String projectId) {
+    public AdmResponse createSh(@RequestBody EqForShList eqForShList) {
         String equipId = eqForShList.getEquipId();
         List<String> shaftIdList = eqForShList.getShaftIdList();
         //检验输入参数
@@ -79,7 +78,7 @@ public class RelationEqForShController {
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.EQ2SH_FOR;
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         deleteByObjId(equipId, null, null, typeEnum, context);
         List<RelationDTO> voList = new ArrayList<>();
         for (String shaftId : shaftIdList) {
@@ -98,14 +97,14 @@ public class RelationEqForShController {
      * @return 创建的结果信息
      */
     @PostMapping("/link-eq")
-    public AdmResponse createEq(@RequestBody ShForEqList shForEqList, @RequestParam("projectId") String projectId) {
+    public AdmResponse createEq(@RequestBody ShForEqList shForEqList) {
         List<String> equipIdList = shForEqList.getEquipIdList();
         String shaftId = shForEqList.getShaftId();
         //检验输入参数
         if (StrUtil.isEmpty(shaftId) || CollectionUtils.isEmpty(equipIdList)) {
             return AdmResponse.failure("必填项:equipId(设备id)、shaftIdList(竖井Id列表)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.EQ2SH_FOR;
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
@@ -127,7 +126,7 @@ public class RelationEqForShController {
      * @return 删除的结果信息
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestBody EqForSh eqForSh, @RequestParam("projectId") String projectId) {
+    public AdmResponse delete(@RequestBody EqForSh eqForSh) {
         String shaftId = eqForSh.getShaftId();
         String equipId = eqForSh.getEquipId();
         //检验输入参数
@@ -135,9 +134,8 @@ public class RelationEqForShController {
             return AdmResponse.failure("必填项:equipId(设备id)、shaftId(竖井Id)");
         }
         String type = eqForSh.getType();
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.EQ2SH_FOR;
-        deleteByObjId(equipId, shaftId, type, typeEnum, context);
+        deleteByObjId(equipId, shaftId, type, typeEnum, AdmContextUtil.toDmpContext());
         return AdmResponse.success();
     }
 

+ 7 - 14
src/main/java/com/persagy/proxy/adm/controller/RelationEqForSpConreoller.java

@@ -7,9 +7,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,8 +44,7 @@ public class RelationEqForSpConreoller {
      * @date 2021/9/1 10:28
      */
     @PostMapping("/link-list")
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                              @RequestParam(value = "type", required = false) String type,
+    public AdmResponse create(@RequestParam(value = "type", required = false) String type,
                               @RequestBody JSONObject param) throws Exception {
 
         JSONArray content = param == null ? null : param.getJSONArray("content");
@@ -64,9 +63,7 @@ public class RelationEqForSpConreoller {
             // 创建关系对象 - 参考(datasyn中DataCenterSync.kt)
             voList.add(new RelationDTO(null, "MechForArch", "Eq2Sp", type, equipId, spaceId));
         }
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -80,8 +77,7 @@ public class RelationEqForSpConreoller {
      * @throws Exception
      */
     @PostMapping("/link-eq-sp")
-    public AdmResponse createEq(@RequestParam("projectId") String projectId,
-                                @RequestParam(value = "type", required = false) String type,
+    public AdmResponse createEq(@RequestParam(value = "type", required = false) String type,
                                 @RequestBody JSONObject param) throws Exception {
         String spaceId = param.getString("spaceId");
         JSONArray equipIdList = param.getJSONArray("equipIdList");
@@ -98,9 +94,7 @@ public class RelationEqForSpConreoller {
             // 创建关系对象 - 参考(datasyn中DataCenterSync.kt)
             voList.add(new RelationDTO(null, "MechForArch", "Eq2Sp", type, equipId, spaceId));
         }
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -113,14 +107,13 @@ public class RelationEqForSpConreoller {
      * @throws Exception
      */
     @PostMapping("/unlink-list")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestParam(value = "type", required = false) String type,
+    public AdmResponse delete(@RequestParam(value = "type", required = false) String type,
                               @RequestBody JSONArray param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         for(int i = 0;i < param.size();i++) {

+ 13 - 16
src/main/java/com/persagy/proxy/adm/controller/RelationEqInShController.java

@@ -7,14 +7,17 @@ import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -38,8 +41,7 @@ public class RelationEqInShController {
      * @throws Exception
      */
     @PostMapping(value = {"/link"})
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse create(@RequestBody JSONObject param) throws Exception {
         String equipId = param.getString("equipId");
         String shaftId = param.getString("shaftId");
         if(!StrUtil.isAllNotEmpty(equipId,shaftId)) {
@@ -48,9 +50,7 @@ public class RelationEqInShController {
         // 创建关系对象  EquipinShaft
         List<RelationDTO> voList = new ArrayList<>();
         voList.add(new RelationDTO(null, "MechInArch", "Eq2Sh", null, equipId , shaftId));
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
     /**
@@ -60,13 +60,12 @@ public class RelationEqInShController {
      */
 
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse delete(@RequestBody JSONObject param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         String equipId = param.getString("equipId");
@@ -90,15 +89,14 @@ public class RelationEqInShController {
      * @throws Exception
      */
     @PostMapping("/link-sh")
-    public AdmResponse createSh(@RequestParam("projectId") String projectId,
-                                @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createSh(@RequestBody JSONObject param) throws Exception {
         String equipId = param.getString("equipId");
         JSONArray shaftIdList = param.getJSONArray("shaftIdList");
         if(StrUtil.isBlank(equipId) || CollUtil.isEmpty(shaftIdList)) {
             return AdmResponse.failure("必填项:EquipId(设备id)、ShaftIdList(竖井id列表),此方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<RelationDTO> voList = new ArrayList<>();
         for(int i = 0;i < shaftIdList.size();i++) {
             String shaftId = shaftIdList.getString(i);
@@ -127,15 +125,14 @@ public class RelationEqInShController {
      * @throws Exception
      */
     @PostMapping(value = {"/link-eq","/link-eq-sh"})
-    public AdmResponse createEq(@RequestParam("projectId") String projectId,
-                                @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createEq(@RequestBody JSONObject param) throws Exception {
         String shaftId = param.getString("shaftId");
         JSONArray equipIdList = param.getJSONArray("shaftIdList");
         if(StrUtil.isBlank(shaftId) || CollUtil.isEmpty(equipIdList)) {
             return AdmResponse.failure("必填项:EquipIdList(设备id列表)、ShaftId(竖井id),此方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<RelationDTO> voList = new ArrayList<>();
         for(int i = 0;i < equipIdList.size();i++) {
             String equipId = equipIdList.getString(i);

+ 7 - 14
src/main/java/com/persagy/proxy/adm/controller/RelationEqInSpController.java

@@ -7,9 +7,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,8 +41,7 @@ public class RelationEqInSpController {
      * @throws Exception
      */
     @PostMapping("/link-list")
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                              @RequestParam(value = "type", required = false) String type,
+    public AdmResponse create(@RequestParam(value = "type", required = false) String type,
                               @RequestBody JSONObject param) throws Exception {
         JSONArray content = param == null ? null : param.getJSONArray("content");
         if(CollUtil.isEmpty(content)) {
@@ -60,9 +59,7 @@ public class RelationEqInSpController {
             // 创建关系对象 - 参考(datasyn中DataCenterSync.kt)
             voList.add(new RelationDTO(null, "MechInArch", "Eq2Sp", type, equipId, spaceId));
         }
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -74,8 +71,7 @@ public class RelationEqInSpController {
      * @throws Exception
      */
     @PostMapping("/link-eq-sp")
-    public AdmResponse createEq(@RequestParam("projectId") String projectId,
-                                @RequestParam(value = "type", required = false) String type,
+    public AdmResponse createEq(@RequestParam(value = "type", required = false) String type,
                                 @RequestBody JSONObject param) throws Exception {
         String spaceId = param.getString("spaceId");
         JSONArray equipIdList = param.getJSONArray("equipIdList");
@@ -92,9 +88,7 @@ public class RelationEqInSpController {
             // 创建关系对象 - 参考(datasyn中DataCenterSync.kt)
             voList.add(new RelationDTO(null, "MechInArch", "Eq2Sp", type, equipId, spaceId));
         }
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -106,14 +100,13 @@ public class RelationEqInSpController {
      * @throws Exception
      */
     @PostMapping("/unlink-list")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestParam(value = "type", required = false) String type,
+    public AdmResponse delete(@RequestParam(value = "type", required = false) String type,
                               @RequestBody JSONArray param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         for(int i = 0;i < param.size();i++) {

+ 2 - 3
src/main/java/com/persagy/proxy/adm/controller/RelationFlAndBuController.java

@@ -4,7 +4,6 @@ import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.model.AdmSpace;
 import com.persagy.proxy.adm.model.relation.UpDataFloorAndBuilding;
@@ -51,7 +50,7 @@ public class RelationFlAndBuController {
      * spaceId 业务空间id,id 楼层或建筑id,type  业务空间的类型
      */
     @PostMapping("/update-sp")
-    public AdmResponse spFloorAndBuilding(@RequestBody List<UpDataFloorAndBuilding> upDataFloorAndBuildings, @RequestParam("projectId") String projectId) {
+    public AdmResponse spFloorAndBuilding(@RequestBody List<UpDataFloorAndBuilding> upDataFloorAndBuildings) {
         if (CollectionUtils.isEmpty(upDataFloorAndBuildings)) {
             return AdmResponse.failure("修改内容不能为空");
         }
@@ -59,7 +58,7 @@ public class RelationFlAndBuController {
         AdmRelationTypeEnum fl2sp = AdmRelationTypeEnum.FL2SP;
         List<RelationDTO> voList = new ArrayList<>();
         List<String> idList = new ArrayList<>();
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         for (UpDataFloorAndBuilding upDataFloorAndBuilding : upDataFloorAndBuildings) {
             String id = upDataFloorAndBuilding.getId();
             String spaceId = upDataFloorAndBuilding.getSpaceId();

+ 13 - 17
src/main/java/com/persagy/proxy/adm/controller/RelationFlThroughFlController.java

@@ -7,14 +7,17 @@ import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -38,8 +41,7 @@ public class RelationFlThroughFlController {
      * @throws Exception
      */
     @PostMapping(value = {"/link"})
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse create(@RequestBody JSONObject param) throws Exception {
         String floorId = param.getString("floorId");
         String floorOtherId = param.getString("floorOtherId");
         if(!StrUtil.isAllNotEmpty(floorId,floorOtherId)) {
@@ -48,9 +50,7 @@ public class RelationFlThroughFlController {
         // 创建关系对象
         List<RelationDTO> voList = new ArrayList<>();
         voList.add(new RelationDTO(null, "ThroughRelationship", "Fl2Fl", null, floorId , floorOtherId));
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
     /**
@@ -59,15 +59,13 @@ public class RelationFlThroughFlController {
      * @param   param      对象
      * @return             删除的结果信息
      */
-
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse delete(@RequestBody JSONObject param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         String floorId = param.getString("floorId");
@@ -92,15 +90,14 @@ public class RelationFlThroughFlController {
      * @throws Exception
      */
     @PostMapping("/link-or")
-    public AdmResponse createFloorOtherIdList(@RequestParam("projectId") String projectId,
-                                @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createFloorOtherIdList(@RequestBody JSONObject param) {
         String floorId = param.getString("floorId");
         JSONArray floorOtherIdList = param.getJSONArray("floorOtherIdList");
         if(StrUtil.isBlank(floorId) || CollUtil.isEmpty(floorOtherIdList)) {
             return AdmResponse.failure("必填项:FloorId(楼层id)、FloorOtherIdList(其他楼层id列表),测方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<RelationDTO> voList = new ArrayList<>();
         for(int i = 0;i < floorOtherIdList.size();i++) {
             String floorOtherId = floorOtherIdList.getString(i);
@@ -130,15 +127,14 @@ public class RelationFlThroughFlController {
      * @throws Exception
      */
     @PostMapping("/link-fl")
-    public AdmResponse createFloorIdList(@RequestParam("projectId") String projectId,
-                                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createFloorIdList(@RequestBody JSONObject param) {
         String floorOtherId = param.getString("floorOtherId");
         JSONArray floorIdList = param.getJSONArray("floorIdList");
         if(StrUtil.isBlank(floorOtherId) || CollUtil.isEmpty(floorIdList)) {
             return AdmResponse.failure("必填项:FloorIdList(楼层id列表)、FloorOtherId(其他楼层id),测方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<RelationDTO> voList = new ArrayList<>();
         for(int i = 0;i < floorIdList.size();i++) {
             String floorId = floorIdList.getString(i);

+ 22 - 2
src/main/java/com/persagy/proxy/adm/controller/RelationReportController.java

@@ -21,6 +21,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.ResourceUtils;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -76,6 +77,7 @@ public class RelationReportController {
 	@RequestMapping("/graphic/query-count")
 	public AdmResponse queryCount(HttpServletRequest request) {
 		String groupCode = request.getHeader(AdmCommonConstant.GROUP_CODE_HEADER);
+		groupCode = StrUtil.isBlank(groupCode) ? defaultCode : groupCode;
 		String projectId = request.getHeader(AdmCommonConstant.PROJECT_ID_HEADER);
 		
 		JSONObject result = new JSONObject();
@@ -97,6 +99,24 @@ public class RelationReportController {
 	}
 	
 	/**
+	 * 查询关系总览(空表,先插入)
+	 * 
+	 * @param queryCriteria
+	 * @param request
+	 * @return
+	 */
+	@RequestMapping("/graphic/overview")
+	public AdmResponse overview(@RequestParam String content, HttpServletRequest request) {
+		String groupCode = request.getHeader(AdmCommonConstant.GROUP_CODE_HEADER);
+		String projectId = request.getHeader(AdmCommonConstant.PROJECT_ID_HEADER);
+		this.relationReportService.overview(groupCode, projectId, content);
+		
+		JSONObject result = new JSONObject();
+		result.put("count", 0);
+		return AdmResponse.success(Lists.newArrayList(result));
+	}
+	
+	/**
 	 * 项目关系类型查询
 	 * 
 	 * @param queryCriteria
@@ -104,15 +124,15 @@ public class RelationReportController {
 	 * @return
 	 */
 	@RequestMapping("/graphic/relation_type_project")
-	public AdmResponse queryRelationObjects(@RequestParam AdmQueryCriteria queryCriteria, HttpServletRequest request) {
+	public AdmResponse queryRelationObjects(@RequestBody AdmQueryCriteria queryCriteria, HttpServletRequest request) {
 		String groupCode = request.getHeader(AdmCommonConstant.GROUP_CODE_HEADER);
+		groupCode = StrUtil.isBlank(groupCode) ? defaultCode : groupCode;
 		String projectId = request.getHeader(AdmCommonConstant.PROJECT_ID_HEADER);
 		JSONObject result = new JSONObject();
 		result.put("count", 0);
 		return AdmResponse.success(Lists.newArrayList(result));
 	}
 	
-	
 	/**
 	 * 下载报告-设备静态信息维护模板
 	 * 

+ 19 - 25
src/main/java/com/persagy/proxy/adm/controller/RelationShContainSpBaseController.java

@@ -16,6 +16,7 @@ import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.enums.AdmDictCategoryEnum;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.client.DmpRwdClient;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
@@ -60,8 +61,7 @@ public class RelationShContainSpBaseController {
      * @throws Exception
      */
     @PostMapping(value = {"/link"})
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse create(@RequestBody JSONObject param) throws Exception {
         String shaftId = param.getString("shaftId");
         String spaceId = param.getString("spaceId");
         String type = param.getString("objectType");
@@ -71,9 +71,7 @@ public class RelationShContainSpBaseController {
         // 创建关系对象
         List<RelationDTO> voList = new ArrayList<>();
         voList.add(new RelationDTO(null, DEFAULT_GRAPH_CODE, DEFAULT_REL_CODE, type, shaftId , spaceId));
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -85,14 +83,13 @@ public class RelationShContainSpBaseController {
      * @return                       删除的结果信息
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestParam(value = "type", required = false) String type,
+    public AdmResponse delete(@RequestParam(value = "type", required = false) String type,
                               @RequestBody JSONObject param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         String shaftId = param.getString("shaftId");
@@ -119,16 +116,15 @@ public class RelationShContainSpBaseController {
      * @return                       创建的结果信息
      */
     @PostMapping("/link-shsps")
-    public AdmResponse createShsps(@RequestParam("projectId") String projectId,
-                                @RequestParam(value = "type", required = false) String type,
-                                @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createShsps(@RequestParam(value = "type", required = false) String type,
+                                @RequestBody JSONObject param) {
         String shaftId = param.getString("shaftId");
         JSONArray spaceIdList = param.getJSONArray("spaceIdList");
         if(StrUtil.isBlank(shaftId) || CollUtil.isEmpty(spaceIdList)) {
             return AdmResponse.failure("必填项:SpaceIdList(业务空间id列表)、ShaftID(竖井id),此方法不会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<RelationDTO> voList = new ArrayList<>();
         for(int i = 0;i < spaceIdList.size();i++) {
             String spaceId = spaceIdList.getString(i);
@@ -154,22 +150,20 @@ public class RelationShContainSpBaseController {
 
     /**
      * 竖井下的业务空间,空间一对多
-     *
      * @param   param     竖井和业务空间的关系对象
      * @param   type                 空间类型
      * @return                       创建的结果信息
      */
     @PostMapping("/link-spshs")
-    public AdmResponse createSpshs(@RequestParam("projectId") String projectId,
-                                   @RequestParam(value = "type", required = false) String type,
-                                   @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createSpshs(@RequestParam(value = "type", required = false) String type,
+                                   @RequestBody JSONObject param) {
         String spaceId = param.getString("spaceId");
         JSONArray shaftIdList = param.getJSONArray("shaftIdList");
         if(StrUtil.isBlank(spaceId) || CollUtil.isEmpty(shaftIdList)) {
             return AdmResponse.failure("必填项:SpaceId(业务空间id)、ShaftIDList(竖井id列表)");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<RelationDTO> voList = new ArrayList<>();
         for(int i = 0;i < shaftIdList.size();i++) {
             String shaftId = shaftIdList.getString(i);
@@ -201,8 +195,7 @@ public class RelationShContainSpBaseController {
      * @return                       创建的结果信息
      */
     @PostMapping("/link-shsps-replace")
-    public AdmResponse createShSpsReplace(@RequestParam("projectId") String projectId,
-                                   @RequestParam(value = "Type", required = false) String type,
+    public AdmResponse createShSpsReplace(@RequestParam(value = "Type", required = false) String type,
                                    @RequestParam(value = "BuildingId", required = false) String buildingId,
                                    @RequestParam(value = "FloorId", required = false) String floorId,
                                    @RequestBody JSONObject param) throws Exception {
@@ -212,8 +205,9 @@ public class RelationShContainSpBaseController {
             return AdmResponse.failure("必填项:SpaceIdList(业务空间id列表)、ShaftID(竖井id),此方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        RequestData requestData = RequestData.builder().buildingId(buildingId).classCode(type).floorId(floorId).projectId(projectId).objType(AdmDictCategoryEnum.SPACE.getValue()).build();
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
+        RequestData requestData = RequestData.builder().buildingId(buildingId).classCode(type)
+                .floorId(floorId).projectId(context.getProjectId()).objType(AdmDictCategoryEnum.SPACE.getValue()).build();
         QueryCriteria queryRequestTmp = new QueryCriteria();
         ObjectNode nodeTmp = JsonNodeFactory.instance.objectNode();
         nodeTmp.put("graphCode", DEFAULT_GRAPH_CODE);
@@ -223,7 +217,8 @@ public class RelationShContainSpBaseController {
         queryRequestTmp.setCriteria(nodeTmp);
         //关系查询空间id
         Set<String> oldSpaceIds = service.queryByCondition(context,queryRequestTmp).stream().map(ObjectRelation::getObjTo).collect(Collectors.toSet());
-        List<ObjectDigital> objectDigitals = DigitalObjectFacade.queryObjectListSuperiorId(groupCode, projectId, AdmCommonConstant.APP_ID, null, requestData);
+        List<ObjectDigital> objectDigitals = DigitalObjectFacade.queryObjectListSuperiorId(context.getGroupCode(),
+                context.getProjectId(), AdmCommonConstant.APP_ID, context.getUserId(), requestData);
         //楼层、建筑、对象类查询的空间id
         Set<String> spaceIdSet = objectDigitals.stream().map(ObjectDigital::getId).collect(Collectors.toSet());
         //空间id取交集
@@ -276,12 +271,11 @@ public class RelationShContainSpBaseController {
      * @date 2021/9/23 18:37
      */
     @PostMapping("/space-type-query")
-    public AdmResponse spaceTypeQuery(@RequestParam String projectId,
-                              @RequestParam(value = "shaftId", required = false) String shaftId,
+    public AdmResponse spaceTypeQuery(@RequestParam(value = "shaftId", required = false) String shaftId,
                               @RequestBody JSONObject param) throws Exception {
 
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria queryRequestTmp = new QueryCriteria();
         ObjectNode nodeTmp = JsonNodeFactory.instance.objectNode();

+ 3 - 3
src/main/java/com/persagy/proxy/adm/controller/RelationShInBdController.java

@@ -1,10 +1,10 @@
 package com.persagy.proxy.adm.controller;
 
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.model.relation.ShInBdList;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import lombok.extern.slf4j.Slf4j;
@@ -38,7 +38,7 @@ public class RelationShInBdController {
      */
 
     @PostMapping("link-bd")
-    public AdmResponse createBd(@RequestBody ShInBdList shInBdList, @RequestParam("projectId") String projectId){
+    public AdmResponse createBd(@RequestBody ShInBdList shInBdList){
         log.info("创建系统所在建筑关系link-bd");
         List<String> buildingIdList = shInBdList.getBuildingIdList();
         String shaftId = shInBdList.getShaftId();
@@ -55,7 +55,7 @@ public class RelationShInBdController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, "", shaftId,buildingId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         return AdmResponse.success();
     }

+ 13 - 16
src/main/java/com/persagy/proxy/adm/controller/RelationShaftThroughShaftController.java

@@ -7,14 +7,17 @@ import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -38,8 +41,7 @@ public class RelationShaftThroughShaftController {
      * @throws Exception
      */
     @PostMapping(value = {"/link"})
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse create(@RequestBody JSONObject param) throws Exception {
         String shaftId = param.getString("shaftId");
         String shaftOtherId = param.getString("shaftOtherId");
         if(!StrUtil.isAllNotEmpty(shaftId,shaftOtherId)) {
@@ -48,9 +50,7 @@ public class RelationShaftThroughShaftController {
         // 创建关系对象
         List<RelationDTO> voList = new ArrayList<>();
         voList.add(new RelationDTO(null, "ThroughRelationship", "Sh2Sh", null, shaftId , shaftOtherId));
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
     /**
@@ -61,13 +61,12 @@ public class RelationShaftThroughShaftController {
      */
 
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse delete(@RequestBody JSONObject param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         String shaftId = param.getString("shaftId");
@@ -91,15 +90,14 @@ public class RelationShaftThroughShaftController {
      * @throws Exception
      */
     @PostMapping("/link-or")
-    public AdmResponse createFloorOtherIdList(@RequestParam("projectId") String projectId,
-                                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createFloorOtherIdList(@RequestBody JSONObject param) throws Exception {
         String shaftId = param.getString("shaftId");
         JSONArray shaftOtherIdList = param.getJSONArray("shaftOtherIdList");
         if(StrUtil.isBlank(shaftId) || CollUtil.isEmpty(shaftOtherIdList)) {
             return AdmResponse.failure("必填项:ShaftId(竖井id)、ShaftOtherIdList(其他竖井id列表),此方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<RelationDTO> voList = new ArrayList<>();
         for(int i = 0;i < shaftOtherIdList.size();i++) {
             String shaftOtherId = shaftOtherIdList.getString(i);
@@ -130,15 +128,14 @@ public class RelationShaftThroughShaftController {
      * @throws Exception
      */
     @PostMapping("/link-shaft")
-    public AdmResponse createFloorIdList(@RequestParam("projectId") String projectId,
-                                         @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createFloorIdList(@RequestBody JSONObject param) throws Exception {
         String shaftId = param.getString("shaftId");
         JSONArray shaftOtherIdList = param.getJSONArray("shaftOtherIdList");
         if(StrUtil.isBlank(shaftId) || CollUtil.isEmpty(shaftOtherIdList)) {
             return AdmResponse.failure("必填项:ShaftId(竖井id)、ShaftOtherIdList(其他竖井id列表)");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<RelationDTO> voList = new ArrayList<>();
         for(int i = 0;i < shaftOtherIdList.size();i++) {
             String shaftOtherId = shaftOtherIdList.getString(i);

+ 11 - 13
src/main/java/com/persagy/proxy/adm/controller/RelationSpInBdOrFlController.java

@@ -6,15 +6,18 @@ import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.client.DmpRwdClient;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -49,8 +52,7 @@ public class RelationSpInBdOrFlController {
      * @throws Exception
      */
     @PostMapping(value = {"/bd-create"})
-    public AdmResponse spInBdCreate(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse spInBdCreate(@RequestBody JSONObject param) throws Exception {
         String buildingId = param.getString("buildingId");
         String spaceId = param.getString("spaceId");
         String type = param.getString("objectType");
@@ -60,9 +62,7 @@ public class RelationSpInBdOrFlController {
         // 创建关系对象
         List<RelationDTO> voList = new ArrayList<>();
         voList.add(new RelationDTO(null, DEFAULT_GRAPH_CODE, DEFAULT_REL_CODE, type, buildingId , spaceId));
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -72,10 +72,9 @@ public class RelationSpInBdOrFlController {
      * @return                       删除的结果信息
      */
     @PostMapping("/bd-del")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONArray paramList) throws Exception {
+    public AdmResponse delete(@RequestBody JSONArray paramList) throws Exception {
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         for (int i = 0; i < paramList.size(); i++) {
             JSONObject param = paramList.getJSONObject(i);
             String buildingId = param.getString("buildingId");
@@ -102,8 +101,7 @@ public class RelationSpInBdOrFlController {
      * @return                       删除的结果信息
      */
     @PostMapping("/bd-update")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONObject requestParam) throws Exception {
+    public AdmResponse delete(@RequestBody JSONObject requestParam) throws Exception {
         JSONArray content = requestParam.getJSONArray("content");
         for (int i = 0; i < content.size(); i++) {
             JSONObject param = content.getJSONObject(i);
@@ -115,7 +113,7 @@ public class RelationSpInBdOrFlController {
             }
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         for (int i = 0; i < content.size(); i++) {
             JSONObject param = content.getJSONObject(i);
             String buildingId = param.getString("buildingId");

+ 13 - 10
src/main/java/com/persagy/proxy/adm/controller/RelationSpInSiController.java

@@ -4,13 +4,13 @@ import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.model.relation.SiInSpBase;
 import com.persagy.proxy.adm.model.relation.SiInSpBaseList;
 import com.persagy.proxy.adm.request.AdmCreateRequest;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import lombok.extern.slf4j.Slf4j;
@@ -46,7 +46,8 @@ public class RelationSpInSiController {
      * @return 创建的结果信息
      */
     @PostMapping("/link-list")
-    public AdmResponse create(@RequestParam(value = "type",required = false) String type, @RequestBody AdmCreateRequest<SiInSpBase> siInSpBaseRequest, @RequestParam("projectId") String projectId) {
+    public AdmResponse create(@RequestParam(value = "type",required = false) String type,
+                              @RequestBody AdmCreateRequest<SiInSpBase> siInSpBaseRequest) {
         List<SiInSpBase> content = siInSpBaseRequest.getContent();
         if (CollectionUtils.isEmpty(content)) {
             return AdmResponse.failure("content不能为空");
@@ -65,8 +66,7 @@ public class RelationSpInSiController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, objectType, spaceId, ispaceId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -77,13 +77,14 @@ public class RelationSpInSiController {
      * @return 创建的结果信息
      */
     @PostMapping("/link-sp")
-    public AdmResponse createSp(@RequestParam(value = "type", required = false) String type, @RequestBody SiInSpBaseList siInSpBaseList, @RequestParam("projectId") String projectId) {
+    public AdmResponse createSp(@RequestParam(value = "type", required = false) String type,
+                                @RequestBody SiInSpBaseList siInSpBaseList) {
         List<String> ispaceIdList = siInSpBaseList.getIspaceIdList();
         String spaceId = siInSpBaseList.getSpaceId();
         if (StrUtil.isEmpty(spaceId) || CollectionUtils.isEmpty(ispaceIdList)) {
             return AdmResponse.failure("必填项:ispaceIdList(元空间id)、spaceId(空间id)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.SP2SI;
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
@@ -122,13 +123,14 @@ public class RelationSpInSiController {
      * @return                  创建的结果信息
      */
     @PostMapping("/link-si-sp")
-    public AdmResponse createSpSi(@RequestParam(value = "type",required = false) String type, @RequestBody SiInSpBaseList siInSpBaseList, @RequestParam("projectId") String projectId){
+    public AdmResponse createSpSi(@RequestParam(value = "type",required = false) String type,
+                                  @RequestBody SiInSpBaseList siInSpBaseList){
         List<String> ispaceIdList = siInSpBaseList.getIspaceIdList();
         String spaceId = siInSpBaseList.getSpaceId();
         if (StrUtil.isEmpty(spaceId) || CollectionUtils.isEmpty(ispaceIdList)) {
             return AdmResponse.failure("必填项:ispaceIdList(元空间id)、spaceId(空间id)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.SP2SI;
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
@@ -148,7 +150,8 @@ public class RelationSpInSiController {
      * @return                  删除的结果信息
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam(value = "type",required = false)  String type, @RequestBody List<SiInSpBase> siInSpBases,@RequestParam("projectId") String projectId) {
+    public AdmResponse delete(@RequestParam(value = "type",required = false)  String type,
+                              @RequestBody List<SiInSpBase> siInSpBases) {
         if(CollectionUtils.isEmpty(siInSpBases)){
             return AdmResponse.failure("必填项:siInSpBases不能为空");
         }
@@ -173,7 +176,7 @@ public class RelationSpInSiController {
             criteria.setCriteria(node);
             queryCriteriaList.add(criteria);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         for (QueryCriteria queryCriteria : queryCriteriaList) {
             service.doDelete(context, queryCriteria);
         }

+ 14 - 17
src/main/java/com/persagy/proxy/adm/controller/RelationSpaceConnectionController.java

@@ -15,6 +15,7 @@ import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.enums.AdmDictCategoryEnum;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.client.DmpRwdClient;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
@@ -66,8 +67,8 @@ public class RelationSpaceConnectionController {
      * @throws Exception
      */
     @PostMapping(value = {"/space-neighborhood-Create"})
-    public AdmResponse spaceNeighborhood(@RequestParam("projectId") String projectId,
-                                         @RequestBody JSONObject param) throws Exception {
+    public AdmResponse spaceNeighborhood(@RequestBody JSONObject param) throws Exception {
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         JSONArray contentList = param.getJSONArray("content");
         for (int i = 0; i < contentList.size(); i++) {
             JSONObject content = contentList.getJSONObject(i);
@@ -84,15 +85,14 @@ public class RelationSpaceConnectionController {
                 ObjectNode criteria = JsonNodeFactory.instance.objectNode();
                 criteria.put("id", spaceIdOne);
                 queryCriteria.setCriteria(criteria);
-                List<ObjectNode> objectNodeList = DigitalObjectFacade.query(groupCode, projectId, AdmCommonConstant.APP_ID, null, queryCriteria);
+                List<ObjectNode> objectNodeList = DigitalObjectFacade.query(context.getGroupCode(),
+                        context.getProjectId(), AdmCommonConstant.APP_ID, context.getUserId(), queryCriteria);
                 if (CollUtil.isNotEmpty(objectNodeList)) {
                     String classCode = objectNodeList.get(0).get("classCode").asText();
                     content.put("zoneType", classCode);
                 }
             }
         }
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
         for (int i = 0; i < contentList.size(); i++) {
             JSONObject content = contentList.getJSONObject(i);
             String spaceIdOne = content.getString("spaceIdOne");
@@ -125,8 +125,7 @@ public class RelationSpaceConnectionController {
      * @return 创建的结果信息
      */
     @PostMapping("/space-neighborhood-query")
-    public AdmResponse spaceNeighborhoodQuery(@RequestParam("projectId") String projectId,
-                                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse spaceNeighborhoodQuery(@RequestBody JSONObject param) throws Exception {
         //原接口传入一个filter进行过滤,不清楚具体参数前无法兼容该接口
         //TODO:
         return AdmResponse.failure("不支持该接口");
@@ -140,8 +139,7 @@ public class RelationSpaceConnectionController {
      * @return 删除的结果信息
      */
     @PostMapping("/delete")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONArray paramList) throws Exception {
+    public AdmResponse delete(@RequestBody JSONArray paramList) throws Exception {
         if (CollUtil.isEmpty(paramList)) {
             return AdmResponse.success();
         }
@@ -157,7 +155,7 @@ public class RelationSpaceConnectionController {
             }
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         for (int i = 0; i < paramList.size(); i++) {
             JSONObject param = paramList.getJSONObject(i);
             String spaceIdOne = param.getString("spaceIdOne");
@@ -197,8 +195,7 @@ public class RelationSpaceConnectionController {
      * @return 创建的结果信息
      */
     @PostMapping("/delete-floor")
-    public AdmResponse createSpshs(@RequestParam("projectId") String projectId,
-                                   @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createSpshs(@RequestBody JSONObject param) throws Exception {
         String graphType = param.getString("graphType");
         String relType = param.getString("relType");
         String zoneType = param.getString("zoneType");
@@ -206,10 +203,12 @@ public class RelationSpaceConnectionController {
         if (!StrUtil.isAllNotEmpty(graphType, relType, zoneType, floorId)) {
             return AdmResponse.failure("必填 graphType、floorId、ZoneType、relType");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        RequestData requestData = RequestData.builder().classCode(zoneType).floorId(floorId).projectId(projectId).objType(AdmDictCategoryEnum.SPACE.getValue()).build();
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
+        RequestData requestData = RequestData.builder().classCode(zoneType).floorId(floorId)
+                .projectId(context.getProjectId()).objType(AdmDictCategoryEnum.SPACE.getValue()).build();
         //关系查询空间id
-        List<ObjectDigital> objectDigitals = DigitalObjectFacade.queryObjectListSuperiorId(groupCode, projectId, AdmCommonConstant.APP_ID, null, requestData);
+        List<ObjectDigital> objectDigitals = DigitalObjectFacade.queryObjectListSuperiorId(context.getGroupCode(),
+                context.getProjectId(), AdmCommonConstant.APP_ID, context.getUserId(), requestData);
         //楼层、建筑、对象类查询的空间id
         Set<String> spaceIdSet = objectDigitals.stream().map(ObjectDigital::getId).collect(Collectors.toSet());
         HashMap<String, ObjectRelation> distinctMap = new HashMap<>(spaceIdSet.size());
@@ -253,6 +252,4 @@ public class RelationSpaceConnectionController {
         }
         return AdmResponse.success();
     }
-
-
 }

+ 24 - 24
src/main/java/com/persagy/proxy/adm/controller/RelationSyEqController.java

@@ -7,11 +7,12 @@ import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
@@ -42,18 +43,20 @@ public class RelationSyEqController {
      * @throws Exception
      */
     @PostMapping(value = {"/link-sy-eq","/link"})
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                                @RequestBody JSONObject param) throws Exception {
-        String equipId = param.getString("equipId");
+    public AdmResponse create(@RequestBody JSONObject param) throws Exception {
+        //String equipId = param.getString("equipId");
+        JSONArray equipIdList = param.getJSONArray("equipIdList");
         String sysID = param.getString("sysId");
-        if(!StrUtil.isAllNotEmpty(equipId,sysID)) {
-            return AdmResponse.failure("必填项:EquipID(设备id)、SysID(系统id)");
+        if(StringUtils.isEmpty(sysID) || CollUtil.isEmpty(equipIdList)) {
+            return AdmResponse.failure("必填项:EquipIdList(设备id列表)、SysID(系统id)");
         }
         // 创建关系对象
         List<RelationDTO> voList = new ArrayList<>();
-        voList.add(new RelationDTO(null, "MechSubset", "Sy2Eq", null, sysID , equipId));
+        equipIdList.forEach(item->{
+            voList.add(new RelationDTO(null, "MechSubset", "Sy2Eq", null, sysID , item.toString()));
+        });
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         return AdmResponse.success();
     }
@@ -66,13 +69,12 @@ public class RelationSyEqController {
      */
 
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse delete(@RequestBody JSONObject param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         String equipId = param.getString("equipId");
@@ -97,14 +99,13 @@ public class RelationSyEqController {
      * @return                  创建结果信息
      */
     @PostMapping("/link-eq")
-    public AdmResponse createBatchWithDeleteOldsysIdRelation(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject syEqList) throws Exception {
+    public AdmResponse createBatchWithDeleteOldsysIdRelation(@RequestBody JSONObject syEqList) throws Exception {
         JSONArray equipIdList = syEqList.getJSONArray("equipIdList");
         String sysId = syEqList.getString("sysId");
         if(StrUtil.isBlank(sysId) || CollUtil.isEmpty(equipIdList)) {
             return AdmResponse.failure("必填项:EquipIdList(设备id列表)、SysID(系统id)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context =AdmContextUtil.toDmpContext();
         QueryCriteria queryRequest = new QueryCriteria();
         ObjectNode node = JsonNodeFactory.instance.objectNode();
         node.put("graphCode", "MechSubset");
@@ -129,14 +130,13 @@ public class RelationSyEqController {
      * @return                  创建结果信息
      */
     @PostMapping("/link-sy")
-    public AdmResponse createDistinctEq(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createDistinctEq(@RequestBody JSONObject param) throws Exception {
         String equipId = param.getString("equipId");
-        String sysID = param.getString("sysId");
-        if(!StrUtil.isAllNotEmpty(equipId,sysID)) {
+        JSONArray sysIdList = param.getJSONArray("sysIdList");
+        if(StringUtils.isEmpty(equipId) || CollUtil.isEmpty(sysIdList)) {
             return AdmResponse.failure("必填项:EquipId(设备id)、sysIdList(系统id列表)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequest = new QueryCriteria();
         ObjectNode node = JsonNodeFactory.instance.objectNode();
         node.put("graphCode", "MechSubset");
@@ -146,26 +146,26 @@ public class RelationSyEqController {
         service.doDelete(context,queryRequest);
         // 创建关系对象
         List<RelationDTO> voList = new ArrayList<>();
-        voList.add(new RelationDTO(null, "MechSubset", "Sy2Eq", null, sysID , equipId));
+        sysIdList.forEach(item->{
+            voList.add(new RelationDTO(null, "MechSubset", "Sy2Eq", null, item.toString() , equipId));
+        });
         // 组装上下文条件
         service.doSave(context, voList);
         return AdmResponse.success();
     }
 
-
     /**
      * 根据对象删除系统和设备的关系
      *
      * @param   entytyList           根据对象删除系统和设备的关系
      * @return                  创建结果信息
      */
-    public AdmResponse deleteBatch(@RequestParam String projectId,
-                              @RequestBody JSONArray entytyList) throws Exception {
+    public AdmResponse deleteBatch(@RequestBody JSONArray entytyList) {
         if(CollUtil.isEmpty(entytyList)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         for (int i = 0; i < entytyList.size(); i++) {
             JSONObject entity = entytyList.getJSONObject(i);
             // 组装条件

+ 13 - 17
src/main/java/com/persagy/proxy/adm/controller/RelationSyForBdController.java

@@ -1,7 +1,6 @@
 package com.persagy.proxy.adm.controller;
 
 
-
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONArray;
@@ -10,15 +9,18 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
 import com.persagy.dmp.digital.entity.ObjectRelation;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.client.DmpRwdClient;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -54,8 +56,7 @@ public class RelationSyForBdController {
      * @throws Exception
      */
     @PostMapping(value = {"/link"})
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse create(@RequestBody JSONObject param) throws Exception {
         String sysId = param.getString("sysId");
         String buildingId = param.getString("buildingId");
         if(!StrUtil.isAllNotEmpty(buildingId,sysId)) {
@@ -64,9 +65,7 @@ public class RelationSyForBdController {
         // 创建关系对象
         List<RelationDTO> voList = new ArrayList<>();
         voList.add(new RelationDTO(null, DEFAULT_GRAPH_CODE, DEFAULT_REL_CODE, null, sysId , buildingId));
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -77,13 +76,12 @@ public class RelationSyForBdController {
      * @return                       删除的结果信息
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse delete(@RequestBody JSONObject param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         String sysId = param.getString("sysId");
@@ -108,15 +106,14 @@ public class RelationSyForBdController {
      * @return                       创建的结果信息
      */
     @PostMapping("/link-shsps")
-    public AdmResponse createBd(@RequestParam("projectId") String projectId,
-                                   @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createBd(@RequestBody JSONObject param) throws Exception {
         String sysId = param.getString("sysId");
         JSONArray buildingIdList = param.getJSONArray("buildingIdList");
         if(StrUtil.isBlank(sysId) || CollUtil.isEmpty(buildingIdList)) {
             return AdmResponse.failure("必填项:BuildingIdList(建筑id列表)、SysId(系统id),测方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequestTmp = new QueryCriteria();
         ObjectNode nodeTmp = JsonNodeFactory.instance.objectNode();
         nodeTmp.put("graphCode", DEFAULT_GRAPH_CODE);
@@ -155,15 +152,14 @@ public class RelationSyForBdController {
      * @return                       创建的结果信息
      */
     @PostMapping("/link-sy")
-    public AdmResponse createSy(@RequestParam("projectId") String projectId,
-                                @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createSy(@RequestBody JSONObject param) {
         String buildingId = param.getString("buildingId");
         JSONArray sysIdList = param.getJSONArray("sysIdList");
         if(StrUtil.isBlank(buildingId) || CollUtil.isEmpty(sysIdList)) {
             return AdmResponse.failure("必填项:sysIdList(系统id列表)、BuildingId(建筑id),测方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequestTmp = new QueryCriteria();
         ObjectNode nodeTmp = JsonNodeFactory.instance.objectNode();
         nodeTmp.put("graphCode", DEFAULT_GRAPH_CODE);

+ 13 - 14
src/main/java/com/persagy/proxy/adm/controller/RelationSyForFlController.java

@@ -8,15 +8,18 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
 import com.persagy.dmp.digital.entity.ObjectRelation;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.client.DmpRwdClient;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -54,8 +57,7 @@ public class RelationSyForFlController {
      * @throws Exception
      */
     @PostMapping(value = {"/link"})
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse create(@RequestBody JSONObject param) throws Exception {
         String sysId = param.getString("sysId");
         String floorId = param.getString("floorId");
         if(!StrUtil.isAllNotEmpty(floorId,sysId)) {
@@ -65,7 +67,7 @@ public class RelationSyForFlController {
         List<RelationDTO> voList = new ArrayList<>();
         voList.add(new RelationDTO(null, DEFAULT_GRAPH_CODE, DEFAULT_REL_CODE, null, sysId , floorId));
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         return AdmResponse.success();
     }
@@ -76,13 +78,12 @@ public class RelationSyForFlController {
      * @return                       删除的结果信息
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse delete(@RequestBody JSONObject param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         String sysId = param.getString("sysId");
@@ -106,15 +107,14 @@ public class RelationSyForFlController {
      * @return                       创建的结果信息
      */
     @PostMapping("/link-fl")
-    public AdmResponse createBd(@RequestParam("projectId") String projectId,
-                                @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createBd(@RequestBody JSONObject param) {
         String sysId = param.getString("sysId");
         JSONArray floorIdList = param.getJSONArray("floorIdList");
         if(StrUtil.isBlank(sysId) || CollUtil.isEmpty(floorIdList)) {
             return AdmResponse.failure("必填项:FloorIdList(楼层id列表)、SysId(系统id),测方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequestTmp = new QueryCriteria();
         ObjectNode nodeTmp = JsonNodeFactory.instance.objectNode();
         nodeTmp.put("graphCode", DEFAULT_GRAPH_CODE);
@@ -153,15 +153,14 @@ public class RelationSyForFlController {
      * @return                       创建的结果信息
      */
     @PostMapping("/link-sy")
-    public AdmResponse createSy(@RequestParam("projectId") String projectId,
-                                @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createSy(@RequestBody JSONObject param) throws Exception {
         String floorId = param.getString("floorId");
         JSONArray sysIdList = param.getJSONArray("sysIdList");
         if(StrUtil.isBlank(floorId) || CollUtil.isEmpty(sysIdList)) {
             return AdmResponse.failure("必填项:FloorId(楼层id)、sysIdList(系统id列表),测方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequestTmp = new QueryCriteria();
         ObjectNode nodeTmp = JsonNodeFactory.instance.objectNode();
         nodeTmp.put("graphCode", DEFAULT_GRAPH_CODE);

+ 13 - 14
src/main/java/com/persagy/proxy/adm/controller/RelationSyForShController.java

@@ -8,15 +8,18 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
 import com.persagy.dmp.digital.entity.ObjectRelation;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.client.DmpRwdClient;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -53,8 +56,7 @@ public class RelationSyForShController {
      * @throws Exception
      */
     @PostMapping(value = {"/link"})
-    public AdmResponse create(@RequestParam("projectId") String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse create(@RequestBody JSONObject param) throws Exception {
         String sysId = param.getString("sysId");
         String shaftId = param.getString("shaftId");
         if(!StrUtil.isAllNotEmpty(shaftId,sysId)) {
@@ -64,7 +66,7 @@ public class RelationSyForShController {
         List<RelationDTO> voList = new ArrayList<>();
         voList.add(new RelationDTO(null, DEFAULT_GRAPH_CODE, DEFAULT_REL_CODE, null, sysId , shaftId));
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         return AdmResponse.success();
     }
@@ -74,13 +76,12 @@ public class RelationSyForShController {
      * @return                       删除的结果信息
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam String projectId,
-                              @RequestBody JSONObject param) throws Exception {
+    public AdmResponse delete(@RequestBody JSONObject param) throws Exception {
         if(CollUtil.isEmpty(param)) {
             return AdmResponse.success();
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         // 组装条件
         QueryCriteria criteria = new QueryCriteria();
         String sysId = param.getString("sysId");
@@ -103,15 +104,14 @@ public class RelationSyForShController {
      * @return                       创建的结果信息
      */
     @PostMapping("/link-sh")
-    public AdmResponse createSh(@RequestParam("projectId") String projectId,
-                                @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createSh(@RequestBody JSONObject param) {
         String sysId = param.getString("sysId");
         JSONArray shaftIdList = param.getJSONArray("shaftIdList");
         if(StrUtil.isBlank(sysId) || CollUtil.isEmpty(shaftIdList)) {
             return AdmResponse.failure("必填项:ShaftIdList(竖井id列表)、SysId(系统id),测方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequestTmp = new QueryCriteria();
         ObjectNode nodeTmp = JsonNodeFactory.instance.objectNode();
         nodeTmp.put("graphCode", DEFAULT_GRAPH_CODE);
@@ -149,15 +149,14 @@ public class RelationSyForShController {
      * @return                       创建的结果信息
      */
     @PostMapping("/link-sy")
-    public AdmResponse createSy(@RequestParam("projectId") String projectId,
-                                @RequestBody JSONObject param) throws Exception {
+    public AdmResponse createSy(@RequestBody JSONObject param) throws Exception {
         String shaftId = param.getString("shaftId");
         JSONArray sysIdList = param.getJSONArray("sysIdList");
         if (StrUtil.isBlank(shaftId) || CollUtil.isEmpty(sysIdList)) {
             return AdmResponse.failure("必填项:ShaftId(竖井id)、sysIdList(系统id列表),测方法会覆盖以前的记录");
         }
         // 创建关系对象.先删除,后添加
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria queryRequestTmp = new QueryCriteria();
         ObjectNode nodeTmp = JsonNodeFactory.instance.objectNode();
         nodeTmp.put("graphCode", DEFAULT_GRAPH_CODE);

+ 18 - 36
src/main/java/com/persagy/proxy/adm/controller/RelationSyForSpController.java

@@ -1,20 +1,16 @@
 package com.persagy.proxy.adm.controller;
 
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
-import com.persagy.proxy.adm.model.AdmFloor;
-import com.persagy.proxy.adm.model.AdmRelationAddRequest;
-import com.persagy.proxy.adm.model.relation.*;
+import com.persagy.proxy.adm.model.relation.SpForSyBaseList;
+import com.persagy.proxy.adm.model.relation.SyForSpBase;
+import com.persagy.proxy.adm.model.relation.SyForSpBaseList;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import lombok.extern.slf4j.Slf4j;
@@ -22,14 +18,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
-import javax.annotation.Resource;
-import javax.ws.rs.QueryParam;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.List;
-import java.util.stream.Collectors;
 
 
 /**
@@ -56,14 +51,13 @@ public class RelationSyForSpController {
      * 创建系统服务于业务空间关系
      *
      * @param rSyForSpBase
-     * @param projectId
      * @return
      * @throws Exception
      */
 
     @PostMapping("/link")
-    public AdmResponse create(@RequestBody SyForSpBase rSyForSpBase, @RequestParam("projectId") String projectId) throws Exception {
-        log.info("创建系统服务于业务空间关系create方法开始参数projectId为{}", projectId);
+    public AdmResponse create(@RequestBody SyForSpBase rSyForSpBase) throws Exception {
+        log.info("创建系统服务于业务空间关系create方法开始参数projectId为{}");
         //系统Id
         String sysID = rSyForSpBase.getSysId();
         //业务空间Id
@@ -77,9 +71,7 @@ public class RelationSyForSpController {
         List<RelationDTO> voList = new ArrayList<>();
         RelationDTO relation = new RelationDTO(null, graphCode, relCode, rSyForSpBase.getObjectType(), sysID, spaceId);
         voList.add(relation);
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         log.info("创建系统服务于业务空间关系create方法结束");
         return AdmResponse.success();
     }
@@ -93,9 +85,9 @@ public class RelationSyForSpController {
      */
 
     @PostMapping("/link-sp")
-    public AdmResponse createSp(@RequestBody SyForSpBaseList syForSpBaseList, @RequestParam("projectId") String projectId) throws Exception {
+    public AdmResponse createSp(@RequestBody SyForSpBaseList syForSpBaseList) throws Exception {
         log.info("创建系统空间关系createSp开始");
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<String> spaceIdList = syForSpBaseList.getSpaceIdList();
         String sysId = syForSpBaseList.getSysId();
         List<RelationDTO> voList = new ArrayList<>();
@@ -120,15 +112,13 @@ public class RelationSyForSpController {
      * 服务于业务空间的系统,业务空间一对多
      *
      * @param spForSyBaseList
-     * @param projectId
      * @return
      * @throws Exception
      */
-
     @PostMapping("/link-sy")
-    public AdmResponse createSy(@RequestBody SpForSyBaseList spForSyBaseList, @RequestParam("projectId") String projectId) throws Exception {
+    public AdmResponse createSy(@RequestBody SpForSyBaseList spForSyBaseList) {
         log.info("创建系统空间关系业务空间一对多link-sy开始");
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         List<String> sysIdList = spForSyBaseList.getSysIdList();
         String spaceId = spForSyBaseList.getSpaceId();
         List<RelationDTO> voList = new ArrayList<>();
@@ -152,14 +142,12 @@ public class RelationSyForSpController {
 /**
      * 根据对象删除系统服务于业务空间关系,只针对一个对象
      * @param syForSpBase
-     * @param projectId
      * @return
      * @throws Exception
      */
-
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestBody SyForSpBase syForSpBase, @RequestParam("projectId") String projectId) throws Exception {
-        log.info("创建系统服务于业务空间关系create方法开始参数projectId为{}", projectId);
+    public AdmResponse delete(@RequestBody SyForSpBase syForSpBase) throws Exception {
+        log.info("创建系统服务于业务空间关系create方法开始参数projectId为{}");
         //系统Id
         String sysID = syForSpBase.getSysId();
         //业务空间Id
@@ -168,7 +156,7 @@ public class RelationSyForSpController {
             return AdmResponse.failure("必填项:sysID(系统id)、SpaceId(业务空间id)");
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         QueryCriteria criteria = new QueryCriteria();
         ObjectNode node = JsonNodeFactory.instance.objectNode();
         AdmRelationTypeEnum sy2spFor = AdmRelationTypeEnum.SY2SP_FOR;
@@ -184,11 +172,5 @@ public class RelationSyForSpController {
         log.info("创建系统服务于业务空间关系create方法结束");
         return AdmResponse.success();
     }
-
-
-
-
-
-
 }
 

+ 16 - 15
src/main/java/com/persagy/proxy/adm/controller/RelationSyInBdController.java

@@ -9,6 +9,7 @@ import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.model.relation.*;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import lombok.extern.slf4j.Slf4j;
@@ -45,8 +46,8 @@ public class RelationSyInBdController {
      * @throws Exception
      */
     @PostMapping("/link")
-    public AdmResponse create(@RequestBody SyInBd syInBd, @RequestParam("projectId") String projectId) throws Exception {
-        log.info("创建系统所在建筑关系create方法开始参数projectId为{}", projectId);
+    public AdmResponse create(@RequestBody SyInBd syInBd) throws Exception {
+        log.info("创建系统所在建筑关系create方法开始参数projectId为{}", AdmContextUtil.toDmpContext().getProjectId());
         //系统Id
         String sysID = syInBd.getSysId();
         //建筑Id
@@ -61,7 +62,7 @@ public class RelationSyInBdController {
         RelationDTO relation = new RelationDTO(null, graphCode, relCode, null, sysID, buildingId);
         voList.add(relation);
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         log.info("创建系统所在建筑create方法结束");
         return AdmResponse.success();
@@ -107,8 +108,8 @@ public class RelationSyInBdController {
      * @throws Exception
      */
     @PostMapping("/link-bd")
-    public AdmResponse createBd(@RequestBody SyInBdList syInFlList, @RequestParam("projectId") String projectId) throws Exception {
-        log.info("创建系统所在建筑关系createBD方法开始参数projectId为{}", projectId);
+    public AdmResponse createBd(@RequestBody SyInBdList syInFlList) throws Exception {
+        log.info("创建系统所在建筑关系createBD方法开始参数projectId为{}", AdmContextUtil.toDmpContext().getProjectId());
         //系统Id
         String sysID = syInFlList.getSysId();
         //楼层
@@ -125,7 +126,7 @@ public class RelationSyInBdController {
             voList.add(relation);
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         log.info("创建系统所在建筑关系createBD方法结束");
         return AdmResponse.success();
@@ -140,8 +141,8 @@ public class RelationSyInBdController {
      * @throws Exception
      */
     @PostMapping("/link-bd-sy")
-    public AdmResponse createSyBd(@RequestBody SyInBdList syInFlList, @RequestParam("projectId") String projectId) throws Exception {
-        log.info("创建系统所在建筑关系createSyBd方法开始参数projectId为{}", projectId);
+    public AdmResponse createSyBd(@RequestBody SyInBdList syInFlList) throws Exception {
+        log.info("创建系统所在建筑关系createSyBd方法开始参数projectId为{}", AdmContextUtil.toDmpContext().getProjectId());
         //系统Id
         String sysID = syInFlList.getSysId();
         //楼层
@@ -158,7 +159,7 @@ public class RelationSyInBdController {
             voList.add(relation);
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         log.info("创建系统所在建筑关系createSyBd方法结束");
         return AdmResponse.success();
@@ -173,8 +174,8 @@ public class RelationSyInBdController {
      * @throws Exception
      */
     @PostMapping("/link-sy")
-    public AdmResponse createSyBd(@RequestBody BdInSyList bdInSyList, @RequestParam("projectId") String projectId) throws Exception {
-        log.info("创建系统所在建筑关系createSyBd方法开始参数projectId为{}", projectId);
+    public AdmResponse createSyBd(@RequestBody BdInSyList bdInSyList) throws Exception {
+        log.info("创建系统所在建筑关系createSyBd方法开始参数projectId为{}", AdmContextUtil.toDmpContext().getProjectId());
         //建筑Id
         String buildingId = bdInSyList.getBuildingId();
         //系统
@@ -191,7 +192,7 @@ public class RelationSyInBdController {
             voList.add(relation);
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         log.info("创建系统所在建筑关系createSyBd方法结束");
         return AdmResponse.success();
@@ -207,8 +208,8 @@ public class RelationSyInBdController {
      * @throws Exception
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestBody SyInBd syInBd, @RequestParam("projectId") String projectId) throws Exception {
-        log.info("创建系统所在建筑关系delete方法开始参数projectId为{}", projectId);
+    public AdmResponse delete(@RequestBody SyInBd syInBd) throws Exception {
+        log.info("创建系统所在建筑关系delete方法开始参数projectId为{}", AdmContextUtil.toDmpContext().getProjectId());
         //系统Id
         String sysID = syInBd.getSysId();
         //建筑Id
@@ -230,7 +231,7 @@ public class RelationSyInBdController {
         node.put("objTo", buildingId);
         criteria.setCriteria(node);
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doDelete(context,criteria);
         log.info("创建系统服务于业务空间关系delete方法结束");
         return AdmResponse.success();

+ 17 - 14
src/main/java/com/persagy/proxy/adm/controller/RelationSyInFlController.java

@@ -12,6 +12,7 @@ import com.persagy.proxy.adm.model.relation.SyInFl;
 import com.persagy.proxy.adm.model.relation.SyInFlList;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import lombok.extern.slf4j.Slf4j;
@@ -47,7 +48,7 @@ public class RelationSyInFlController {
      * @throws Exception
      */
     @PostMapping("/link")
-    public AdmResponse create(@RequestBody SyInFl syInFl, @RequestParam("projectId") String projectId) throws Exception {
+    public AdmResponse create(@RequestBody SyInFl syInFl) throws Exception {
         //系统Id
         String sysID = syInFl.getSysId();
         //楼层Id
@@ -64,7 +65,7 @@ public class RelationSyInFlController {
         RelationDTO relation = new RelationDTO(null, graphCode, relCode, type, sysID, floorId);
         voList.add(relation);
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         return AdmResponse.success();
     }
@@ -78,14 +79,16 @@ public class RelationSyInFlController {
      * @throws Exception
      */
     @PostMapping("/link-fl")
-    public AdmResponse createSy(@RequestBody SyInFlList syInFlList, @RequestParam("projectId") String projectId) throws Exception {
-        log.info("创建系统所在楼层关系link-fl方法开始,参数projectId为{}", projectId);
+    public AdmResponse createSy(@RequestBody SyInFlList syInFlList) throws Exception {
+        log.info("创建系统所在楼层关系link-fl方法开始,参数projectId为{}", AdmContextUtil.toDmpContext().getProjectId());
         //系统Id
         String sysId = syInFlList.getSysId();
         //楼层Id
         List<String> floorIdList = syInFlList.getFloorIdList();
         if (StringUtils.isBlank(sysId) || CollectionUtils.isEmpty(floorIdList)) {
-            return AdmResponse.failure("必填项:sysId(系统id)、floorIdList(楼层Id)");
+            //return AdmResponse.failure("必填项:sysId(系统id)、floorIdList(楼层Id)");
+            //兼容adm历史逻辑,若楼层id为空时,返回success
+            return AdmResponse.success();
         }
         List<RelationDTO> voList = new ArrayList<>();
         AdmRelationTypeEnum sy2fl = AdmRelationTypeEnum.SY2FL;
@@ -96,7 +99,7 @@ public class RelationSyInFlController {
             voList.add(relation);
         }
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         log.info("创建系统所在楼层关系link-fl方法结束");
         return AdmResponse.success();
@@ -107,8 +110,8 @@ public class RelationSyInFlController {
      * 所在楼层的系统,楼层一对多系统
      */
     @PostMapping("/link-sy")
-    public AdmResponse createSy(@RequestBody FlInSyList flInSyList, @RequestParam("projectId") String projectId) {
-        log.info("创建系统所在楼层关系link-sy方法开始,参数projectId为{}", projectId);
+    public AdmResponse createSy(@RequestBody FlInSyList flInSyList) {
+        log.info("创建系统所在楼层关系link-sy方法开始,参数projectId为{}", AdmContextUtil.toDmpContext().getProjectId());
         String floorId = flInSyList.getFloorId();
         List<String> sysIdList = flInSyList.getSysIdList();
         if (StringUtils.isBlank(floorId) || CollectionUtils.isEmpty(sysIdList)) {
@@ -122,7 +125,7 @@ public class RelationSyInFlController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, null, sysId, floorId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         log.info("创建系统所在楼层关系link-sy方法结束");
         return AdmResponse.success();
@@ -133,8 +136,8 @@ public class RelationSyInFlController {
      * 系统所在楼层,系统一对多楼层,此方法不会覆盖
      */
     @PostMapping("/link-fl-sy")
-    public AdmResponse createSyFl(@RequestBody SyInFlList syInFlList, @RequestParam("projectId") String projectId) {
-        log.info("创建系统所在楼层关系link-fl-sy方法开始,参数projectId为{}", projectId);
+    public AdmResponse createSyFl(@RequestBody SyInFlList syInFlList) {
+        log.info("创建系统所在楼层关系link-fl-sy方法开始,参数projectId为{}", AdmContextUtil.toDmpContext().getProjectId());
         List<String> floorIdList = syInFlList.getFloorIdList();
         String sysId = syInFlList.getSysId();
         if (StringUtils.isBlank(sysId) || CollectionUtils.isEmpty(floorIdList)) {
@@ -148,7 +151,7 @@ public class RelationSyInFlController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, null, sysId, floorId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doSave(context, voList);
         log.info("创建系统所在楼层关系link-fl-sy方法结束");
         return AdmResponse.success();
@@ -160,7 +163,7 @@ public class RelationSyInFlController {
      * @return
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestBody SyInFl syInFl, @RequestParam("projectId") String projectId) {
+    public AdmResponse delete(@RequestBody SyInFl syInFl) {
         String floorId = syInFl.getFloorId();
         String sysId = syInFl.getSysId();
         AdmRelationTypeEnum sy2fl = AdmRelationTypeEnum.SY2FL;
@@ -176,7 +179,7 @@ public class RelationSyInFlController {
         QueryCriteria criteria = new QueryCriteria();
         criteria.setCriteria(node);
         // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         service.doDelete(context,criteria);
         return AdmResponse.success();
     }

+ 18 - 20
src/main/java/com/persagy/proxy/adm/controller/RelationSyInShController.java

@@ -6,20 +6,23 @@ import com.alibaba.excel.util.CollectionUtils;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.model.relation.ShInSyList;
 import com.persagy.proxy.adm.model.relation.SyInSh;
 import com.persagy.proxy.adm.model.relation.SyInShList;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -46,7 +49,7 @@ public class RelationSyInShController {
      * @return project 创建的结果信息
      */
     @PostMapping(value = "/link")
-    public AdmResponse create(@RequestBody SyInSh syInSh, @RequestParam("projectId") String projectId) {
+    public AdmResponse create(@RequestBody SyInSh syInSh) {
         //系统Id
         String sysID = syInSh.getSysId();
         //楼层Id
@@ -62,9 +65,7 @@ public class RelationSyInShController {
         String relCode = typeEnum.getRelCode();
         RelationDTO relation = new RelationDTO(null, graphCode, relCode, type, sysID, shaftId);
         voList.add(relation);
-        // 组装上下文条件
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -76,7 +77,7 @@ public class RelationSyInShController {
      * @return
      */
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestBody SyInSh syInSh, @RequestParam("projectId") String projectId) {
+    public AdmResponse delete(@RequestBody SyInSh syInSh) {
         String sysID = syInSh.getSysId();
         //楼层Id
         String shaftId = syInSh.getShaftId();
@@ -96,8 +97,7 @@ public class RelationSyInShController {
         node.put("objTo", shaftId);
         QueryCriteria criteria = new QueryCriteria();
         criteria.setCriteria(node);
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doDelete(context, criteria);
+        service.doDelete(AdmContextUtil.toDmpContext(), criteria);
         return AdmResponse.success();
     }
 
@@ -109,14 +109,14 @@ public class RelationSyInShController {
      * @return 创建的结果信息
      */
     @PostMapping(value = "/link-sh")
-    public AdmResponse createSh(@RequestBody SyInShList syInShList, @RequestParam("projectId") String projectId) {
+    public AdmResponse createSh(@RequestBody SyInShList syInShList) {
         String sysId = syInShList.getSysId();
         List<String> shaftIdList = syInShList.getShaftIdList();
         if (StringUtils.isBlank(sysId) || CollectionUtils.isEmpty(shaftIdList)) {
             return AdmResponse.failure("必填项:sysId(系统sysId不能为空)、shaftIdList(竖井Id不能为空)");
         }
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.SY2SH;
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         deleteBySysId(typeEnum,sysId,context);
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
@@ -153,7 +153,7 @@ public class RelationSyInShController {
      * @return               创建的结果信息
      */
     @PostMapping(value = "/link-sy")
-    public AdmResponse createSy(@RequestBody ShInSyList shInSyList,@RequestParam("projectId") String projectId){
+    public AdmResponse createSy(@RequestBody ShInSyList shInSyList){
         List<String> sysIdList = shInSyList.getSysIdList();
         String shaftId = shInSyList.getShaftId();
         if (StringUtils.isBlank(shaftId) || CollectionUtils.isEmpty(sysIdList)) {
@@ -161,7 +161,7 @@ public class RelationSyInShController {
         }
         //先删除以前竖井
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.SY2SH;
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         deleteByShaftId(shaftId,typeEnum,context);
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
@@ -195,7 +195,7 @@ public class RelationSyInShController {
      * @return               创建的结果信息
      */
     @PostMapping("/link-sy-sh")
-    public AdmResponse createSySh(@RequestBody ShInSyList shInSyList,@RequestParam("projectId") String projectId){
+    public AdmResponse createSySh(@RequestBody ShInSyList shInSyList){
         String shaftId = shInSyList.getShaftId();
         List<String> sysIdList = shInSyList.getSysIdList();
         if (StringUtils.isBlank(shaftId) || CollectionUtils.isEmpty(sysIdList)) {
@@ -209,9 +209,8 @@ public class RelationSyInShController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, null, sysId, shaftId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
-        return   AdmResponse.success();
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
+        return AdmResponse.success();
     }
 
     /**
@@ -221,7 +220,7 @@ public class RelationSyInShController {
      * @return              创建的结果信息
      */
     @PostMapping("/link-sy-shs")
-    public AdmResponse createSyShs(@RequestBody  SyInShList syInShList,@RequestParam("projectId") String projectId ){
+    public AdmResponse createSyShs(@RequestBody  SyInShList syInShList){
         String sysId = syInShList.getSysId();
         List<String> shaftIdList = syInShList.getShaftIdList();
         if (StringUtils.isBlank(sysId) || CollectionUtils.isEmpty(shaftIdList)) {
@@ -235,8 +234,7 @@ public class RelationSyInShController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, null, sysId, shaftId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 }

+ 16 - 14
src/main/java/com/persagy/proxy/adm/controller/RelationSyInSpController.java

@@ -8,19 +8,24 @@ import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
-import com.persagy.proxy.adm.model.relation.*;
+import com.persagy.proxy.adm.model.relation.SpInSyBaseList;
+import com.persagy.proxy.adm.model.relation.SyInSpBase;
+import com.persagy.proxy.adm.model.relation.SyInSpBaseList;
 import com.persagy.proxy.adm.request.AdmCreateRequest;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -41,7 +46,7 @@ public class RelationSyInSpController {
     private String groupCode;
 
     @PostMapping("/link-list")
-    public AdmResponse create(@RequestBody AdmCreateRequest<SyInSpBase> syInSpBase, @RequestParam("projectId") String projectId) {
+    public AdmResponse create(@RequestBody AdmCreateRequest<SyInSpBase> syInSpBase) {
         List<SyInSpBase> syInSpBases = syInSpBase.getContent();
         List<RelationDTO> voList = new ArrayList<>();
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.SY2SP;
@@ -57,8 +62,7 @@ public class RelationSyInSpController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, objectType, sysId, spaceId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -66,7 +70,7 @@ public class RelationSyInSpController {
      * 处理所有空间分区和系统关系 系统所在的业务空间关系,空间分区一对多,累计叠加,不覆盖
      */
     @PostMapping(value = "/link-sp-sys")
-    public AdmResponse createsSpSys( @RequestBody JSONObject param ,  @RequestParam("projectId") String projectId) {
+    public AdmResponse createsSpSys( @RequestBody JSONObject param) {
         JSONObject rSyIn = param.getJSONObject("rSyInSpBase");
         String type = param.getString("type");
         SpInSyBaseList rSyInSpBase = JSON.toJavaObject(rSyIn, SpInSyBaseList.class);
@@ -83,8 +87,7 @@ public class RelationSyInSpController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, type, sysId, spaceId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -96,7 +99,7 @@ public class RelationSyInSpController {
      * @return 创建的结果信息
      */
     @PostMapping(value = "/link-sy-sps")
-    public AdmResponse createSySps( @RequestBody JSONObject param, @RequestParam("projectId") String projectId) {
+    public AdmResponse createSySps( @RequestBody JSONObject param) {
         JSONObject rSyIn = param.getJSONObject("rSyInSpBase");
         String type = param.getString("type");
         SyInSpBaseList  syInSpBaseList= JSON.toJavaObject(rSyIn, SyInSpBaseList.class);
@@ -113,8 +116,7 @@ public class RelationSyInSpController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, type, sysId, spaceId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
@@ -125,7 +127,7 @@ public class RelationSyInSpController {
      * @return 删除的结果信息
      */
     @PostMapping("/unlink-list")
-    public AdmResponse delete(@RequestBody JSONObject param, @RequestParam("projectId") String projectId) {
+    public AdmResponse delete(@RequestBody JSONObject param) {
         JSONArray jsonArray = param.getJSONArray("rSyInSpBase");
         List<SyInSpBase> syInSpBases = JSONArray.parseArray(jsonArray.toJSONString(),SyInSpBase.class);
         String type = param.getString("type");
@@ -153,7 +155,7 @@ public class RelationSyInSpController {
             criteria.setCriteria(node);
             queryCriteriaList.add(criteria);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         for (QueryCriteria queryCriteria : queryCriteriaList) {
             //问题:如何调用一次接口,如何保证一起成功
             service.doDelete(context, queryCriteria);

+ 9 - 10
src/main/java/com/persagy/proxy/adm/controller/RelationTnInSpController.java

@@ -4,13 +4,13 @@ import cn.hutool.core.util.StrUtil;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.model.QueryCriteria;
-import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.model.relation.TnInSpBase;
 import com.persagy.proxy.adm.model.relation.TnInSpBaseList;
 import com.persagy.proxy.adm.request.AdmCreateRequest;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import com.persagy.proxy.common.entity.RelationDTO;
 import lombok.extern.slf4j.Slf4j;
@@ -45,7 +45,7 @@ public class RelationTnInSpController {
      * @return 创建的结果信息
      */
     @PostMapping("/link")
-    public AdmResponse create( @RequestBody AdmCreateRequest<TnInSpBase> tnInSpBase,@RequestParam("projectId") String projectId) {
+    public AdmResponse create( @RequestBody AdmCreateRequest<TnInSpBase> tnInSpBase) {
         List<TnInSpBase> content = tnInSpBase.getContent();
         if(CollectionUtils.isEmpty(content)){
             return AdmResponse.failure("content不能为空");
@@ -64,14 +64,14 @@ public class RelationTnInSpController {
             RelationDTO relation = new RelationDTO(null, graphCode, relCode, objectType, tenantId, spaceId);
             voList.add(relation);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
-        service.doSave(context, voList);
+        service.doSave(AdmContextUtil.toDmpContext(), voList);
         return AdmResponse.success();
     }
 
 
     @PostMapping("/unlink")
-    public AdmResponse delete(@RequestParam(value = "type",required = false) String type,@RequestBody List<TnInSpBase> tnInSpBases,@RequestParam("projectId") String projectId) {
+    public AdmResponse delete(@RequestParam(value = "type",required = false) String type,
+                              @RequestBody List<TnInSpBase> tnInSpBases) {
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.TN2SP;
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
@@ -95,7 +95,7 @@ public class RelationTnInSpController {
             criteria.setCriteria(node);
             queryCriteriaList.add(criteria);
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         for (QueryCriteria queryCriteria : queryCriteriaList) {
             //问题:如何调用一次接口,如何保证一起成功
             service.doDelete(context, queryCriteria);
@@ -110,13 +110,14 @@ public class RelationTnInSpController {
      * @return                  创建的结果信息
      */
     @PostMapping("/link-sp")
-    public AdmResponse createSp(@RequestParam(value = "type",required = false) String type, @RequestBody TnInSpBaseList tnInSpBaseList,@RequestParam("projectId") String projectId) {
+    public AdmResponse createSp(@RequestParam(value = "type",required = false) String type,
+                                @RequestBody TnInSpBaseList tnInSpBaseList) {
         List<String> spaceIdList = tnInSpBaseList.getSpaceIdList();
         String tenantId = tnInSpBaseList.getTenantId();
         if(CollectionUtils.isEmpty(spaceIdList)||StrUtil.isBlank(tenantId)){
             return AdmResponse.failure("必填项:tenantId(租户Id)、spaceIdList(空间id)");
         }
-        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        InstanceUrlParam context = AdmContextUtil.toDmpContext();
         AdmRelationTypeEnum typeEnum = AdmRelationTypeEnum.TN2SP;
         String graphCode = typeEnum.getGraphCode();
         String relCode = typeEnum.getRelCode();
@@ -142,6 +143,4 @@ public class RelationTnInSpController {
         criteria.setCriteria(node);
         service.doDelete(context, criteria);
     }
-
-
 }

+ 1 - 1
src/main/java/com/persagy/proxy/adm/model/AdmBuilding.java

@@ -38,5 +38,5 @@ public class AdmBuilding extends AdmSBaseEntity<AdmBuilding>{
     private List<AdmFloor> floor;
 
     /** 建筑类型code */
-    private String classCode;
+    private String classCode = OBJ_TYPE;
 }

+ 0 - 28
src/main/java/com/persagy/proxy/adm/model/AdmBuildingFloorInfo.java

@@ -1,28 +0,0 @@
-package com.persagy.proxy.adm.model;
-
-import com.alibaba.fastjson.annotation.JSONField;
-import lombok.Data;
-
-/**
- *  建筑楼层信息
- * @author lvxy
- * @date 2021/8/17
- */
-@Data
-public class AdmBuildingFloorInfo {
-    /** 建筑体ID */
-    @JSONField(name = "BuildID")
-    private String buildID;
-
-    /** 建筑体名称 */
-    @JSONField(name = "BuildName")
-    private String buildName;
-
-    /** 楼层ID */
-    @JSONField(name = "FloorID")
-    private String floorID;
-
-    /** 楼层名称 */
-    @JSONField(name = "FloorName")
-    private String floorName;
-}

+ 1 - 1
src/main/java/com/persagy/proxy/adm/model/AdmFloor.java

@@ -71,7 +71,7 @@ public class AdmFloor extends AdmSBaseEntity<AdmFloor>{
     /** 对象类型 */
     private String objectType = OBJ_TYPE;
     /** 楼层类型code */
-    private String classCode;
+    private String classCode = OBJ_TYPE;
 
 
     /** 空间列表 非中台信息*/

+ 1 - 1
src/main/java/com/persagy/proxy/adm/model/AdmProperty.java

@@ -54,7 +54,7 @@ public class AdmProperty {
     /** 信息点 */
     private Map<String, Object> infos;
     /** 对象类型 */
-    private String objectType;
+    private String objectType = OBJ_TYPE;
     /** 位置信息 */
     private String position;
     /** 贴码状态 */

+ 1 - 1
src/main/java/com/persagy/proxy/adm/model/AdmShaft.java

@@ -62,5 +62,5 @@ public class AdmShaft extends AdmSBaseEntity<AdmShaft>{
     private List<AdmSpace> spaceList;
 
     /** 对象类型code */
-    private String classCode;
+    private String classCode = OBJ_TYPE;
 }

+ 2 - 1
src/main/java/com/persagy/proxy/adm/model/AdmSystem.java

@@ -1,5 +1,6 @@
 package com.persagy.proxy.adm.model;
 
+import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.proxy.adm.annotations.CascadeColumn;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -58,7 +59,7 @@ public class AdmSystem extends AdmSBaseEntity<AdmSystem> {
     @CascadeColumn(graphCode = "MechInArch", relCode = "Sy2Bd")
     private List<AdmBuilding> buildingList;
     /** 建筑楼层 */
-    private List<AdmBuildingFloorInfo> buildingFloorInfoList;
+    private List<ObjectNode> buildingFloorInfoList;
 
     /** 供展示使用,并非实体中的字段 **/
     /** 设备id*/

+ 6 - 5
src/main/java/com/persagy/proxy/adm/request/AdmResponse.java

@@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -36,15 +37,15 @@ public class AdmResponse {
     private List<?> content;
 
     public static AdmResponse success() {
-        return new AdmResponse(SUCCESS, "", 0L,null, 1, 500, null);
+        return new AdmResponse(SUCCESS, "", 0L,null, 1, 500, new ArrayList<>(1));
     }
 
     public static AdmResponse failure(String message) {
-        return new AdmResponse(FAILURE, message, null, null, null, null, null);
+        return new AdmResponse(FAILURE, message, null, null, null, null, new ArrayList<>(1));
     }
 
     public static AdmResponse success(List<?> content) {
-        return new AdmResponse(SUCCESS, "", CollUtil.isEmpty(content) ? 0L :content.size()*1L,null, 1, 500, content);
+        return new AdmResponse(SUCCESS, "", CollUtil.isEmpty(content) ? 0L :content.size()*1L,null, 1, 500, CollUtil.isEmpty(content) ? new ArrayList<>(1): content);
     }
 
     /**
@@ -65,9 +66,9 @@ public class AdmResponse {
         Integer pageNo = admRequest == null ? null : admRequest.getPageNumber();
         Integer pageSize = admRequest == null ? null : admRequest.getPageSize();
         if(admRequest.isOnlyCount()){
-            return new AdmResponse(SUCCESS, null, null,total, pageNo, pageSize, admVOs);
+            return new AdmResponse(SUCCESS, null, null,total, pageNo, pageSize, CollUtil.isEmpty(admVOs) ? new ArrayList<>(1) : admVOs);
         }else {
-            return new AdmResponse(SUCCESS, null, total,null, pageNo, pageSize, admVOs);
+            return new AdmResponse(SUCCESS, null, total,null, pageNo, pageSize, CollUtil.isEmpty(admVOs) ? new ArrayList<>(1) : admVOs);
         }
     }
 }

+ 19 - 0
src/main/java/com/persagy/proxy/adm/service/IRelationReportService.java

@@ -139,6 +139,25 @@ public interface IRelationReportService {
 	 * @return
 	 */
 	List<ObjectRelation> findObjectRelationList(String groupCode, String projectId, String graphCode, String relCode);
+
+	/**
+	 * 查询关系总览(空表,先插入)
+	 * 
+	 * @param groupCode
+	 * @param projectId
+	 * @param content
+	 */
+	void overview(String groupCode, String projectId, String content);
+	
+	/**
+	 * 初始化项目关系计算数据
+	 * 
+	 * @param groupCode
+	 * @param projectId
+	 * @param content
+	 * @return
+	 */
+	boolean createRelationProjectCal(String groupCode, String projectId);
 	
 	/**
 	 * 查询出所有的关系信息

+ 10 - 5
src/main/java/com/persagy/proxy/adm/service/impl/AbstractAdmBaseServiceImpl.java

@@ -97,6 +97,10 @@ public class AbstractAdmBaseServiceImpl<T> implements IAdmBaseService<T> {
         Map<String, Object> voMap = CollUtil.fieldValueMap(admVOs, BaseEntity.PROP_ID);
         Object simpleVO = admVOs.get(0);
         for(AdmQueryCriteria cascade:cascades) {
+            if(StrUtil.isBlank(cascade.getName())){
+                //处理 级联查询参数name首字母大写cascade": [ {"Name": "property"}]
+                continue;
+            }
             // 获取关联对象的Class
             Field casField = ReflectUtil.getField(simpleVO.getClass(), cascade.getName());
             CascadeColumn annotationInfo = casField.getAnnotation(CascadeColumn.class);
@@ -395,11 +399,12 @@ public class AbstractAdmBaseServiceImpl<T> implements IAdmBaseService<T> {
         }
         // 调用中台查询
         DmpResult<JSONArray> dmpResult = rwdClient.queryObject(context, para);
-        JSONArray data = dmpResult.getData();
-        List<T> admVOs = new ArrayList<>();
-        if(CollUtil.isNotEmpty(data)){
-            admVOs = data.toJavaList(clazz);
-        }
+        List<T> admVOs = AdmEntityTransferUtil.toAdmMultiEntity(dmpResult.getData(), null, clazz);
+//        JSONArray data = dmpResult.getData();
+//        List<T> admVOs = new ArrayList<>();
+//        if(CollUtil.isNotEmpty(data)){
+//            admVOs = data.toJavaList(clazz);
+//        }
         // 设置返回值
         AdmResponse response = AdmResponse.success(admVOs);
         Long total = dmpResult.getCount() == null ? null : dmpResult.getCount().longValue();

+ 3 - 2
src/main/java/com/persagy/proxy/adm/service/impl/AbstractAdmDictBaseServiceImpl.java

@@ -209,11 +209,12 @@ public class AbstractAdmDictBaseServiceImpl<T> implements IAdmDictBaseService<T>
 
             //信息点是否可见
             if(admVO.getVisible() == null){
-                if("localName".equals(admVO.getCode()) || "localId".equals(admVO.getCode())){
+                /*if("localName".equals(admVO.getCode()) || "localId".equals(admVO.getCode())){
                     admVO.setVisible(true);
                 }else{
                     admVO.setVisible(false);
-                }
+                }*/
+                admVO.setVisible(true);
             }
             //信息点是否可编辑
             if(admVO.getEditable() == null){

+ 1 - 7
src/main/java/com/persagy/proxy/adm/service/impl/AdmEquipmentServiceImpl.java

@@ -127,17 +127,11 @@ public class AdmEquipmentServiceImpl extends AbstractAdmBaseServiceImpl<AdmEquip
 
     @Override
     public List<AdmEquipment> doInsertExt(InstanceUrlParam context, Class<AdmEquipment> clazz, List<AdmEquipment> voList) {
-
-        //创建设备
         List<AdmEquipment> vos = doInsert(context, AdmEquipment.class, voList);
         //TODO 创建资产
         //TODO 创建设备和系统关系 systemList
-        return null;
+        return vos;
     }
-
-
-
-
     private DmpResult<List<ObjRelationDTO>> queryRelation(InstanceUrlParam context, Map<String, AdmEquipment> voMap){
         QueryCriteria dmpRequest = new QueryCriteria();
         ObjectNode criteria = JsonNodeFactory.instance.objectNode();

+ 198 - 0
src/main/java/com/persagy/proxy/adm/service/impl/RelationReportService.java

@@ -1,12 +1,18 @@
 package com.persagy.proxy.adm.service.impl;
 
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.google.common.collect.Lists;
@@ -22,6 +28,7 @@ import com.persagy.dmp.digital.client.DigitalObjectFacade;
 import com.persagy.dmp.digital.client.DigitalRelationFacade;
 import com.persagy.dmp.digital.client.DigitalRelationProjectCalFacade;
 import com.persagy.dmp.digital.entity.ObjectRelation;
+import com.persagy.dmp.digital.entity.ObjectRelationProjectCal;
 import com.persagy.dmp.simple.client.DigitalObjectSimpleFacade;
 import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
@@ -30,6 +37,8 @@ import com.persagy.proxy.adm.service.IRelationReportService;
 import com.persagy.proxy.adm.strategy.relationdata.RelationObjectStrategy;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import net.minidev.json.JSONObject;
 
@@ -258,5 +267,194 @@ public class RelationReportService implements IRelationReportService {
 		List<ObjectRelation> objectRelations = DigitalRelationFacade.query(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, queryCriteria);
 		return CollectionUtil.isEmpty(objectRelations) ? Lists.newArrayList() : objectRelations;
 	}
+
+	@Override
+	public boolean createRelationProjectCal(String groupCode, String projectId) {
+		groupCode = StrUtil.isBlank(groupCode) ? defaultCode : groupCode;
+		
+		// 验证是否已经添加过
+		QueryCriteria queryCriteria = new QueryCriteria();
+		queryCriteria.setOnlyCount(true);
+		CommonResult<List<ObjectNode>> prototype = DigitalRelationProjectCalFacade.queryPrototype(groupCode, null, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, queryCriteria);
+		if (prototype != null && prototype.getCount() != 0) {
+			return true;
+		}
+		
+		// 获取所有的边类型
+		QueryCriteria criteria = new QueryCriteria();
+		List<RelationDefine> list = DigitalRelationDefineFacade.query(groupCode, null, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, criteria);
+		if (CollectionUtil.isEmpty(list)) {
+			return true;
+		}
+		
+		// 组装关系计算数据
+		String now = DateUtil.format(new Date(), "yyyyMMddHHmmss");
+		List<ObjectNode> nodes = new ArrayList<ObjectNode>();
+		ObjectMapper objectMapper = SpringHelper.getBean(ObjectMapper.class);
+		for (RelationDefine relationDefine : list) {
+			ObjectNode objectNode = objectMapper.createObjectNode();
+			
+			String key = relationDefine.getGraphCode() + AdmCommonConstant.UNDERLINE + relationDefine.getCode();
+			AdmRelationTypeEnum typeEnum = AdmCommonConstant.GRAPH_RELATION_TYPE_MAP.get(key);
+			
+			// 缺少业务分区类型
+			
+			objectNode.put("projectId", projectId);
+			objectNode.put("id", IdUtil.fastSimpleUUID());
+			objectNode.put("graphCode", relationDefine.getGraphCode());
+			objectNode.put("name", relationDefine.getName());
+			objectNode.put("relCode", relationDefine.getCode());
+			objectNode.put("sourceFlag", typeEnum == null ? null : typeEnum.getSourceFlag());	// 是否需要配置源末端
+			objectNode.put("automaticFlag", relationDefine.getAutomaticFlag());	// 是否自动计算类型
+			objectNode.put("manual", typeEnum == null ? null : typeEnum.getManualFlag());	// 手动计算类型 1 禁用  2提示引导 3手动维护
+			//objectNode.put("computingTime", relationDefine.getGraphCode());	// 最后一次自动计算时间
+			objectNode.put("computationalState", 1);	// 计算状态 1初始状态 2需要计算 3计算中 4等待中 5计算失败(如果处于计算中状态,则不再次调用)
+			//objectNode.put("zoneType", relationDefine.getGraphCode());	// 业务分区类型
+			objectNode.put("systemType", typeEnum == null ? null : typeEnum.getSystemType());	// 风系统1,水系统0
+			objectNode.put("relManualType", typeEnum.getRelationType());	// 手动计算关系类型
+			//objectNode.put("computeVersion", relationDefine.getGraphCode());	// 计算版本
+			objectNode.put("creator", AdmCommonConstant.USER_ID);	// 创建人
+			objectNode.put("creationTime", now);	// 创建时间
+			objectNode.put("modifier", AdmCommonConstant.USER_ID);	// 最后修改人
+			objectNode.put("modifiedTime", now);	// 最后修改时间
+			//objectNode.put("valid", relationDefine.getGraphCode());	// 合法标识
+		}
+		
+		List<ObjectRelationProjectCal> result = DigitalRelationProjectCalFacade.create(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, nodes);
+		return CollectionUtil.isNotEmpty(result);
+	}
+
+	@Override
+	public void overview(String groupCode, String projectId, String content) {
+		JSONObject result = new JSONObject();
+		
+		if (StrUtil.isBlank(content)) {
+			this.createRelationProjectCal(groupCode, projectId);
+		}
+		
+		List<JSONObject> parentList = new ArrayList<JSONObject>();
+		
+		// 获取树结构
+		this.getGraphRelationProjectTree(parentList, groupCode, projectId, content);
+		
+		result.put("content", parentList);
+		result.put("message", "");
+		result.put("pageNumber", 1);
+		result.put("pageSize", 1000);
+		result.put("result", "success");
+		result.put("total", parentList.size());
+	}
+	
+	/**
+	 * 获取图类型下的边类型的项目计算关系数据,并形成三级树结构
+	 * 
+	 * @param parentList
+	 * @param groupCode
+	 * @param projectId
+	 * @param content
+	 */
+	private void getGraphRelationProjectTree(List<JSONObject> parentList, String groupCode, String projectId, String content) {
+		boolean isQuery = StringUtils.isNotBlank(content);
+		// 获取所有的一级图类型定义
+		QueryCriteria parentCriteria = new QueryCriteria();
+		List<GraphDefine> topList = DigitalGraphDefineFacade.query(groupCode, null, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, parentCriteria);
+		for (int i = topList.size() - 1; i >= 0; i--) {
+			// 获取所有的二级图类型定义
+			QueryCriteria childCriteria = new QueryCriteria();
+			List<GraphDefine> childList = DigitalGraphDefineFacade.query(groupCode, null, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, childCriteria);
+			if (CollectionUtil.isEmpty(childList)) {
+				if (isQuery) {
+					topList.remove(i);		//移除
+				}
+				continue;
+			}
+			
+			GraphDefine topGraph = topList.get(i);
+			JSONObject parent = this.transfer(topGraph);
+			
+			// 二级数据封装
+			for (int j = childList.size() - 1; j >= 0; j--) {
+				GraphDefine childGraph = topList.get(i);
+				JSONObject child = this.transfer(childGraph);
+				
+				// 查询出对应项目关系计算数据
+				QueryCriteria projectCriteria = new QueryCriteria();
+				ObjectMapper objectMapper = SpringHelper.getBean(ObjectMapper.class);
+				ObjectNode criteria = objectMapper.createObjectNode();
+				criteria.put("projectId", projectId);
+				if (isQuery) {
+					ObjectNode condition = objectMapper.createObjectNode();
+					condition.put("$like", content);
+					criteria.putPOJO("name", condition); // 模糊查询
+				}
+				projectCriteria.setCriteria(criteria);
+				projectCriteria.setOrders(Arrays.asList(OrderItem.asc("relCode")));
+				List<ObjectNode> projectList = DigitalRelationProjectCalFacade.query(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, projectCriteria);
+				if (CollectionUtil.isEmpty(projectList)) {
+					if (isQuery) {
+						childList.remove(i);		//移除
+					}
+					continue;
+				}
+				
+				// 三级数据封装
+				for (ObjectNode objectNode : projectList) {
+					this.transfer(objectNode, childGraph.getId());
+				}
+				child.put("relationTypeProjectList", projectList);
+			}
+			
+			// 再判断一次,防止当二级有数据但被清除了的情况下,一级还会存在
+			if (isQuery && CollectionUtil.isEmpty(childList)) {
+				childList.remove(i);		//移除
+				continue;
+			}
+			
+			parent.put("childGraphicTypeList", childList);
+		}
+	}
+	
+	/**
+	 * 获取转换后的数据,图类型数据转换
+	 * 
+	 * @param graphDefine
+	 * @return
+	 */
+	private JSONObject transfer(GraphDefine graphDefine) {
+		JSONObject top = new JSONObject();
+		top.put("sort", 1);
+		top.put("note", "");
+		top.put("statistics", Lists.newArrayList());
+		top.put("graphTypeName", graphDefine.getName());
+		top.put("graphTypeId", graphDefine.getId());
+		top.put("graphTypeCode", graphDefine.getCode());
+		top.put("lastUpdate", graphDefine.getModifiedTime() == null ? null : graphDefine.getModifiedTime().toString(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+		top.put("createTime", graphDefine.getCreationTime() == null ? null : graphDefine.getCreationTime().toString(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+		return top;
+	}
+	
+	/**
+	 * 获取转换后的数据,项目计算数据转换
+	 * 
+	 * @param relationProject
+	 * @return
+	 */
+	private void transfer(ObjectNode relationProject, String graphicId) {
+		String relCode = relationProject.get("relCode") == null ? null : relationProject.get("relCode").asText();
+		
+		relationProject.put("graphicId", graphicId);
+		relationProject.putPOJO("statistics", Lists.newArrayList());
+		relationProject.put("automatic", "1".equals(relationProject.get("automaticFlag") == null ? null : relationProject.get("automaticFlag").asText()));
+		relationProject.put("source", "1".equals(relationProject.get("sourceFlag") == null ? null : relationProject.get("sourceFlag").asText()));
+		relationProject.put("conneObject", ObjTypeMapping.getConneObject(relCode));
+		
+		String modifiedTime = relationProject.get("modifiedTime") == null ? null : relationProject.get("modifiedTime").asText();
+		modifiedTime = modifiedTime == null ? null : DateUtil.parse(modifiedTime, "yyyyMMddHHmmss").toString();
+		String creationTime = relationProject.get("creationTime") == null ? null : relationProject.get("creationTime").asText();
+		creationTime = creationTime == null ? null : DateUtil.parse(creationTime, "yyyyMMddHHmmss").toString();
+		
+		relationProject.put("lastUpdate", modifiedTime);
+		relationProject.put("createTime", creationTime);
+	}
 	
 }

+ 7 - 2
src/main/java/com/persagy/proxy/adm/utils/AdmQueryCriteriaHelper.java

@@ -61,10 +61,15 @@ public class AdmQueryCriteriaHelper {
         // 拷贝分页
         copyPageInfo(admCriteria, dmpCriteria);
         // 处理filters
-        dmpCriteria.setCriteria(toCriteria(admCriteria.getName(), admCriteria.getFilters()));
+        ObjectNode criteria = toCriteria(admCriteria.getName(), admCriteria.getFilters());
+        dmpCriteria.setCriteria(criteria);
         if(StrUtil.isNotEmpty(admCriteria.getName())){
             // 处理name
-            dmpCriteria.getCriteria().put("objType", admCriteria.getName());
+            criteria.put("objType", admCriteria.getName());
+        }
+        // 补充valid = 1
+        if(!criteria.has("valid")) {
+            criteria.put("valid", 1);
         }
         // 处理排序
         dmpCriteria.setOrders(toOrderItem(admCriteria.getOrders()));

+ 4 - 4
src/main/java/com/persagy/proxy/common/handler/AdmContextHandler.java

@@ -19,12 +19,12 @@ public class AdmContextHandler extends HandlerInterceptorAdapter {
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         // 从header中获取上下文
-        if(StrUtil.isNotBlank(request.getHeader("groupCode"))) {
+//        if(StrUtil.isNotBlank(request.getHeader("groupCode"))) {
             // 请求参数中包含groupCode,由于没有标识位,暂时用这种方式判断吧
             accessRequestInfo(request);
-        } else {
-            // 其他情况,按现有系统默认不验证的逻辑,其他情况就是默认放行,不必处理。最好是抛401
-        }
+//        } else {
+//            // 其他情况,按现有系统默认不验证的逻辑,其他情况就是默认放行,不必处理。最好是抛401
+//        }
         return true;
     }