|
@@ -13,10 +13,7 @@ import com.dragoninfo.dcuc.app.entity.sub.DataSec;
|
|
import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
|
|
import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
|
|
import com.dragoninfo.dcuc.app.enumresources.sub.DataClaTypeEnum;
|
|
import com.dragoninfo.dcuc.app.enumresources.sub.DataClaTypeEnum;
|
|
import com.dragoninfo.dcuc.app.enumresources.sub.FieldClaTypeEnum;
|
|
import com.dragoninfo.dcuc.app.enumresources.sub.FieldClaTypeEnum;
|
|
-import com.dragoninfo.dcuc.app.service.sub.IDataClaService;
|
|
|
|
-import com.dragoninfo.dcuc.app.service.sub.IDataLevelService;
|
|
|
|
-import com.dragoninfo.dcuc.app.service.sub.IDataSecService;
|
|
|
|
-import com.dragoninfo.dcuc.app.service.sub.IFieldClaService;
|
|
|
|
|
|
+import com.dragoninfo.dcuc.app.service.sub.*;
|
|
import com.dragoninfo.dcuc.app.vo.*;
|
|
import com.dragoninfo.dcuc.app.vo.*;
|
|
import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
|
|
import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
|
|
import com.dragonsoft.duceap.commons.util.UUIDUtils;
|
|
import com.dragonsoft.duceap.commons.util.UUIDUtils;
|
|
@@ -61,7 +58,10 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
private IFieldClaService fieldClaService;
|
|
private IFieldClaService fieldClaService;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
- private IDataCatalogBusiness dataIndexBusiness;
|
|
|
|
|
|
+ private IDataCatalogBusiness dataCatalogBusiness;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private IAppColumnRelationService appColumnRelationService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -351,6 +351,30 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
return ResponseStatus.success();
|
|
return ResponseStatus.success();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public ResponseStatus columnRelationSync() {
|
|
|
|
+ //因为子线程中需要调用总线需要用到请求头中的信息
|
|
|
|
+ //需要将requestAttributes设置到子线程中的RequestContextHolder
|
|
|
|
+ //SpringWeb暂时未提供RequestContextHolder父子线程共享ThreadLocal中的数据的配置,需要手动设置
|
|
|
|
+ RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
|
|
|
|
+ //开启父子线程
|
|
|
|
+ //方法内部有从ThreadLocal获取信息
|
|
|
|
+ //CompletableFuture默认使用ForkJoin线程池,不要使用1.8的新线程开启方法
|
|
|
|
+ //如果使用线程池需要用包装类将线程包装后设置RequestContextHolder
|
|
|
|
+ Runnable r = () -> {
|
|
|
|
+ RequestContextHolder.setRequestAttributes(requestAttributes);
|
|
|
|
+ try {
|
|
|
|
+ List<AppColumnRelationVO> list = getColumnRelationCatalogFromRemote();
|
|
|
|
+ appColumnRelationService.sync(list);
|
|
|
|
+ } finally {
|
|
|
|
+ RequestContextHolder.resetRequestAttributes();
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+ Thread t = new Thread(r);
|
|
|
|
+ t.start();
|
|
|
|
+ return ResponseStatus.success();
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public ResponseStatus dataSecSync() {
|
|
public ResponseStatus dataSecSync() {
|
|
//因为子线程中需要调用总线需要用到请求头中的信息
|
|
//因为子线程中需要调用总线需要用到请求头中的信息
|
|
@@ -427,7 +451,7 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public ResponseStatus syncTableAndColumn() {
|
|
public ResponseStatus syncTableAndColumn() {
|
|
- dataIndexBusiness.syncTableAndColumn();
|
|
|
|
|
|
+ dataCatalogBusiness.syncTableAndColumn();
|
|
return ResponseStatus.success();
|
|
return ResponseStatus.success();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -671,6 +695,19 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 从数据资源目录获取数据-字段关系
|
|
|
|
+ *
|
|
|
|
+ * @return 列表
|
|
|
|
+ */
|
|
|
|
+ private List<AppColumnRelationVO> getColumnRelationCatalogFromRemote() {
|
|
|
|
+ return getFirstChildResourceClassifies(dataResourceService.getColumnRelationCatalog())
|
|
|
|
+ .stream()
|
|
|
|
+ .map(childResourceClassify -> new AppColumnRelationVO(null, childResourceClassify.getCodeValue(), childResourceClassify.getCodeName()))
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 从数据资源目录获取数据-安全级别数据
|
|
* 从数据资源目录获取数据-安全级别数据
|
|
*
|
|
*
|