Quellcode durchsuchen

Merge branch 'develop' of http://39.106.8.246:3003/BDTP/adm-middleware.git into develop

zhangqiankun vor 3 Jahren
Ursprung
Commit
f16b79009b
41 geänderte Dateien mit 472 neuen und 696 gelöschten Zeilen
  1. 9 5
      src/main/java/com/persagy/proxy/adm/controller/AdmCalcSpecialController.java
  2. 12 26
      src/main/java/com/persagy/proxy/adm/controller/AdmDoorController.java
  3. 16 22
      src/main/java/com/persagy/proxy/adm/controller/AdmEquipShaftController.java
  4. 8 21
      src/main/java/com/persagy/proxy/adm/controller/AdmManualRelCalController.java
  5. 5 16
      src/main/java/com/persagy/proxy/adm/controller/AdmMepSystemCalcController.java
  6. 4 10
      src/main/java/com/persagy/proxy/adm/controller/AdmModelController.java
  7. 3 12
      src/main/java/com/persagy/proxy/adm/controller/AdmModelRelController.java
  8. 31 135
      src/main/java/com/persagy/proxy/adm/controller/AdmRelCalController.java
  9. 24 24
      src/main/java/com/persagy/proxy/adm/controller/AdmReportEquipController.java
  10. 57 29
      src/main/java/com/persagy/proxy/adm/controller/AdmShaftController.java
  11. 19 17
      src/main/java/com/persagy/proxy/adm/controller/AdmSystemController.java
  12. 1 4
      src/main/java/com/persagy/proxy/adm/controller/AdmVirtualWallController.java
  13. 1 4
      src/main/java/com/persagy/proxy/adm/controller/AdmWindowController.java
  14. 9 10
      src/main/java/com/persagy/proxy/adm/controller/RelationEqForBdController.java
  15. 14 12
      src/main/java/com/persagy/proxy/adm/controller/RelationEqForFlController.java
  16. 9 11
      src/main/java/com/persagy/proxy/adm/controller/RelationEqForShController.java
  17. 7 14
      src/main/java/com/persagy/proxy/adm/controller/RelationEqForSpConreoller.java
  18. 13 16
      src/main/java/com/persagy/proxy/adm/controller/RelationEqInShController.java
  19. 7 14
      src/main/java/com/persagy/proxy/adm/controller/RelationEqInSpController.java
  20. 2 3
      src/main/java/com/persagy/proxy/adm/controller/RelationFlAndBuController.java
  21. 13 17
      src/main/java/com/persagy/proxy/adm/controller/RelationFlThroughFlController.java
  22. 19 25
      src/main/java/com/persagy/proxy/adm/controller/RelationShContainSpBaseController.java
  23. 13 16
      src/main/java/com/persagy/proxy/adm/controller/RelationShaftThroughShaftController.java
  24. 11 13
      src/main/java/com/persagy/proxy/adm/controller/RelationSpInBdOrFlController.java
  25. 13 10
      src/main/java/com/persagy/proxy/adm/controller/RelationSpInSiController.java
  26. 14 17
      src/main/java/com/persagy/proxy/adm/controller/RelationSpaceConnectionController.java
  27. 2 5
      src/main/java/com/persagy/proxy/adm/controller/RelationSyEqController.java
  28. 13 17
      src/main/java/com/persagy/proxy/adm/controller/RelationSyForBdController.java
  29. 13 14
      src/main/java/com/persagy/proxy/adm/controller/RelationSyForFlController.java
  30. 13 14
      src/main/java/com/persagy/proxy/adm/controller/RelationSyForShController.java
  31. 18 36
      src/main/java/com/persagy/proxy/adm/controller/RelationSyForSpController.java
  32. 18 20
      src/main/java/com/persagy/proxy/adm/controller/RelationSyInShController.java
  33. 16 14
      src/main/java/com/persagy/proxy/adm/controller/RelationSyInSpController.java
  34. 9 10
      src/main/java/com/persagy/proxy/adm/controller/RelationTnInSpController.java
  35. 0 48
      src/main/java/com/persagy/proxy/adm/model/AdmBuildingFloorInfo.java
  36. 1 1
      src/main/java/com/persagy/proxy/adm/model/AdmShaft.java
  37. 2 1
      src/main/java/com/persagy/proxy/adm/model/AdmSystem.java
  38. 3 2
      src/main/java/com/persagy/proxy/adm/service/AdmCalcSpecialService.java
  39. 6 5
      src/main/java/com/persagy/proxy/adm/service/impl/AbstractAdmBaseServiceImpl.java
  40. 17 4
      src/main/java/com/persagy/proxy/adm/service/impl/AdmCalcSpecialServiceImpl.java
  41. 7 2
      src/main/java/com/persagy/proxy/adm/utils/AdmQueryCriteriaHelper.java

+ 9 - 5
src/main/java/com/persagy/proxy/adm/controller/AdmCalcSpecialController.java

@@ -1,18 +1,18 @@
 package com.persagy.proxy.adm.controller;
 
 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.model.AdmMepSourceTypeEntity;
