|
@@ -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);
|