Browse Source

准生产环境的交付数据,同步至客户生产环境

lvxianyun 3 years ago
parent
commit
b4529e6506

+ 3 - 0
src/main/java/com/persagy/proxy/migration/constant/MigrationConstant.java

@@ -8,7 +8,10 @@ package com.persagy.proxy.migration.constant;
  */
 public class MigrationConstant {
 
+    public final static String ERROR = "目标地址错误不能正常访问!";
+
     public final static int BATCH_SUBMIT_DATA_COUNT = 500;
+
     /** 数据拼接 用于list->map 时key和value拼接 **/
     public final static String SPLITER = "_";
 

+ 3 - 9
src/main/java/com/persagy/proxy/migration/constant/MigrationType.java

@@ -8,25 +8,19 @@ package com.persagy.proxy.migration.constant;
  * @date 2021/12/3 19:54
  */
 public enum MigrationType {
-    INSERT("insert","新增"),UPDATE("update","更新"),DELETE("delete","删除"),QUERY("query","查询");
+    CREATE("create"),UPDATE("update"),DELETE("delete"),QUERY("query");
     private String code;
-    private String desc;
 
     public String getCode() {
         return code;
     }
 
-    public String getDesc() {
-        return desc;
-    }
-
-    MigrationType(String code, String desc) {
+    MigrationType(String code) {
         this.code = code;
-        this.desc = desc;
     }
 
     @Override
     public String toString() {
-        return this.code + "_" + this.desc;
+        return this.code;
     }
 }

+ 99 - 19
src/main/java/com/persagy/proxy/migration/controller/DataMigrationController.java

@@ -2,13 +2,19 @@ package com.persagy.proxy.migration.controller;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpException;
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
+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.common.constant.ResponseCode;
 import com.persagy.dmp.common.exception.BusinessException;
 import com.persagy.dmp.common.model.response.CommonResult;
+import com.persagy.dmp.common.utils.JsonHelper;
 import com.persagy.dmp.migrate.client.DigitalMigrateLogFacade;
 import com.persagy.dmp.rwd.migrate.entity.SyncData;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
@@ -17,6 +23,8 @@ import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.adm.utils.AdmQueryCriteriaHelper;
 import com.persagy.proxy.common.entity.DmpResult;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
+import com.persagy.proxy.migration.constant.MigrationConstant;
+import com.persagy.proxy.migration.constant.MigrationObjType;
 import com.persagy.proxy.migration.handler.DataMigrationHandler;
 import com.persagy.proxy.migration.model.DataMigrationExcel;
 import com.persagy.proxy.migration.model.MigrationInfo;
@@ -27,8 +35,10 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -59,24 +69,21 @@ public class DataMigrationController {
     public void migrateForExcel(HttpServletResponse response, @RequestBody MigrationInfo migrationInfo) {
         //调用服务迁移数据,返回处理结果excel
         try {
-            InstanceUrlParam context = AdmContextUtil.toDmpContext();
-            context.setGroupCode(migrationInfo.getTargetGroupCode());
-
             response.setContentType("application/vnd.ms-excel");
             String encode = StandardCharsets.UTF_8.name();
             response.setCharacterEncoding(encode);
-            if(migrationInfo == null || StrUtil.isBlank(migrationInfo.getTargetUrl())){
+            if (migrationInfo == null || StrUtil.isBlank(migrationInfo.getTargetUrl())) {
                 throw new BusinessException(ResponseCode.A0402.getCode(), ResponseCode.A0402.getDesc());
             }
-            if(StrUtil.isBlank(migrationInfo.getTargetGroupCode())){
-                migrationInfo.setTargetGroupCode(context.getGroupCode());
-            }
-            if(StrUtil.isBlank(migrationInfo.getTargetProjectId())){
-                migrationInfo.setTargetProjectId(context.getProjectId());
+            InstanceUrlParam context = AdmContextUtil.toDmpContext();
+            //确定集团编码 和 项目id
+            ensureParamValue(migrationInfo, context);
+            //验证目标项目地址是否正确
+            boolean valid = validTargetUrl(migrationInfo, context);
+            if (!valid) {
+                getErrorExcel(response);
             }
 
-            Map<String,List<DataMigrationExcel>> results = dataMigrationHandler.handleAndGetExcelList(context, migrationInfo);
-
             AdmQueryCriteria projectRequest = new AdmQueryCriteria();
             projectRequest.setName(AdmProject.OBJ_TYPE);
             projectRequest.setFilters("id = '" + context.getProjectId() + "';");
@@ -92,8 +99,9 @@ public class DataMigrationController {
                 fileName = URLEncoder.encode(fileName, encode);
 
                 response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+                Map<String, List<DataMigrationExcel>> results = dataMigrationHandler.handleAndGetExcelList(context, migrationInfo);
                 //每个迁移的表写成一个sheet
-                if(CollUtil.isNotEmpty(results)){
+                if (CollUtil.isNotEmpty(results)) {
                     int sheetNo = 0;
                     ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), DataMigrationExcel.class).build();
                     try {
@@ -110,23 +118,23 @@ public class DataMigrationController {
                 }
             }
         } catch (Exception e) {
-            log.error("数据迁移内容获取失败",e);
+            getErrorExcel(response);
         }
     }
 
     @PostMapping("/start")
     public AdmResponse migrateForLog(@RequestBody MigrationInfo migrationInfo) {
         InstanceUrlParam context = AdmContextUtil.toDmpContext();
-        context.setGroupCode(migrationInfo.getTargetGroupCode());
 
         if(migrationInfo == null || StrUtil.isBlank(migrationInfo.getTargetUrl())){
             throw new BusinessException(ResponseCode.A0402.getCode(), ResponseCode.A0402.getDesc());
         }
-        if(StrUtil.isBlank(migrationInfo.getTargetGroupCode())){
-            migrationInfo.setTargetGroupCode(context.getGroupCode());
-        }
-        if(StrUtil.isBlank(migrationInfo.getTargetProjectId())){
-            migrationInfo.setTargetProjectId(context.getProjectId());
+        //确定集团编码 和 项目id
+        ensureParamValue(migrationInfo, context);
+        //验证目标项目地址是否正确
+        boolean valid = validTargetUrl(migrationInfo, context);
+        if(!valid){
+            return AdmResponse.failure(MigrationConstant.ERROR);
         }
         dataMigrationHandler.handleAndSaveLog(context, migrationInfo);
         return AdmResponse.success();
@@ -157,4 +165,76 @@ public class DataMigrationController {
             return AdmResponse.failure(result.getMessage());
         }
     }
+
+
+    private void ensureParamValue(MigrationInfo migrationInfo, InstanceUrlParam context){
+        if(migrationInfo.getTargetSign() == 0){
+            migrationInfo.setTargetGroupCode(context.getGroupCode());
+            migrationInfo.setTargetProjectId(context.getProjectId());
+        }
+        if(migrationInfo.getTargetSign() == 1){
+            if(StrUtil.isBlank(migrationInfo.getTargetGroupCode())){
+                migrationInfo.setTargetGroupCode(context.getGroupCode());
+            }
+            if(StrUtil.isBlank(migrationInfo.getTargetProjectId())){
+                migrationInfo.setTargetProjectId(context.getProjectId());
+            }
+        }
+
+    }
+
+    private boolean validTargetUrl(MigrationInfo migrationInfo, InstanceUrlParam context){
+
+        StringBuffer url = new StringBuffer(migrationInfo.getTargetUrl() + MigrationConstant.DT_OBJECT);
+        url.append("groupCode=").append(migrationInfo.getTargetGroupCode());
+        url.append("&projectId=").append(migrationInfo.getTargetProjectId());
+        if(StrUtil.isNotEmpty(context.getUserId())){
+            url.append("&userId=").append(context.getUserId());
+        }
+        if(StrUtil.isNotEmpty(context.getAppId())) {
+            url.append("&appId=").append(context.getAppId());
+        }
+        QueryCriteria queryCriteria = new QueryCriteria();
+        queryCriteria.setOnlyCount(true);
+        ObjectNode criteria = JsonNodeFactory.instance.objectNode();
+        criteria.put("valid", 1);
+        criteria.put("objType", MigrationObjType.project.getCode());
+        queryCriteria.setCriteria(criteria);
+
+        try{
+            String requestBody = null;
+            try {
+                requestBody = JsonHelper.toJsonStr(queryCriteria);
+            } catch (IOException e) {
+                log.error("参数转化失败(QueryCriteria -> jsonString)"+ e.getMessage());
+                return false;
+            }
+            String response = HttpUtil.post(url.toString(), requestBody, 5000);
+            CommonResult<List> commonResult = JSONUtil.toBean(response, CommonResult.class);
+            if(commonResult.getResult().equals(DmpResult.SUCCESS) && commonResult.getCount() == 1 ){
+                return true;
+            }else {
+                log.error(commonResult.getMessage());
+                return false;
+            }
+
+        }catch (HttpException e){
+            log.error(ResponseCode.C0001.getDesc()+",url:"+ url);
+            return false;
+        }
+    }
+
+    private void getErrorExcel(HttpServletResponse response){
+        List<DataMigrationExcel> dataMigrationExcels = new ArrayList<>(1);
+        DataMigrationExcel dataMigrationExcel = new DataMigrationExcel();
+        dataMigrationExcel.setId("error");
+        dataMigrationExcel.setMark(MigrationConstant.ERROR);
+        dataMigrationExcels.add(dataMigrationExcel);
+        response.setHeader("Content-disposition", "attachment;filename=error.xlsx");
+        try {
+            EasyExcel.write(response.getOutputStream(), DataMigrationExcel.class).sheet("sheet1").doWrite(dataMigrationExcels);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 8 - 8
src/main/java/com/persagy/proxy/migration/handler/DefineInfoMigration.java

@@ -95,7 +95,7 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
         if(CollUtil.isEmpty(projectDefineList)){
             log.info("######################### DefineInfo 获取批量插入数据 #########################");
             //DataMigrationResponse response = insertBatch(admDefineList, ObjectInfoDefine.class, insertUrl);
-            dataMigrationExcels.addAll(processDataForExcel(admDefineList, MigrationType.INSERT.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(admDefineList, MigrationType.CREATE.getCode()));
             return dataMigrationExcels;
         }
         List<ObjectNode> objectNodeListPro = JsonNodeUtils.toListNode(projectDefineList, null, null);
@@ -109,7 +109,7 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
         Map<String,Object> subtractFromDel = doSubtractAdd(admDefineMap, projectDefineMap);
         if(!CollUtil.isEmpty(subtractFromDel)){
             List<ObjectInfoDefine> insertData = toList(subtractFromDel, admDefineList);
-            dataMigrationExcels.addAll(processDataForExcel(insertData, MigrationType.INSERT.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(insertData, MigrationType.CREATE.getCode()));
         }
 
         //差集 删除
@@ -120,7 +120,7 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
             //String delUrl = requestUrl(context, migrationInfo, MigrationType.DELETE.getCode());
             //DataMigrationResponse response = deleteBatch(deleteIds, ObjectInfoDefine.class, delUrl);
             List<ObjectInfoDefine> delData = toListByIds(deleteIds, admDefineList);
-            dataMigrationExcels.addAll(processDataForExcel(delData, MigrationType.DELETE.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(delData, MigrationType.DELETE.getCode()));
         }
 
         //交集更新
@@ -173,11 +173,11 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
         if(CollUtil.isEmpty(admDefineList)){
             log.error(" ######################### DefineInfo adm已交付需要同步的数据:"+ ResponseCode.C0320.getDesc() +" 同步结束 #########################");
         }
-        String insertUrl = requestUrl(context, migrationInfo, MigrationType.INSERT.getCode());
+        String insertUrl = requestUrl(context, migrationInfo, MigrationType.CREATE.getCode());
         if(CollUtil.isEmpty(projectDefineList)){
             log.info("######################### DefineInfo 批量插入数据 #########################");
             DataMigrationResponse response = insertBatch(admDefineList, ObjectInfoDefine.class, insertUrl);
-            syncDataList.addAll(processDataForLog(response, MigrationType.INSERT.getDesc()));
+            syncDataList.addAll(processDataForLog(response, MigrationType.CREATE.getCode()));
         }
         List<ObjectNode> objectNodeListPro = JsonNodeUtils.toListNode(projectDefineList, null, null);
         Map<String,Object> projectDefineMap = toEntityMap(objectNodeListPro, ObjectInfoDefine.class);
@@ -190,7 +190,7 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
         Map<String,Object> subtractFromDel = doSubtractAdd(admDefineMap, projectDefineMap);
         if(!CollUtil.isEmpty(subtractFromDel)){
             List<ObjectInfoDefine> insertData = toList(subtractFromDel, admDefineList);
-            syncDataList.addAll(processDataForLog(insertBatch(insertData, ObjectInfoDefine.class, insertUrl), MigrationType.INSERT.getDesc()));
+            syncDataList.addAll(processDataForLog(insertBatch(insertData, ObjectInfoDefine.class, insertUrl), MigrationType.CREATE.getCode()));
         }
 
         //差集 删除
@@ -204,7 +204,7 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
             List<String> successIds = (List<String>) dataMigrationResponse.getData();
             List<ObjectInfoDefine> delObjs = toListByIds(successIds, admDefineList);
             dataMigrationResponse.setData(delObjs);
-            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getDesc()));
+            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getCode()));
         }
 
         //交集更新
@@ -283,7 +283,7 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
         StringBuilder url = new StringBuilder(migrationInfo.getTargetUrl());
         if(type.equals(MigrationType.QUERY.getCode())) {
             url.append(MigrationConstant.DEF_FUNCID);
-        }else if(type.equals(MigrationType.INSERT.getCode())){
+        }else if(type.equals(MigrationType.CREATE.getCode())){
             url.append(MigrationConstant.DEF_FUNCID_INSERT);
         }else if(type.equals(MigrationType.UPDATE.getCode())){
             url.append(MigrationConstant.DEF_FUNCID_UPDATE);

+ 10 - 10
src/main/java/com/persagy/proxy/migration/handler/DefineTypeMigration.java

@@ -79,7 +79,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
         if(CollUtil.isEmpty(objectNodeList)){
             log.info("######################### DefineType 批量插入数据获取 #########################");
             //DataMigrationResponse dataMigrationResponse = insertBatch(admDefineList, ObjectTypeDefine.class, insertUrl);
-            dataMigrationExcels.addAll(processDataForExcel(admDefineList, MigrationType.INSERT.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(admDefineList, MigrationType.CREATE.getCode()));
 
             return dataMigrationExcels;
         }
@@ -94,7 +94,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
         if(!CollUtil.isEmpty(doSubtractFromInsert)){
             List<ObjectTypeDefine> insertData = toList(doSubtractFromInsert, admDefineList);
             //DataMigrationResponse dataMigrationResponse = insertBatch(insertData, ObjectTypeDefine.class, insertUrl);
-            dataMigrationExcels.addAll(processDataForExcel(insertData, MigrationType.INSERT.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(insertData, MigrationType.CREATE.getCode()));
         }
 
         //差集 删除
@@ -106,7 +106,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
 
             /*String delUrl = requestUrl(context, migrationInfo, MigrationType.DELETE.getCode());
             DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectTypeDefine.class, delUrl);*/
-            dataMigrationExcels.addAll(processDataForExcel(deleteData, MigrationType.DELETE.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(deleteData, MigrationType.DELETE.getCode()));
         }
 
         //交集更新
@@ -120,7 +120,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
                 List<ObjectTypeDefine> updateData = toList(compareData, admDefineList);
                 //String updateUrl = requestUrl(context, migrationInfo, MigrationType.UPDATE.getCode());
                 //DataMigrationResponse dataMigrationResponse = updateBatch(updateData, ObjectTypeDefine.class, updateUrl);
-                dataMigrationExcels.addAll(processDataForExcel(updateData, MigrationType.UPDATE.getDesc()));
+                dataMigrationExcels.addAll(processDataForExcel(updateData, MigrationType.UPDATE.getCode()));
             }
         }
         long end = System.currentTimeMillis();
@@ -144,11 +144,11 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
             log.error(" ######################### DefineType adm已交付需要同步的数据:"+ ResponseCode.C0320.getDesc() +" 同步结束 #########################");
         }
 
-        String insertUrl = requestUrl(context, migrationInfo, MigrationType.INSERT.getCode());
+        String insertUrl = requestUrl(context, migrationInfo, MigrationType.CREATE.getCode());
         if(CollUtil.isEmpty(objectNodeList)){
             log.info("######################### DefineType 批量插入数据 #########################");
             DataMigrationResponse dataMigrationResponse = insertBatch(admDefineList, ObjectTypeDefine.class, insertUrl);
-            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.INSERT.getDesc()));
+            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.CREATE.getCode()));
         }
         List<ObjectNode> objectNodeListPro = JsonNodeUtils.toListNode(objectNodeList, null, null);
         Map<String,Object> projectDefineMap = toEntityMap(objectNodeListPro, ObjectTypeDefine.class);
@@ -161,7 +161,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
         if(!CollUtil.isEmpty(doSubtractFromInsert)){
             List<ObjectTypeDefine> insertData = toList(doSubtractFromInsert, admDefineList);
             DataMigrationResponse dataMigrationResponse = insertBatch(insertData, ObjectTypeDefine.class, insertUrl);
-            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.INSERT.getDesc()));
+            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.CREATE.getCode()));
         }
 
         //差集 删除
