Browse Source

优化:调整设备与系统的id生成规则,便于识别属于哪个项目

lijie 3 years ago
parent
commit
c8a67362f8

+ 16 - 0
src/main/java/com/persagy/proxy/adm/utils/AdmContextUtil.java

@@ -1,5 +1,7 @@
 package com.persagy.proxy.adm.utils;
 
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.persagy.dmp.common.context.AppContext;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 
@@ -19,4 +21,18 @@ public class AdmContextUtil {
                 .projectId(AppContext.getContext().getProjectId())
                 .appId(AppContext.getContext().getAppId()).build();
     }
+
+    /**
+     * 转换获取数据中台上下文参数
+     * @return
+     */
+    public static String generateIdStr(String prefix,Boolean addProjectFlag) {
+        if (StrUtil.isNotBlank(AppContext.getContext().getProjectId())
+                && addProjectFlag && AppContext.getContext().getProjectId().matches("^Pj[0-9]{10}$")){
+            String projectIdSuffix = StrUtil.subSuf(AppContext.getContext().getProjectId(),2);
+            return StrUtil.isNotBlank(prefix)?prefix+projectIdSuffix+ IdWorker.getIdStr():projectIdSuffix+ IdWorker.getIdStr();
+        }
+        return StrUtil.isNotBlank(prefix)?prefix+ IdWorker.getIdStr():IdWorker.getIdStr();
+    }
+
 }

+ 1 - 1
src/main/java/com/persagy/proxy/object/controller/AdmEquipmentController.java

@@ -369,7 +369,7 @@ public class AdmEquipmentController {
 		List<RelationDTO> relationDTOS = new ArrayList<>(16);
 		for(AdmEquipment vo:vos) {
 			if (StrUtil.isBlank(vo.getId())){
-				vo.setId("Eq"+IdWorker.getIdStr());
+				vo.setId(AdmContextUtil.generateIdStr("Eq",true));
 			}
 			if (StrUtil.isEmpty(vo.getName())){
 				vo.setName(ObjectNameUtil.objectName("设备-"));

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

@@ -116,7 +116,7 @@ public class AdmSystemController {
         Map<String, ObjectTypeDefine> defineMap = CollUtil.fieldValueMap(defineList, "code");
         vos.forEach(admSystem -> {
             if (StrUtil.isBlank(admSystem.getId())){
-                admSystem.setId("Sy"+ IdWorker.getIdStr());
+                admSystem.setId(AdmContextUtil.generateIdStr("Sy",true));
             }
             if(StrUtil.isEmpty(admSystem.getName())){
                 if(CollUtil.isNotEmpty(defineList) && defineMap.containsKey(admSystem.getClassCode())){