wangrui пре 4 месеци
родитељ
комит
cce56225f8

+ 35 - 30
platomix-gmetry-bi-api/src/main/java/org/springblade/resouces/AppCopyService.java

@@ -63,40 +63,45 @@ public class AppCopyService {
     private AppClient appClient;
     @Autowired
     private DynamicDataSourceSupport dynamicDataSourceSupport;
-    @Async
+
     public void copy(List<Integer> cubeIds, List<Integer> dsIds, String appId, PlatomixAppCopyLogModel platomixAppCopyLogModel) {
+        Thread thread = new Thread(() -> {
+            try {
+                System.out.println("AuthUtil"+AuthUtil.getAppId());
+                long start = System.currentTimeMillis();
+                copyCube(cubeIds, appId);
+                platomixAppCopyLogModel.setCubeResult(0);
+                appClient.taskInfo(platomixAppCopyLogModel);
+                System.out.println("copyCube 时长=" + (start - System.currentTimeMillis()));
+            } catch (Exception e) {
+                platomixAppCopyLogModel.setCubeResult(1);
+                platomixAppCopyLogModel.setErrorInfo(ExceptionUtil.stacktraceToString(e));
+                appClient.taskInfo(platomixAppCopyLogModel);
+                log.error("copyCube复制失败:" + ExceptionUtil.stacktraceToString(e));
+            }
+            try {
+                long start1 = System.currentTimeMillis();
+                copyDs(dsIds, appId, platomixAppCopyLogModel);
+                platomixAppCopyLogModel.setDsResult(0);
+                appClient.taskInfo(platomixAppCopyLogModel);
+                System.out.println("start1 时长=" + (start1 - System.currentTimeMillis()));
+            } catch (Exception e) {
+                platomixAppCopyLogModel.setDsResult(1);
+                platomixAppCopyLogModel.setErrorInfo(ExceptionUtil.stacktraceToString(e));
+                appClient.taskInfo(platomixAppCopyLogModel);
+                log.error("数据源 复制失败:" + ExceptionUtil.stacktraceToString(e));
+            }
+        });
+
+        thread.start();
 
-        try {
-            long start = System.currentTimeMillis();
-            copyCube(cubeIds, appId);
-            platomixAppCopyLogModel.setCubeResult(0);
-            appClient.taskInfo(platomixAppCopyLogModel);
-            System.out.println("copyCube 时长=" + (start - System.currentTimeMillis()));
-        } catch (Exception e) {
-            platomixAppCopyLogModel.setCubeResult(1);
-            platomixAppCopyLogModel.setErrorInfo(ExceptionUtil.stacktraceToString(e));
-            appClient.taskInfo(platomixAppCopyLogModel);
-            log.error("copyCube复制失败:"+ExceptionUtil.stacktraceToString(e));
-        }
-        try {
-            long start1 = System.currentTimeMillis();
-            copyDs(dsIds, appId, platomixAppCopyLogModel);
-            platomixAppCopyLogModel.setDsResult(0);
-            appClient.taskInfo(platomixAppCopyLogModel);
-            System.out.println("start1 时长=" + (start1 - System.currentTimeMillis()));
-        } catch (Exception e) {
-            platomixAppCopyLogModel.setDsResult(1);
-            platomixAppCopyLogModel.setErrorInfo(ExceptionUtil.stacktraceToString(e));
-            appClient.taskInfo(platomixAppCopyLogModel);
-            log.error("数据源 复制失败:"+ExceptionUtil.stacktraceToString(e));
-        }
 
     }
 
     private void copyDs(List<Integer> dsIds, String appId, PlatomixAppCopyLogModel platomixAppCopyLogModel) {
         List<ReportDatasource> list = reportDatasourceService.lambdaQuery()
                 .in(ReportDatasource::getDsId, dsIds)
-                .eq(ReportDatasource::getAppId,appId)
+                .eq(ReportDatasource::getAppId, appId)
                 .list();
         List<Integer> collect = list.stream().map(ReportDatasource::getDsId).collect(Collectors.toList());
         if (!list.isEmpty()) {
@@ -111,7 +116,7 @@ public class AppCopyService {
         }
 
         long start1 = System.currentTimeMillis();
-        if (dsIds.isEmpty()){
+        if (dsIds.isEmpty()) {
             platomixAppCopyLogModel.setDbResult(0);
             appClient.taskInfo(platomixAppCopyLogModel);
             return;
@@ -202,7 +207,7 @@ public class AppCopyService {
         List<ReportDatasource> copy = null;
         try {
             String jsonStr = JSONUtil.toJsonStr(list);
-            System.out.println("数据库复制参数"+jsonStr);
+            System.out.println("数据库复制参数" + jsonStr);
             copy = dsHandler.copy(list);
             platomixAppCopyLogModel.setDbResult(0);
             appClient.taskInfo(platomixAppCopyLogModel);
@@ -210,7 +215,7 @@ public class AppCopyService {
             platomixAppCopyLogModel.setDbResult(1);
             platomixAppCopyLogModel.setErrorInfo(ExceptionUtil.stacktraceToString(e));
             appClient.taskInfo(platomixAppCopyLogModel);
-            log.error("数据库 复制失败:"+ExceptionUtil.stacktraceToString(e));
+            log.error("数据库 复制失败:" + ExceptionUtil.stacktraceToString(e));
             return false;
         }
         for (ReportDatasource obj : copy) {
@@ -219,7 +224,7 @@ public class AppCopyService {
             obj.setPoolName(SnowFlowIntUtil.nextId() + "");
             obj.setCreateTime(new Date());
             obj.setCreateUserId(AuthUtil.getUserId());
-            if ( !dynamicDataSourceSupport.addDs(obj)){
+            if (!dynamicDataSourceSupport.addDs(obj)) {
                 throw new ServiceException("数据源连接失败");
             }
             reportDatasourceService.save(obj);