@@ -175,7 +175,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
             List<String> successIds = (List<String>) dataMigrationResponse.getData();
             List<ObjectTypeDefine> delObjs = toListByIds(successIds, admDefineList);
             dataMigrationResponse.setData(delObjs);
-            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getDesc()));
+            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getCode()));
         }
 
         //交集更新
@@ -189,7 +189,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
                 List<ObjectTypeDefine> updateData = toList(compareData, admDefineList);
                 String updateUrl = requestUrl(context, migrationInfo, MigrationType.UPDATE.getCode());
                 DataMigrationResponse dataMigrationResponse = updateBatch(updateData, ObjectTypeDefine.class, updateUrl);
-                syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.UPDATE.getDesc()));
+                syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.UPDATE.getCode()));
             }
         }
         long end = System.currentTimeMillis();
@@ -276,7 +276,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
         StringBuilder url = new StringBuilder(migrationInfo.getTargetUrl());
         if(type.equals(MigrationType.QUERY.getCode())) {
             url.append(MigrationConstant.DEF_CLASS);
-        }else if(type.equals(MigrationType.INSERT.getCode())){
+        }else if(type.equals(MigrationType.CREATE.getCode())){
             url.append(MigrationConstant.DEF_CLASS_INSERT);
         }else if(type.equals(MigrationType.UPDATE.getCode())){
             url.append(MigrationConstant.DEF_CLASS_UPDATE);

+ 10 - 10
src/main/java/com/persagy/proxy/migration/handler/ObjectDigitalMigration.java

@@ -117,10 +117,10 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
             log.error(" ######################### dt_object adm已交付:"+ ResponseCode.C0320.getDesc() +" 同步结束 #########################");
         }
 
