Quellcode durchsuchen

feat: 修改同步数据资源目录表方式

huangzqa vor 2 Jahren
Ursprung
Commit
6aeb77f48f

+ 23 - 14
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/enumresources/DataResourceEnum.java

@@ -5,30 +5,36 @@ import java.util.List;
 
 /**
  * 数据资源类型枚举类
+ *
  * @author mazq
  * @date 2021/4/13
  */
-public enum  DataResourceEnum {
+public enum DataResourceEnum {
 
     /**
      * 数据分级
      */
-    DATA_CLASSIFY("DATA_CLASSIFY","数据分级","DATA_CLASSIFY", DataAttrTypeEnum.DATA_ATTR_TABLE),
+    DATA_CLASSIFY("DATA_CLASSIFY", "数据分级", "DATA_CLASSIFY", DataAttrTypeEnum.DATA_ATTR_TABLE),
 
     /**
      * 数据资源分类
      */
-    DATA_RESOURCE_CLASSIFY("DATA_RESOURCE_CLASSIFY","数据资源分类","DATA_RESOURCE_CLASSIFY",DataAttrTypeEnum.DATA_ATTR_TABLE),
+    DATA_RESOURCE_CLASSIFY("DATA_RESOURCE_CLASSIFY", "数据资源分类", "DATA_RESOURCE_CLASSIFY", DataAttrTypeEnum.DATA_ATTR_TABLE),
 
     /**
      * 数据安全级别
      */
-    DATA_SECURITY_LEVEL("DATA_SECURITY_LEVEL","数据安全级别","DATA_SECURITY_LEVEL", DataAttrTypeEnum.DATA_ATTR_COLUMN),
+    DATA_SECURITY_LEVEL("DATA_SECURITY_LEVEL", "数据安全级别", "DATA_SECURITY_LEVEL", DataAttrTypeEnum.DATA_ATTR_COLUMN),
 
     /**
      * 字段分类
      */
-    COLUMN_CLASSIFY("COLUMN_CLASSIFY","字段分类","COLUMN_CLASSIFY",DataAttrTypeEnum.DATA_ATTR_COLUMN);
+    COLUMN_CLASSIFY("COLUMN_CLASSIFY", "字段分类", "COLUMN_CLASSIFY", DataAttrTypeEnum.DATA_ATTR_COLUMN),
+
+    /**
+     * 字段关系
+     */
+    COLUMN_RELATION_CATALOG("COLUMN_RELATION_CATALOG", "字段分类", "COLUMN_RELATION_CATALOG", DataAttrTypeEnum.DATA_ATTR_COLUMN);
 
     DataResourceEnum(String code, String label, String dataType, DataAttrTypeEnum attrType) {
         this.code = code;
@@ -95,14 +101,15 @@ public enum  DataResourceEnum {
 
     /**
      * 获取所有列属性的枚举类,包括公用资源
+     *
      * @return
      */
-    public static List<DataResourceEnum> getColumnDataResource(){
+    public static List<DataResourceEnum> getColumnDataResource() {
         List<DataResourceEnum> list = new ArrayList<>();
         for (DataResourceEnum value : values()) {
-            if(value.attrType.equals(DataAttrTypeEnum.DATA_ATTR_COLUMN) ||
-               value.attrType.equals(DataAttrTypeEnum.DATA_ATTR_ALL)){
-                 list.add(value);
+            if (value.attrType.equals(DataAttrTypeEnum.DATA_ATTR_COLUMN) ||
+                    value.attrType.equals(DataAttrTypeEnum.DATA_ATTR_ALL)) {
+                list.add(value);
             }
         }
         return list;
@@ -110,14 +117,15 @@ public enum  DataResourceEnum {
 
     /**
      * 获取所有表属性的枚举类,包括公用资源
+     *
      * @return
      */
-    public static List<DataResourceEnum> getTableDataResource(){
+    public static List<DataResourceEnum> getTableDataResource() {
         List<DataResourceEnum> list = new ArrayList<>();
         for (DataResourceEnum value : values()) {
-            if(value.attrType.equals(DataAttrTypeEnum.DATA_ATTR_TABLE) ||
-               value.attrType.equals(DataAttrTypeEnum.DATA_ATTR_ALL)){
-                 list.add(value);
+            if (value.attrType.equals(DataAttrTypeEnum.DATA_ATTR_TABLE) ||
+                    value.attrType.equals(DataAttrTypeEnum.DATA_ATTR_ALL)) {
+                list.add(value);
             }
         }
         return list;
@@ -125,11 +133,12 @@ public enum  DataResourceEnum {
 
     /**
      * 根据code获取枚举类值
+     *
      * @param code
      */
     public static DataResourceEnum getByCode(String code) {
         for (DataResourceEnum value : values()) {
-            if(value.getCode().equals(code)){
+            if (value.getCode().equals(code)) {
                 return value;
             }
         }

+ 30 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/IDataCatalogBusiness.java

@@ -0,0 +1,30 @@
+package com.dragoninfo.dcuc.app.business;
+
+import java.lang.reflect.Type;
+import java.util.Map;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+public interface IDataCatalogBusiness {
+
+    /**
+     * 同步表和字段
+     */
+    void syncTableAndColumn();
+
+    /**
+     * 根据类型获取数据类别
+     *
+     * @param paramMap 请求参数
+     * @param type     类型
+     * @param <T>      泛型
+     * @return 查询到的数据
+     */
+    <T> T getDataResource(Map<String,Object> paramMap, Type type);
+}

+ 0 - 17
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/IDataIndexBusiness.java

@@ -1,17 +0,0 @@
-package com.dragoninfo.dcuc.app.business;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author huangzqa
- * @date 2022/10/2
- */
-public interface IDataIndexBusiness {
-
-    /**
-     * 同步表和字段
-     */
-    void syncTableAndColumn();
-}

+ 1 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/IResourceBusiness.java

@@ -98,6 +98,6 @@ public interface IResourceBusiness {
      */
     boolean cancelService(String serviceCode);
 
-    <T> T getDataResource(Map paramMap, Type type);
+
 
 }

+ 28 - 2
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/DataIndexBusinessImpl.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/DataCatalogBusinessImpl.java

@@ -1,16 +1,19 @@
 package com.dragoninfo.dcuc.app.business.impl;
 
 import cn.hutool.core.util.PageUtil;
-import com.dragoninfo.dcuc.app.business.IDataIndexBusiness;
+import com.alibaba.fastjson.JSON;
+import com.dragoninfo.dcuc.app.business.IDataCatalogBusiness;
 import com.dragoninfo.dcuc.app.config.DcucResourceConfig;
 import com.dragoninfo.dcuc.app.dto.dataresource.*;
 import com.dragoninfo.dcuc.app.entity.sub.AppDataItemInfo;
 import com.dragoninfo.dcuc.app.entity.sub.AppDataResourceInfo;
 import com.dragoninfo.dcuc.app.service.sub.IAppDataItemInfoService;
 import com.dragoninfo.dcuc.app.service.sub.IAppDataResourceInfoService;
+import com.dragoninfo.dcuc.common.http.HttpUtil;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
 import com.dragonsoft.duceap.commons.util.json.JsonUtils;
+import com.google.common.reflect.TypeToken;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.ParameterizedTypeReference;
@@ -21,9 +24,11 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
+import java.lang.reflect.Type;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 
 /**
@@ -36,7 +41,7 @@ import java.util.Optional;
  */
 @Slf4j
 @Component
-public class DataIndexBusinessImpl implements IDataIndexBusiness {
+public class DataCatalogBusinessImpl implements IDataCatalogBusiness {
 
     @Autowired
     private DcucResourceConfig dataResourceConfig;
@@ -49,6 +54,11 @@ public class DataIndexBusinessImpl implements IDataIndexBusiness {
 
     @Autowired
     private IAppDataItemInfoService appDataItemInfoService;
+    /**
+     * 数据类别查询接口
+     */
+    public static final String RESOURCE_TYPE = "/resource/catalog-api/resource-type";
+
     /**
      * 资源列表查询
      */
@@ -137,4 +147,20 @@ public class DataIndexBusinessImpl implements IDataIndexBusiness {
 
         return Optional.ofNullable(baseResp.getResultData());
     }
+
+    @Override
+    public <T> T getDataResource(Map<String,Object> paramMap, Type type) {
+        String url = dataResourceConfig.getDataResource().getDataCatalogUrl() + RESOURCE_TYPE;
+
+        String response = HttpUtil.postJSON(url, JSON.toJSONString(paramMap), null, null);
+        log.info("getDataResource response:{}", response);
+        BaseResp<String> baseResp = JSON.parseObject(response, new TypeToken<BaseResp<String>>() {
+        }.getType());
+        if (baseResp.isSuccess()) {
+            return JSON.parseObject(baseResp.getResultData(), type);
+        }
+        log.error("调用数据失败:getDataResource type error message:{} ", baseResp.getMessage());
+        return null;
+    }
+
 }

+ 0 - 32
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/ResourceBusiness.java

@@ -239,38 +239,6 @@ public class ResourceBusiness implements IResourceBusiness {
         return true;
     }
 
-    @Override
-    public <T> T getDataResource(Map paramMap, Type type) {
-        // 构建header
-        String busSraId = resourceConfig.getBusSraId();
-
-        String busSreIdcard = UserContextUtils.getCurrentUser().getIdcard();
-
-        String busServiceId = resourceConfig.getDataResource().getBusServiceId();
-        String busServiceFunc = resourceConfig.getDataResource().getBusServiceFunc();
-
-        BusSendReqVO busSendReqVO = BusSendReqVO.builder()
-                .busSraId(busSraId)
-                .busServiceId(busServiceId)
-                .busServiceFunc(busServiceFunc)
-                .busSreIdcard(busSreIdcard)
-                .build();
-
-        List<Header> headerList = getHeaders(busSendReqVO);
-        String url = resourceConfig.getResourceUrl();
-        logger.info("getDataResource >> url:{}, busSraId:{}, busServiceId:{}, busServiceFunc:{}, busSreIdcard:{}",
-                url, busSraId, busServiceId, busServiceFunc, busSreIdcard);
-        String response = HttpUtil.postJSON(url, JSON.toJSONString(paramMap), headerList, null);
-        logger.info("getDataResource response:{}", response);
-        BaseResp<String> baseResp = JSON.parseObject(response, new TypeToken<BaseResp<String>>() {
-        }.getType());
-        if ("000".equals(baseResp.getCode())) {
-            return JSON.parseObject(baseResp.getResultData(), type);
-        }
-        logger.error("调用数据失败:getDataResource >> url:{}, busSraId:{}, busServiceId:{}, busServiceFunc:{}, busSreIdcard:{}",
-                url, busSraId, busServiceId, busServiceFunc, busSreIdcard);
-        return null;
-    }
 
     private String getServiceRemoteDetailByCode(String serviceCode) {
 

+ 0 - 10
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/config/DcucResourceConfig.java

@@ -84,7 +84,6 @@ public class DcucResourceConfig {
      */
     private DataResourceConfig dataResource;
 
-
     @Data
     public static class MenuResourceConfig {
 
@@ -164,15 +163,6 @@ public class DcucResourceConfig {
     @Data
     public static class DataResourceConfig {
 
-        /**
-         * 总线请求头参数
-         */
-        private String busServiceId;
-        /**
-         * 总线请求头参数
-         */
-        private String busServiceFunc;
-
         /**
          * 数据资源目录路径
          */

+ 2 - 6
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/DataResourceFacade.java

@@ -1,6 +1,6 @@
 package com.dragoninfo.dcuc.app.facade;
 
-import com.dragoninfo.dcuc.app.business.IDataIndexBusiness;
+import com.dragoninfo.dcuc.app.business.IDataCatalogBusiness;
 import com.dragoninfo.dcuc.app.dto.dataresource.ChildResourceClassify;
 import com.dragoninfo.dcuc.app.dto.dataresource.ResourceClassify;
 import com.dragoninfo.dcuc.app.enumresources.DataResourceEnum;
@@ -21,7 +21,6 @@ import com.dragoninfo.dcuc.app.vo.*;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
-import com.dragonsoft.duceap.web.utils.RequestUtils;
 import com.google.common.base.Joiner;
 import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
@@ -32,11 +31,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.servlet.support.RequestContextUtils;
 
-import javax.servlet.http.HttpServletRequest;
 import java.util.*;
-import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
 
 /**
@@ -65,7 +61,7 @@ public class DataResourceFacade implements IDataResourceFacade {
     private IFieldClaService fieldClaService;
 
     @Autowired
-    private IDataIndexBusiness dataIndexBusiness;
+    private IDataCatalogBusiness dataIndexBusiness;
 
 
     @Override

+ 9 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/IDataResourceService.java

@@ -6,9 +6,11 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * Created by lidr on 2021/4/14
+ * @author lidr
+ * @date 2021/4/14
  */
 public interface IDataResourceService {
+
     List<ResourceClassify> getDataLevelList();
 
     List<ResourceClassify> getSecurityLevelList();
@@ -17,5 +19,11 @@ public interface IDataResourceService {
 
     List<ResourceClassify> getFieldClassifyList();
 
+    /**
+     * 获取字段关系数据
+     * @return 数据
+     */
+    List<ResourceClassify>  getColumnRelationCatalog();
+
 
 }

+ 24 - 17
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/DataResourceServiceImpl.java

@@ -1,6 +1,6 @@
 package com.dragoninfo.dcuc.app.service.impl;
 
-import com.dragoninfo.dcuc.app.business.IResourceBusiness;
+import com.dragoninfo.dcuc.app.business.IDataCatalogBusiness;
 import com.dragoninfo.dcuc.app.dto.dataresource.ResourceClassify;
 import com.dragoninfo.dcuc.app.dto.dataresource.ResourceType;
 import com.dragoninfo.dcuc.app.service.IDataResourceService;
@@ -18,34 +18,34 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * Created by lidr on 2021/4/14
+ * @author lidr
+ * @date 2021/4/14
  */
-@Transactional(rollbackFor = Exception.class)
 @Service
 public class DataResourceServiceImpl implements IDataResourceService {
 
     Logger logger = LoggerFactory.getLogger(DataResourceServiceImpl.class);
 
     @Autowired
-    private IResourceBusiness resourceBusiness;
+    private IDataCatalogBusiness dataCatalogBusiness;
 
     @Override
     public List<ResourceClassify> getDataLevelList() {
-        Map param = getParamMap(ResourceType.builder().typeCode("DATA_LEVEL").build());
-        return resourceBusiness.getDataResource(param, new TypeToken<List<ResourceClassify>>() {
+        Map<String, Object> param = getParamMap(ResourceType.builder().typeCode("DATA_LEVEL").build());
+        return dataCatalogBusiness.getDataResource(param, new TypeToken<List<ResourceClassify>>() {
         }.getType());
     }
 
     @Override
     public List<ResourceClassify> getSecurityLevelList() {
-        Map param = getParamMap(ResourceType.builder().typeCode("DATA_SECURITY_LEVEL").build());
-        return resourceBusiness.getDataResource(param, new TypeToken<List<ResourceClassify>>() {
+        Map<String, Object> param = getParamMap(ResourceType.builder().typeCode("DATA_SECURITY_LEVEL").build());
+        return dataCatalogBusiness.getDataResource(param, new TypeToken<List<ResourceClassify>>() {
         }.getType());
     }
 
     @Override
     public List<ResourceClassify> getDataClassifyList() {
-        Map param = getParamMap(true,
+        Map<String, Object> param = getParamMap(true,
                 ResourceType.builder().typeCode("RESOURCE_SJZZYJFL").build(),
                 ResourceType.builder().typeCode("RESOURCE_SJZZEJFL").build(),
                 ResourceType.builder().typeCode("RESOURCE_SJZYBQ1").build(),
@@ -54,30 +54,37 @@ public class DataResourceServiceImpl implements IDataResourceService {
                 ResourceType.builder().typeCode("RESOURCE_SJZYBQ4").build(),
                 ResourceType.builder().typeCode("RESOURCE_SJZYBQ5").build()
         );
-        return resourceBusiness.getDataResource(param, new TypeToken<List<ResourceClassify>>() {
+        return dataCatalogBusiness.getDataResource(param, new TypeToken<List<ResourceClassify>>() {
         }.getType());
     }
 
     @Override
     public List<ResourceClassify> getFieldClassifyList() {
-        Map param = getParamMap(true,
+        Map<String, Object> param = getParamMap(true,
                 ResourceType.builder().typeCode("LEVEL_1_COLUMN_CLASSIFY").build(),
                 ResourceType.builder().typeCode("LEVEL_2_COLUMN_CLASSIFY").build()
         );
-        return resourceBusiness.getDataResource(param, new TypeToken<List<ResourceClassify>>() {
+        return dataCatalogBusiness.getDataResource(param, new TypeToken<List<ResourceClassify>>() {
         }.getType());
     }
 
-    private Map getParamMap(ResourceType... typeCodes) {
+    @Override
+    public List<ResourceClassify> getColumnRelationCatalog() {
+        Map<String, Object> param = getParamMap(ResourceType.builder().typeCode("COLUMN_RELATION_CATALOG").build());
+        return dataCatalogBusiness.getDataResource(param, new TypeToken<List<ResourceClassify>>() {
+        }.getType());
+    }
+
+    private Map<String, Object> getParamMap(ResourceType... typeCodes) {
         return getParamMap(false, typeCodes);
     }
 
-    private Map getParamMap(boolean isBuildTree, ResourceType... typeCodes) {
-        Map paramMap = new HashMap();
-        List<Map> mapList = new ArrayList<>();
+    private Map<String, Object> getParamMap(boolean isBuildTree, ResourceType... typeCodes) {
+        Map<String, Object> paramMap = new HashMap<>();
+        List<Map<String, String>> mapList = new ArrayList<>();
 
         for (ResourceType typeCode : typeCodes) {
-            Map typeMap = new HashMap();
+            Map<String, String> typeMap = new HashMap<>();
 
             typeMap.put("typeCode", typeCode.getTypeCode());
             if (Strings.isNullOrEmpty(typeCode.getParentCode())) {

+ 0 - 2
dcuc-app-service/src/main/resources/application-app.yml

@@ -37,8 +37,6 @@ dcuc:
         bus-service-id: S-010000000000-0700-00126
         bus-service-func: customQuery
       data-resource:
-        bus-service-id: S-120000000000-0100-00028
-        bus-service-func: searchType
         data-catalog-url: http://10.201.8.40:9977
       resource-url: http://10.201.7.31:8585/bus/send
       bu-service-url: http://10.11.0.41:8081/ddos/v1/ministryResources/searchMinistryResources

+ 0 - 13
dcuc-app-service/src/test/java/com/dragoninfo/dcuc/app/business/ResourceBusinessTest.java

@@ -67,19 +67,6 @@ public class ResourceBusinessTest {
         mapList.add(typeMap);
         paramMap.put("resourceTypes", mapList);
 
-        // 构建header
-        String busSraId = resourceConfig.getBusSraId();
-        busSraId = "Y-120000000000-0037";//原有身份没有权限 测试数据
-        String busSreIdcard = resourceConfig.getBusSreIdcard();
-        String busServiceId = resourceConfig.getDataResource().getBusServiceId();
-        String busServiceFunc = resourceConfig.getDataResource().getBusServiceFunc();
-        List<Header> heards = getHeaders(busSraId, busSreIdcard, busServiceId, busServiceFunc);
-        String url = resourceConfig.getResourceUrl();
-        String response = HttpUtil.postJSON(url, JSON.toJSONString(paramMap), heards, null);
-
-        Map resultMap = (Map)JSON.parse(response);
-        List<Map> resultData = (List)resultMap.get("resultData");
-        List<Map> resultList = (List)resultData.get(0).get("dataList");
 
     }