-import com.persagy.proxy.adm.request.AdmCreateRequest;
+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.AdmCalcSpecialService;
-import com.persagy.proxy.adm.service.AdmMepSystemCalcService;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
-import javax.ws.rs.QueryParam;
+import java.util.Map;
 
 /***
  * Description: 机电管网系统关系计算
@@ -49,7 +49,11 @@ public class AdmCalcSpecialController {
         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);
-        return admCalcSpecialService.sysBolck(context, relationType);
+        Map<String, AdmRelationTypeEnum> relationTypeMap = AdmRelationTypeEnum.getRelationTypeMap();
+        if (!relationTypeMap.containsKey(relationType)){
+            throw new BusinessException(BusinessErrorRwdCode.A7201.getCode(),BusinessErrorRwdCode.A7201.getDesc());
+        }
+        return admCalcSpecialService.sysBlock(context, relationTypeMap.get(relationType));
     }
     /***
      * Description: 管网计算

+ 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);
     }
 }

+ 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);
     }
 
 }

+ 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);
     }
 

+ 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(), defineCriteria, 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, Object> 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).toString());
+                   }else{
+                       criteriaNew.put(key, criteriaMap.get(key).toString());
+                   }
+               });
+               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");

+ 19 - 17
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;
 
@@ -246,24 +247,24 @@ public class AdmSystemController {
             if(CollUtil.isNotEmpty(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);
                             }
                         });
@@ -378,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);
             });
@@ -394,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);

+ 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();

+ 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();
     }
-
-
 }

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

@@ -7,7 +7,6 @@ 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;
@@ -155,20 +154,18 @@ public class RelationSyEqController {
         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();
     }
-
-
-
-
-
-
 }
 

+ 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);
     }
-
-
 }

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

@@ -1,48 +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;
-
-    @JSONField(name = "BuildName")
-    public String getBuildName() {
-        return buildName;
-    }
-
-    @JSONField(name = "FloorID")
-    public String getFloorID() {
-        return floorID;
-    }
-
-    @JSONField(name = "FloorName")
-    public String getFloorName() {
-        return floorName;
-    }
-
-    @JSONField(name = "BuildID")
-    public String getBuildID() {
-        return buildID;
-    }
-}

+ 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*/

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

@@ -1,5 +1,6 @@
 package com.persagy.proxy.adm.service;
 
+import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 
@@ -13,13 +14,13 @@ public interface AdmCalcSpecialService {
     /***
      * Description: 管网系统设备分块  +  计算流向
      * @param context : 基本请求参数
-     * @param relationType : 关系类型
+     * @param admRelationTypeEnum : 关系类型枚举对象
      * @return : com.persagy.proxy.adm.request.AdmResponse
      * @author : lijie
      * @date :2021/9/29 11:12
      * Update By lijie 2021/9/29 11:12
      */
-    AdmResponse sysBolck(InstanceUrlParam context, String relationType);
+    AdmResponse sysBlock(InstanceUrlParam context, AdmRelationTypeEnum admRelationTypeEnum);
     /***
      * Description: 管网计算
      * @param context : 基本请求参数

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

@@ -399,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();

+ 17 - 4
src/main/java/com/persagy/proxy/adm/service/impl/AdmCalcSpecialServiceImpl.java

@@ -1,5 +1,10 @@
 package com.persagy.proxy.adm.service.impl;
 
+import cn.hutool.core.util.StrUtil;
+import com.persagy.dmp.basic.dto.RequestData;
+import com.persagy.dmp.common.constant.CommonConstant;
+import com.persagy.dmp.digital.client.DigitalRelationCaclFacade;
+import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.AdmCalcSpecialService;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
@@ -20,15 +25,23 @@ public class AdmCalcSpecialServiceImpl implements AdmCalcSpecialService {
     /***
      * Description: 管网系统设备分块  +  计算流向
      * @param context : 基本请求参数
-     * @param relationType : 关系类型
+     * @param admRelationTypeEnum : 关系类型枚举对象
      * @return : com.persagy.proxy.adm.request.AdmResponse
      * @author : lijie
      * @date :2021/9/29 11:12
      * Update By lijie 2021/9/29 11:12
      */
     @Override
-    public AdmResponse sysBolck(InstanceUrlParam context, String relationType) {
-        return null;
+    public AdmResponse sysBlock(InstanceUrlParam context, AdmRelationTypeEnum admRelationTypeEnum) {
+        RequestData requestData = RequestData.builder()
+                .graphCode(admRelationTypeEnum.getGraphCode())
+                .relCode(admRelationTypeEnum.getRelCode())
+                .calBeforeRelFlag(true)
+                .build();
+        // 调用中台的计算逻辑
+        DigitalRelationCaclFacade.calculatingObjRelationPrototype(context.getGroupCode(),context.getProjectId(),
+                context.getAppId(), CommonConstant.DEFAULT_ID, requestData);
+        return AdmResponse.success();
     }
     /***
      * Description: 管网计算
@@ -59,6 +72,6 @@ public class AdmCalcSpecialServiceImpl implements AdmCalcSpecialService {
         // 2.4.3.3.5 低楼层x,y与高楼层的x,y的勾股和小于直线范围则符合
 
 
-        return null;
+        return AdmResponse.success();
     }
 }

+ 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()));