-        String insertUrl = requestUrl(context, migrationInfo, MigrationType.INSERT.getCode());
+        String insertUrl = requestUrl(context, migrationInfo, MigrationType.CREATE.getCode());
         if(CollUtil.isEmpty(objectNodeList)){
             DataMigrationResponse dataMigrationResponse = insertBatch(admData, ObjectDigital.class, insertUrl);
-            syncDataList = processDataForLog(dataMigrationResponse, MigrationType.INSERT.getDesc());
+            syncDataList = processDataForLog(dataMigrationResponse, MigrationType.CREATE.getCode());
         }
         Map<String,Object> projectMap = toEntityMap(objectNodeList, ObjectDigital.class);
         Map<String,Object> admMap = toEntityMap(admData, ObjectDigital.class);
@@ -129,7 +129,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
         if(!CollUtil.isEmpty(doSubtractFromInsert)){
             List<ObjectNode> insertData = toList(doSubtractFromInsert, admData);
             DataMigrationResponse dataMigrationResponse = insertBatch(insertData, ObjectDigital.class, insertUrl);
-            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.INSERT.getDesc()));
+            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.CREATE.getCode()));
         }
 
         //差集 删除
@@ -142,7 +142,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
             List<String> successIds = (List<String>) dataMigrationResponse.getData();
             List<ObjectNode> delObjs = toListByIds(successIds, admData);
             dataMigrationResponse.setData(delObjs);
-            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getDesc()));
+            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getCode()));
         }
 
         //交集更新
@@ -155,7 +155,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
                 List<ObjectNode> updateData = toList(compareData, admData);
                 String updateUrl = requestUrl(context, migrationInfo, MigrationType.UPDATE.getCode());
                 DataMigrationResponse dataMigrationResponse = updateBatch(updateData, ObjectDigital.class, updateUrl);
-                syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.UPDATE.getDesc()));
+                syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.UPDATE.getCode()));
             }
         }
        return super.addSynLog(context, syncDataList);
@@ -179,7 +179,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
         //String insertUrl = requestUrl(context, migrationInfo, MigrationType.INSERT.getCode());
         if(CollUtil.isEmpty(objectNodeList)){
             //DataMigrationResponse dataMigrationResponse = insertBatch(admData, ObjectDigital.class, insertUrl);
-            dataMigrationExcels.addAll(processDataForExcel(admData, MigrationType.INSERT.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(admData, MigrationType.CREATE.getCode()));
             return dataMigrationExcels;
         }
         Map<String,Object> projectMap = toEntityMap(objectNodeList, ObjectDigital.class);
@@ -189,7 +189,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
         if(!CollUtil.isEmpty(doSubtractFromInsert)){
             List<ObjectNode> insertData = toList(doSubtractFromInsert, admData);
             //DataMigrationResponse dataMigrationResponse = insertBatch(insertData, ObjectDigital.class, insertUrl);
-            dataMigrationExcels.addAll(processDataForExcel(insertData, MigrationType.INSERT.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(insertData, MigrationType.CREATE.getCode()));
         }
 
         //差集 删除
@@ -200,7 +200,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
             List<ObjectNode> deleteData = toListByIds(deleteIds, admData);
             //String delUrl = requestUrl(context, migrationInfo, MigrationType.DELETE.getCode());
             //DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectDigital.class, delUrl);
-            dataMigrationExcels.addAll(processDataForExcel(deleteData, MigrationType.DELETE.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(deleteData, MigrationType.DELETE.getCode()));
         }
 
         //交集更新
@@ -213,7 +213,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
                 List<ObjectNode> updateData = toList(compareData, admData);
                 //String updateUrl = requestUrl(context, migrationInfo, MigrationType.UPDATE.getCode());
                 //DataMigrationResponse dataMigrationResponse = updateBatch(updateData, ObjectDigital.class, updateUrl);
-                dataMigrationExcels.addAll(processDataForExcel(updateData, MigrationType.UPDATE.getDesc()));
+                dataMigrationExcels.addAll(processDataForExcel(updateData, MigrationType.UPDATE.getCode()));
             }
         }
 
@@ -288,7 +288,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
         StringBuilder url = new StringBuilder(migrationInfo.getTargetUrl());
         if(type.equals(MigrationType.QUERY.getCode())) {
             url.append(MigrationConstant.DT_OBJECT);
-        }else if(type.equals(MigrationType.INSERT.getCode())){
+        }else if(type.equals(MigrationType.CREATE.getCode())){
             url.append(MigrationConstant.DT_OBJECT_INSERT);
         }else if(type.equals(MigrationType.UPDATE.getCode())){
             url.append(MigrationConstant.DT_OBJECT_UPDATE);

+ 10 - 10
src/main/java/com/persagy/proxy/migration/handler/ObjectRelationMigration.java

@@ -115,7 +115,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
         //String insertUrl = requestUrl(context, migrationInfo, MigrationType.INSERT.getCode());
         if(CollUtil.isEmpty(projectRelations)){
             //DataMigrationResponse dataMigrationResponse = insertBatch(admRelations, ObjectRelation.class, insertUrl);
-            dataMigrationExcels.addAll(processDataForExcel(admRelations, MigrationType.INSERT.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(admRelations, MigrationType.CREATE.getCode()));
             return dataMigrationExcels;
         }
         List<ObjectNode> objectNodeListPro = JsonNodeUtils.toListNode(projectRelations, null, null);
@@ -128,7 +128,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
         if(!CollUtil.isEmpty(doSubtractFromInsert)){
             List<ObjectRelation> insertData = toList(doSubtractFromInsert, admRelations);
             //DataMigrationResponse dataMigrationResponse = insertBatch(insertData, ObjectRelation.class, insertUrl);
-            dataMigrationExcels.addAll(processDataForExcel(insertData, MigrationType.INSERT.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(insertData, MigrationType.CREATE.getCode()));
         }
 
         //差集 删除
@@ -138,7 +138,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
             List<ObjectRelation> deleteData = toListByIds(deleteIds, projectRelations);
 //            String delUrl = requestUrl(context, migrationInfo, MigrationType.DELETE.getCode());
 //            DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectRelation.class, delUrl);
-            dataMigrationExcels.addAll(processDataForExcel(deleteData, MigrationType.DELETE.getDesc()));
+            dataMigrationExcels.addAll(processDataForExcel(deleteData, MigrationType.DELETE.getCode()));
         }
 
         //交集更新
@@ -151,7 +151,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
                 List<ObjectRelation> updateData = toList(compareData, admRelations);
                 //String updateUrl = requestUrl(context, migrationInfo, MigrationType.UPDATE.getCode());
                 //DataMigrationResponse dataMigrationResponse = updateBatch(updateData, ObjectRelation.class, updateUrl);
-                dataMigrationExcels.addAll(processDataForExcel(updateData, MigrationType.UPDATE.getDesc()));
+                dataMigrationExcels.addAll(processDataForExcel(updateData, MigrationType.UPDATE.getCode()));
             }
         }
         return dataMigrationExcels;
@@ -167,10 +167,10 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
             log.error(" ######################### dt_relation adm已交付:"+ ResponseCode.C0320.getDesc() +" 同步结束 #########################");
         }
 
-        String insertUrl = requestUrl(context, migrationInfo, MigrationType.INSERT.getCode());
+        String insertUrl = requestUrl(context, migrationInfo, MigrationType.CREATE.getCode());
         if(CollUtil.isEmpty(projectRelations)){
             DataMigrationResponse dataMigrationResponse = insertBatch(admRelations, ObjectRelation.class, insertUrl);
-            syncDataList = processDataForLog(dataMigrationResponse, MigrationType.INSERT.getDesc());
+            syncDataList = processDataForLog(dataMigrationResponse, MigrationType.CREATE.getCode());
         }
         List<ObjectNode> objectNodeListPro = JsonNodeUtils.toListNode(projectRelations, null, null);
         Map<String,Object> projectDefineMap = toEntityMap(objectNodeListPro, ObjectRelation.class);
@@ -182,7 +182,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
         if(!CollUtil.isEmpty(doSubtractFromInsert)){
             List<ObjectRelation> insertData = toList(doSubtractFromInsert, admRelations);
             DataMigrationResponse dataMigrationResponse = insertBatch(insertData, ObjectRelation.class, insertUrl);
-            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.INSERT.getDesc()));
+            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.CREATE.getCode()));
         }
 
         //差集 删除
@@ -196,7 +196,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
             List<String> successIds = (List<String>) dataMigrationResponse.getData();
             List<ObjectRelation> delObjs = toListByIds(successIds, admRelations);
             dataMigrationResponse.setData(delObjs);
-            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getDesc()));
+            syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getCode()));
         }
 
         //交集更新
@@ -209,7 +209,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
                 List<ObjectRelation> updateData = toList(compareData, admRelations);
                 String updateUrl = requestUrl(context, migrationInfo, MigrationType.UPDATE.getCode());
                 DataMigrationResponse dataMigrationResponse = updateBatch(updateData, ObjectRelation.class, updateUrl);
-                syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.UPDATE.getDesc()));
+                syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.UPDATE.getCode()));
             }
         }
         return super.addSynLog(context, syncDataList);
@@ -270,7 +270,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
         StringBuilder url = new StringBuilder(migrationInfo.getTargetUrl());
         if(type.equals(MigrationType.QUERY.getCode())) {
             url.append(MigrationConstant.DT_RELATION);
-        }else if(type.equals(MigrationType.INSERT.getCode())){
+        }else if(type.equals(MigrationType.CREATE.getCode())){
             url.append(MigrationConstant.DT_RELATION_INSERT);
         }else if(type.equals(MigrationType.UPDATE.getCode())){
             url.append(MigrationConstant.DT_RELATION_UPDATE);

+ 7 - 0
src/main/java/com/persagy/proxy/migration/model/MigrationInfo.java

@@ -12,7 +12,14 @@ import lombok.Data;
 @Data
 @Builder
 public class MigrationInfo {
+    /**
+     * 项目现场中台能访问的地址
+     */
     private String targetUrl;
     private String targetGroupCode;
     private String targetProjectId;
+    /**
+     * 目标标志,默认0,使用当前登录用的项目id和集团编码,等于1,项目id是集团编码从参数中获取
+     */
+    private int targetSign = 0;
 }