Explorar el Código

Merge branch 'huangzqa-add-data-auth-20221002' of 192.168.0.144:xj-aks/dcuc/app-service into mzq-sjjq-220929

 Conflicts:
	dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/enumresources/DataResourceEnum.java
	dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/DataResourceFacade.java
mazq hace 2 años
padre
commit
7a2e389fc4
Se han modificado 34 ficheros con 1793 adiciones y 208 borrados
  1. 8 0
      dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/IDataResourceFacade.java
  2. 24 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/BaseResp.java
  3. 309 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/DataResourceInfoDTO.java
  4. 159 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/DataResourceItemIntoDTO.java
  5. 34 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/PageDataRespDTO.java
  6. 28 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/PageReqDTO.java
  7. 73 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/AppColumnRelation.java
  8. 145 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/AppDataItemInfo.java
  9. 227 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/AppDataResourceInfo.java
  10. 24 13
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/enumresources/DataResourceEnum.java
  11. 1 36
      dcuc-app-service/pom.xml
  12. 0 22
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/ConsumerTomcatApplication.java
  13. 0 64
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/NacosPortConfig.java
  14. 30 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/IDataCatalogBusiness.java
  15. 1 1
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/IResourceBusiness.java
  16. 166 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/DataCatalogBusinessImpl.java
  17. 0 32
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/ResourceBusiness.java
  18. 6 5
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/config/DcucResourceConfig.java
  19. 7 1
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/DataResourceFacade.java
  20. 15 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/AppColumnRelationMapper.java
  21. 16 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/AppDataItemInfoMapper.java
  22. 16 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/AppDataResourceInfoMapper.java
  23. 9 1
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/IDataResourceService.java
  24. 24 17
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/DataResourceServiceImpl.java
  25. 12 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IAppColumnRelationService.java
  26. 28 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IAppDataItemInfoService.java
  27. 27 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IAppDataResourceInfoService.java
  28. 22 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/AppColumnRelationServiceImpl.java
  29. 42 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/AppDataItemInfoServiceImpl.java
  30. 40 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/AppDataResourceInfoServiceImpl.java
  31. 2 3
      dcuc-app-service/src/main/resources/application-app.yml
  32. 104 0
      dcuc-app-service/src/main/resources/config/mysql/V4_1_0008__Add_Data_Table_Ration.sql
  33. 194 0
      dcuc-app-service/src/main/resources/config/sql/V4_1_0008__Add_Data_Table_Ration.sql
  34. 0 13
      dcuc-app-service/src/test/java/com/dragoninfo/dcuc/app/business/ResourceBusinessTest.java

+ 8 - 0
dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/IDataResourceFacade.java

@@ -78,6 +78,14 @@ public interface IDataResourceFacade {
     @GetMapping(value = "fieldClaSync")
     ResponseStatus fieldClaSync();
 
+    /**
+     * 表和字段同步
+     *
+     * @return 状态
+     */
+    @GetMapping(value = "syncTableAndColumn")
+    ResponseStatus syncTableAndColumn();
+
     /**
      * 批量获取
      * 根据id和classifyType获取名字和code值

+ 24 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/BaseResp.java

@@ -5,13 +5,37 @@ import lombok.Data;
 import java.util.List;
 
 /**
+ * 基础返回值
+ *
  * @Author: qiuyu
  * @Date: 2021/4/15 11:11
  * @Description:
  */
 @Data
 public class BaseResp<T> {
+
+    /**
+     * 成功代码
+     */
+    public static final String SUCCESS_CODE = "000";
+    /**
+     * 返回状态,000成功,其它异常
+     */
     private String code;
+    /**
+     * 返回消息
+     */
     private String message;
+    /**
+     * 返回数据
+     */
     private T resultData;
+
+    public boolean isSuccess() {
+        return this.code.equals(SUCCESS_CODE);
+    }
+
+    public boolean isFail() {
+        return !isSuccess();
+    }
 }

+ 309 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/DataResourceInfoDTO.java

@@ -0,0 +1,309 @@
+
+package com.dragoninfo.dcuc.app.dto.dataresource;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateUtil;
+import com.dragoninfo.dcuc.app.entity.sub.AppDataResourceInfo;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 数据资源表信息
+ *
+ * @author huangzqa
+ * @date 2022/10/02
+ */
+@Data
+public class DataResourceInfoDTO {
+
+    /**
+     * 应用系统编号
+     */
+    private String applicationCode;
+
+    /**
+     * 应用系统名称
+     */
+    private String applicationCodeName;
+
+    /**
+     * 数据资源事权单位编号
+     */
+    private String authorityDeptCode;
+
+    /**
+     * 数据资源事权单位名称
+     */
+    private String authorityDeptName;
+
+    /**
+     * 数据资源目录编号
+     */
+    private String catalogCode;
+
+    /**
+     * 对标类型00:未对标;01:本地标准;02:公安部规范
+     */
+    private String comparisonType;
+
+    /**
+     * 数据获取方式编号
+     */
+    private String dataAccessCode;
+
+    /**
+     * 数据获取方式名称
+     */
+    private String dataAccessName;
+
+    /**
+     * 数据分级代码
+     */
+    private String dataClassification;
+
+    /**
+     * 数据分级名称
+     */
+    private String dataClassificationName;
+
+    /**
+     * 数据组织一级分类代码
+     */
+    private String dataClassifyOneCode;
+
+    /**
+     * 数据组织一级分类名称
+     */
+    private String dataClassifyOneName;
+
+    /**
+     * 数据组织二级分类代码
+     */
+    private String dataClassifyTwoCode;
+
+    /**
+     * 数据组织二级分类名称
+     */
+    private String dataClassifyTwoName;
+
+    /**
+     * 数据接入方式编号
+     */
+    private String dataInsertCode;
+
+    /**
+     * 数据接入方式名称
+     */
+    private String dataInsertName;
+
+    /**
+     * 数据标签5代码
+     */
+    private String dataLabelFiveCode;
+
+    /**
+     * 数据标签5名称
+     */
+    private String dataLabelFiveName;
+
+    /**
+     * 数据标签4代码
+     */
+    private String dataLabelFourCode;
+
+    /**
+     * 数据标签4名称
+     */
+    private String dataLabelFourName;
+    /**
+     * 数据标签3代码
+     */
+    private String dataLabelThreeCode;
+    /**
+     * 数据标签3名称
+     */
+    private String dataLabelThreeName;
+    /**
+     * 数据标签3代码
+     */
+    private String dataLabelTwoCode;
+    /**
+     * 数据标签2名称
+     */
+    private String dataLabelTwoName;
+    /**
+     * 数据标签1代码
+     */
+    private String dataLabelOneCode;
+    /**
+     * 数据标签1名称
+     */
+    private String dataLabelOneName;
+    /**
+     * 数据对象ID
+     */
+    private String dataObjectId;
+    /**
+     * 一级数据来源编号
+     */
+    private String dataSourceOneCode;
+    /**
+     * 一级数据来源名称
+     */
+    private String dataSourceOneName;
+    /**
+     * 二级数据来源编号
+     */
+    private String dataSourceTwoCode;
+    /**
+     * 二级数据来源名称
+     */
+    private String dataSourceTwoName;
+    /**
+     * 增量数据记录规模
+     */
+    private String incrementRecordSize;
+    /**
+     * 增量数据存储规模
+     */
+    private String incrementStorageSize;
+    /**
+     * 是否开放服务1是0否
+     */
+    private String isAccess;
+    /**
+     * 数据资源管理单位编号
+     */
+    private String manageDeptCode;
+    /**
+     * 数据资源管理单位名称
+     */
+    private String manageDeptName;
+    /**
+     * 注册时间,格式:yyyy-MM-dd HH:mm:ss
+     */
+    private String registerTime;
+    /**
+     * 数据资源标识符
+     */
+    private String resourceCode;
+    /**
+     * 数据资源描述
+     */
+    private String resourceDescription;
+
+    /**
+     * 资源ID
+     */
+    private String resourceId;
+    /***
+     * 数据资源位置编号
+     */
+    private String resourceLocationCode;
+    /**
+     * 数据资源位置名称
+     */
+    private String resourceLocationName;
+    /**
+     * 据资源名称
+     */
+    private String resourceName;
+    /**
+     * 数据资源服务编号
+     */
+    private String resourceServiceCode;
+    /**
+     * 资源状态代码
+     */
+    private String resourceStatus;
+
+    /**
+     * 资源状态名称1启动0停用2注销
+     */
+    private String resourceStatusName;
+
+    /**
+     * 数据资源版本号
+     */
+    private String resourceVersion;
+    /**
+     * 来源系统种类编号
+     */
+    private String sourceSystemCode;
+    /**
+     * 来源系统种类名称
+     */
+    private String sourceSystemName;
+    /**
+     * 标准数据项集编码
+     */
+    private String standardDataCode;
+    /**
+     * 标准数据项集名称
+     */
+    private String standardDataName;
+    /**
+     * 存量数据记录规模
+     */
+    private String stockRecordSize;
+    /**
+     * 存量数据存储规模
+     */
+    private String stockStorageSize;
+    /**
+     * 数据资源存储位置描述编号
+     */
+    private String storageCenterCode;
+    /**
+     * 数据资源存储位置描述名称
+     */
+    private String storageCenterName;
+    /**
+     * 数据存储周期
+     */
+    private String storageCycle;
+    /**
+     * 数据对象英文名
+     */
+    private String tableCode;
+    /**
+     * 数据对象中文名
+     */
+    private String tableName;
+    /**
+     * 数据更新周期代码
+     */
+    private String updateCycleCode;
+    /**
+     * 数据更新周期名称
+     */
+    private String updateCycleName;
+    /**
+     * 更新时间,格式:yyyy-MM-dd HH:mm:ss
+     */
+    private String updateTime;
+
+    /**
+     * 数据项信息
+     */
+    private List<DataResourceItemIntoDTO> dataItems;
+
+    public AppDataResourceInfo parseToAppDataResourceInfo() {
+        AppDataResourceInfo appDataResourceInfo = new AppDataResourceInfo();
+        BeanUtil.copyProperties(this, appDataResourceInfo);
+        BeanUtil.copyProperties(this, appDataResourceInfo);
+        Date registerTime = DateUtil.parse(this.registerTime, DatePattern.NORM_DATETIME_PATTERN);
+        appDataResourceInfo.setResourceRegisterTime(registerTime);
+        Date updateTime = DateUtil.parse(this.updateTime, DatePattern.NORM_DATETIME_PATTERN);
+        appDataResourceInfo.setResourceUpdateTime(updateTime);
+        appDataResourceInfo.setAccess(this.isAccess);
+
+        appDataResourceInfo.setCreateTime(null);
+        appDataResourceInfo.setUpdateTime(null);
+        return appDataResourceInfo;
+    }
+
+}

+ 159 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/DataResourceItemIntoDTO.java

@@ -0,0 +1,159 @@
+
+package com.dragoninfo.dcuc.app.dto.dataresource;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateUtil;
+import com.dragoninfo.dcuc.app.entity.sub.AppDataItemInfo;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 数据资源表信息
+ *
+ * @author huangzqa
+ * @date 2022/10/02
+ */
+@Data
+public class DataResourceItemIntoDTO {
+
+    /**
+     * 字段分类代码
+     */
+    private String columnClassify;
+    /**
+     * 字段分类名称
+     */
+    private String columnClassifyName;
+    /**
+     * 字段英文名称
+     */
+    private String columnCode;
+    /**
+     * 数据项ID
+     */
+    private String columnId;
+    /**
+     * 字段中文名称
+     */
+    private String columnName;
+    /**
+     * 数据元内部标识符
+     */
+    private String dataElementCode;
+    /**
+     * 数据项标识符
+     */
+    private String dataItemCode;
+    /**
+     * 数据项编号
+     */
+    private String dataItemNo;
+    /**
+     * 数据安全级别代码
+     */
+    private String dataSecurityLevel;
+    /**
+     * 数据安全级别名称
+     */
+    private String dataSecurityLevelName;
+    /**
+     * 数据项类型代码
+     */
+    private String dataSourceItemType;
+    /**
+     * 数据项类型名称
+     */
+    private String dataSourceItemTypeName;
+
+    /**
+     * ???
+     */
+    private Boolean idItemStatus;
+    /**
+     * 是否失效,true/false
+     */
+    private Boolean invalidStatus;
+    /**
+     * 查询/订阅匹配方式代码
+     */
+    private String matchingModeCode;
+    /**
+     * 查询/订阅匹配方式名称
+     */
+    private String matchingModeName;
+    /**
+     * 字段性质分类代码
+     */
+    private String propertyClassifyCode;
+    /**
+     * 字段性质分类名称
+     */
+    private String propertyClassifyName;
+    /**
+     * 注册时间,格式:yyyy-MM-dd HH:mm:ss
+     */
+    private String registerTime;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 是否必填,true/false
+     */
+    private Boolean requiredStatus;
+    /**
+     * 是否查询条件,true/false
+     */
+    private Boolean searchConditionStatus;
+    /**
+     * 字段敏感分类代码
+     */
+    private String sensitiveClassifyCode;
+    /**
+     * 字段敏感分类名称
+     */
+    private String sensitiveClassifyName;
+    /**
+     * 数据项集数据项英文名
+     */
+    private String standardDataItemCode;
+    /**
+     * 数据项集数据项数据长度
+     */
+    private String standardDataItemLength;
+    /**
+     * 数据项集数据项中文名
+     */
+    private String standardDataItemName;
+    /**
+     * 数据项集数据项编号
+     */
+    private String standardDataItemNo;
+    /**
+     * 数据项集数据项数据类型
+     */
+    private String standardDataItemType;
+    /**
+     * 是否订阅条件,true/false
+     */
+    private Boolean subscribeConditionStatus;
+    /**
+     * 更新时间,格式:yyyy-MM-dd HH:mm:ss
+     */
+    private String updateTime;
+
+    public AppDataItemInfo parseToAppDataItemInfo() {
+        AppDataItemInfo appDataItemInfo = new AppDataItemInfo();
+        BeanUtil.copyProperties(this, appDataItemInfo);
+        Date registerTime = DateUtil.parse(this.registerTime, DatePattern.NORM_DATETIME_PATTERN);
+        appDataItemInfo.setColumnRegisterTime(registerTime);
+        Date updateTime = DateUtil.parse(this.updateTime, DatePattern.NORM_DATETIME_PATTERN);
+        appDataItemInfo.setColumnUpdateTime(updateTime);
+        appDataItemInfo.setCreateTime(null);
+        appDataItemInfo.setUpdateTime(null);
+        return appDataItemInfo;
+    }
+
+}

+ 34 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/PageDataRespDTO.java

@@ -0,0 +1,34 @@
+package com.dragoninfo.dcuc.app.dto.dataresource;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 分页返回
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+@Data
+public class PageDataRespDTO<T> {
+    /**
+     * 当前页码
+     */
+    private Integer page;
+    /**
+     * 每页条数,为空默认为10
+     */
+    private Integer pageSize;
+    /**
+     * 总记录数
+     */
+    private Integer totalCount;
+    /**
+     * 返回数据
+     */
+    private List<T> dataList;
+
+}

+ 28 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/dataresource/PageReqDTO.java

@@ -0,0 +1,28 @@
+package com.dragoninfo.dcuc.app.dto.dataresource;
+
+import lombok.Data;
+
+/**
+ * <p>
+ * 分页请求
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+@Data
+public class PageReqDTO {
+    /**
+     * 请求页码,从1开始
+     */
+    private Integer page;
+    /**
+     * 每页条数,为空默认为10
+     */
+    private Integer pageSize;
+
+    /**
+     * 条件
+     */
+    private Object condition;
+}

+ 73 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/AppColumnRelation.java

@@ -0,0 +1,73 @@
+package com.dragoninfo.dcuc.app.entity.sub;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import org.apache.ibatis.type.JdbcType;
+import org.springframework.data.annotation.CreatedBy;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedBy;
+import org.springframework.data.annotation.LastModifiedDate;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 字段关系表
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+@TableName("t_app_column_relation")
+@Data
+public class AppColumnRelation {
+    /**
+     * 编号
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 表码名称
+     */
+    private String codeName;
+    /**
+     * 表码值
+     */
+    private String codeValue;
+    /**
+     * 字段一分类值
+     */
+    private String columnOneClassValue;
+    /**
+     * 字段二分类值
+     */
+    private String columnTwoClassValue;
+    /**
+     * 是否删除
+     */
+    @TableLogic
+    private String deleted;
+    /**
+     * 创建时间
+     */
+    @CreatedDate
+    @TableField(jdbcType = JdbcType.TIMESTAMP, fill = FieldFill.INSERT)
+    private Date createTime;
+    /**
+     * 更新时间
+     */
+    @LastModifiedDate
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date updateTime;
+    /**
+     * 创建用户
+     */
+    @CreatedBy
+    @TableField(jdbcType = JdbcType.VARCHAR, fill = FieldFill.INSERT)
+    private String createUser;
+    /**
+     * 更新用户
+     */
+    @LastModifiedBy
+    private String updateUser;
+}

+ 145 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/AppDataItemInfo.java

@@ -0,0 +1,145 @@
+package com.dragoninfo.dcuc.app.entity.sub;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import org.apache.ibatis.type.JdbcType;
+import org.springframework.data.annotation.CreatedBy;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedBy;
+import org.springframework.data.annotation.LastModifiedDate;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 数据资源字段信息
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+@Data
+@TableName("t_app_data_item_info")
+public class AppDataItemInfo {
+    /**
+     * 编号
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 数据资源ID
+     */
+    private String resourceTableId;
+    /**
+     * 数据项ID
+     */
+    private String columnId;
+    /**
+     * 字段英文名称
+     */
+    private String columnCode;
+    /**
+     * 字段中文名称
+     */
+    private String columnName;
+    /**
+     * 字段分类代码
+     */
+    private String columnClassify;
+    /**
+     * 字段分类名称
+     */
+    private String columnClassifyName;
+    /**
+     * 数据安全级别代码
+     */
+    private String dataSecurityLevel;
+    /**
+     * 数据安全级别名称
+     */
+    private String dataSecurityLevelName;
+    /**
+     * 数据项编号
+     */
+    private String dataItemNo;
+    /**
+     * 数据项标识符
+     */
+    private String dataItemCode;
+    /**
+     * 数据项类型代码
+     */
+    private String dataSourceItemType;
+    /**
+     * 数据项类型名称
+     */
+    private String dataSourceItemTypeName;
+    /**
+     * 数据元内部标识符
+     */
+    private String dataElementCode;
+    /**
+     * 数据项集数据项编号
+     */
+    private String standardDataItemNo;
+    /**
+     * 数据项集数据项中文名
+     */
+    private String standardDataItemName;
+    /**
+     * 数据项集数据项英文名
+     */
+    private String standardDataItemCode;
+    /**
+     * 数据项集数据项数据类型
+     */
+    private String standardDataItemType;
+    /**
+     * 数据项集数据项数据长度
+     */
+    private String standardDataItemLength;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 是否失效,true/false
+     */
+    private String invalidStatus;
+    /**
+     * 注册时间,格式:yyyy-MM-dd HH:mm:ss
+     */
+    private Date columnRegisterTime;
+    /**
+     * 更新时间,格式:yyyy-MM-dd HH:mm:ss
+     */
+    private Date columnUpdateTime;
+    /**
+     * 是否删除
+     */
+    @TableLogic
+    private String deleted;
+    /**
+     * 创建时间
+     */
+    @CreatedDate
+    @TableField(jdbcType = JdbcType.TIMESTAMP, fill = FieldFill.INSERT)
+    private Date createTime;
+    /**
+     * 更新时间
+     */
+    @LastModifiedDate
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date updateTime;
+    /**
+     * 创建用户
+     */
+    @CreatedBy
+    @TableField(jdbcType = JdbcType.VARCHAR, fill = FieldFill.INSERT)
+    private String createUser;
+    /**
+     * 更新用户
+     */
+    @LastModifiedBy
+    private String updateUser;
+}

+ 227 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/AppDataResourceInfo.java

@@ -0,0 +1,227 @@
+package com.dragoninfo.dcuc.app.entity.sub;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import org.apache.ibatis.type.JdbcType;
+import org.springframework.data.annotation.CreatedBy;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedBy;
+import org.springframework.data.annotation.LastModifiedDate;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 数据资源表信息
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+@Data
+@TableName("t_app_data_resource_info")
+public class AppDataResourceInfo {
+    /**
+     * 编号
+     */
+    @TableId(type = IdType.INPUT)
+    private String id;
+    /**
+     * 数据对象ID
+     */
+    private String dataObjectId;
+    /**
+     * 数据资源标识符
+     */
+    private String resourceCode;
+    /**
+     * 资源名称
+     */
+    private String resourceName;
+    /**
+     * 数据资源版本号
+     */
+    private String resourceVersion;
+    /**
+     * 数据资源描述
+     */
+    private String resourceDescription;
+    /**
+     * 数据对象英文名
+     */
+    private String tableCode;
+    /**
+     * 数据对象中文名
+     */
+    private String tableName;
+    /**
+     * 数据资源目录编号
+     */
+    private String catalogCod;
+    /**
+     * 应用系统编号
+     */
+    private String applicationCode;
+    /**
+     * 应用系统名称
+     */
+    private String applicationCodeName;
+    /**
+     * 一级数据来源编号
+     */
+    private String dataSourceOneCode;
+    /**
+     * 一级数据来源名称
+     */
+    private String dataSourceOneName;
+    /**
+     * 二级数据来源编号
+     */
+    private String dataSourceTwoCode;
+    /**
+     * 二级数据来源名称
+     */
+    private String dataSourceTwoName;
+    /**
+     * 数据分级代码
+     */
+    private String dataClassification;
+    /**
+     * 数据分级名称
+     */
+    private String dataClassificationName;
+    /**
+     * 标准数据项集编码
+     */
+    private String standardDataCode;
+    /**
+     * 标准数据项集名称
+     */
+    private String standardDataName;
+    /**
+     * 数据组织一级分类代码
+     */
+    private String dataClassifyOneCode;
+    /**
+     * 数据组织一级分类名称
+     */
+    private String dataClassifyOneName;
+    /**
+     * 数据组织二级分类代码
+     */
+    private String dataClassifyTwoCode;
+    /**
+     * 数据组织二级分类名称
+     */
+    private String dataClassifyTwoName;
+    /**
+     * 数据标签1代码
+     */
+    private String dataLabelOneCode;
+    /**
+     * 数据标签1名称
+     */
+    private String dataLabelOneName;
+    /**
+     * 数据标签2代码
+     */
+    private String dataLabelTwoCode;
+    /**
+     * 数据标签2名称
+     */
+    private String dataLabelTwoName;
+    /**
+     * 数据标签3代码
+     */
+    private String dataLabelThreeCode;
+    /**
+     * 数据标签3名称
+     */
+    private String dataLabelThreeName;
+    /**
+     * 数据标签4代码
+     */
+    private String dataLabelFourCode;
+    /**
+     * 数据标签4名称
+     */
+    private String dataLabelFourName;
+    /**
+     * 数据标签5代码
+     */
+    private String dataLabelFiveCode;
+    /**
+     * 数据标签5名称
+     */
+    private String dataLabelFiveName;
+    /**
+     * 数据资源服务编号
+     */
+    private String resourceServiceCode;
+    /**
+     * 资源状态代码
+     */
+    private String resourceStatus;
+    /**
+     * 资源状态名称1启动0停用2注销
+     */
+    private String resourceStatusName;
+    /**
+     * 注册时间,格式:yyyy-MM-dd HH:mm:ss
+     */
+    private Date resourceRegisterTime;
+    /**
+     * 更新时间,格式:yyyy-MM-dd HH:mm:ss
+     */
+    private Date resourceUpdateTime;
+    /**
+     * 数据资源事权单位编号
+     */
+    private String authorityDeptCode;
+    /**
+     * 数据资源事权单位名称
+     */
+    private String authorityDeptName;
+    /**
+     * 数据资源管理单位编号
+     */
+    private String manageDeptCode;
+    /**
+     * 数据资源管理单位名称
+     */
+    private String manageDeptName;
+    /**
+     * 否开发服务1是0否
+     */
+    @TableField(value = "is_access")
+    private String access;
+
+    /**
+     * 是否删除
+     */
+    @TableLogic
+    private String deleted;
+    /**
+     * 创建时间
+     */
+    @CreatedDate
+    @TableField(jdbcType = JdbcType.TIMESTAMP, fill = FieldFill.INSERT)
+    private Date createTime;
+    /**
+     * 更新时间
+     */
+    @LastModifiedDate
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date updateTime;
+    /**
+     * 创建用户
+     */
+    @CreatedBy
+    @TableField(jdbcType = JdbcType.VARCHAR, fill = FieldFill.INSERT)
+    private String createUser;
+    /**
+     * 更新用户
+     */
+    @LastModifiedBy
+    private String updateUser;
+}

+ 24 - 13
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/enumresources/DataResourceEnum.java

@@ -5,29 +5,37 @@ 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_RELATION_CATALOG("COLUMN_RELATION_CATALOG", "字段分类", "COLUMN_RELATION_CATALOG", DataAttrTypeEnum.DATA_ATTR_COLUMN);
+
     COLUMN_CLASSIFY("COLUMN_CLASSIFY","字段分类","COLUMN_CLASSIFY",DataAttrTypeEnum.DATA_ATTR_COLUMN),
 
     TAB("TAB", "表", null, null),
@@ -99,14 +107,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;
@@ -114,14 +123,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;
@@ -129,11 +139,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;
             }
         }

+ 1 - 36
dcuc-app-service/pom.xml

@@ -178,41 +178,6 @@
     <packaging>${project.packaging}</packaging>
 
     <profiles>
-        <!--war打包配置-->
-        <!--使用方式 mvn clean package -Pwar-->
-        <profile>
-            <id>war</id>
-            <properties>
-                <project.packaging>war</project.packaging>
-            </properties>
-            <dependencies>
-                <dependency>
-                    <groupId>com.dragonsoft</groupId>
-                    <artifactId>duceap-boot-starter-web</artifactId>
-                    <!-- 移除嵌入式tomcat插件 -->
-                    <exclusions>
-                        <exclusion>
-                            <groupId>org.springframework.boot</groupId>
-                            <artifactId>spring-boot-starter-tomcat</artifactId>
-                        </exclusion>
-                    </exclusions>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <version>2.1.1</version>
-                        <configuration>
-                            <failOnMissingWebXml>false</failOnMissingWebXml>
-                            <!--排除licenseignore包,用来禁用许可开关,防止生产环境通过关闭开关,绕过许可-->
-                           <!-- <packagingExcludes>WEB-INF/lib/duceap-support-licenseignore*.jar</packagingExcludes>-->
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
         <profile>
             <id>jar</id>
             <activation>
@@ -235,7 +200,7 @@
                                 </goals>
                                 <configuration>
                                     <!--排除licenseignore包,用来禁用许可开关,防止生产环境通过关闭开关,绕过许可-->
-                                   <!-- <excludeArtifactIds>duceap-support-licenseignore</excludeArtifactIds>-->
+                                    <excludeArtifactIds>duceap-support-licenseignore</excludeArtifactIds>
                                     <excludeScope>provided</excludeScope>
                                     <outputDirectory>${project.build.directory}/lib</outputDirectory>
                                     <!--取消依赖包的时间戳-->

+ 0 - 22
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/ConsumerTomcatApplication.java

@@ -1,22 +0,0 @@
-package com.dragoninfo.dcuc.app;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-
-/**
- * @author huangzqa
- * @date 2021/4/4
- **/
-@SpringBootApplication(scanBasePackages = {"com.dragonsoft", "com.dragoninfo"})
-public class ConsumerTomcatApplication extends SpringBootServletInitializer {
-    @Override
-    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
-        return builder.sources(ConsumerTomcatApplication.class);
-    }
-
-    public static void main(String[] args) {
-        SpringApplication.run(ConsumerTomcatApplication.class, args);
-    }
-}

+ 0 - 64
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/NacosPortConfig.java

@@ -1,64 +0,0 @@
-package com.dragoninfo.dcuc.app;
-
-import com.alibaba.cloud.nacos.registry.NacosAutoServiceRegistration;
-import com.dragonsoft.duceap.commons.util.string.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.stereotype.Component;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.management.Query;
-import java.lang.management.ManagementFactory;
-import java.util.Set;
-
-@Component
-public class NacosPortConfig implements ApplicationRunner {
-    private static final Logger logger = LoggerFactory.getLogger(NacosPortConfig.class);
-    @Autowired
-    private NacosAutoServiceRegistration registration;
-    @Value("${spring.application.name}")
-    private String appName;
-    @Value("${server.port}")
-    private int port;
-    @Override
-    public void run(ApplicationArguments args) throws Exception {
-        int port = this.getTomcatPort();
-        if (registration != null) {
-            registration.setPort(port);
-            registration.start();
-        }
-    }
-    /**
-     * 获取容器端口号
-     *
-     * @return
-     * @throws Exception 容器端口号未获取到
-     */
-    public int getTomcatPort() throws Exception {
-        String port = this.getTomcatPortValue();
-        if (!StringUtils.isEmpty(port)) {
-            return Integer.valueOf(port);
-        }
-        return this.port;
-    }
-    /**
-     * 获取容器端口号(解决使用外部容器部署,nacos无法注册问题)
-     *
-     * @return port
-     */
-    private String getTomcatPortValue() throws Exception {
-        MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
-        Set<ObjectName> objectNames = beanServer.queryNames
-                (new ObjectName("*:type=Connector,*"),
-                        Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
-        for (ObjectName objectName : objectNames) {
-            return objectName.getKeyProperty("port");
-        }
-        return "";
-    }
-}

+ 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);
+}

+ 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);
+
 
 }

+ 166 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/DataCatalogBusinessImpl.java

@@ -0,0 +1,166 @@
+package com.dragoninfo.dcuc.app.business.impl;
+
+import cn.hutool.core.util.PageUtil;
+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;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.RequestEntity;
+import org.springframework.http.ResponseEntity;
+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;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+@Slf4j
+@Component
+public class DataCatalogBusinessImpl implements IDataCatalogBusiness {
+
+    @Autowired
+    private DcucResourceConfig dataResourceConfig;
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Autowired
+    private IAppDataResourceInfoService appDataResourceInfoService;
+
+    @Autowired
+    private IAppDataItemInfoService appDataItemInfoService;
+    /**
+     * 数据类别查询接口
+     */
+    public static final String RESOURCE_TYPE = "/resource/catalog-api/resource-type";
+
+    /**
+     * 资源列表查询
+     */
+    public static final String CATALOG_LIST_URL = "/resource/catalog-api/catalog-list";
+
+    @Async
+    @Override
+    public void syncTableAndColumn() {
+        // 获取总条数
+        int totalCount = getTotalCount();
+        Integer requestPageSize = dataResourceConfig.getDataResource().getRequestPageSize();
+        int totalPage = PageUtil.totalPage(totalCount, requestPageSize);
+        int reqPage = 1;
+
+        appDataResourceInfoService.deleteAll();
+        appDataItemInfoService.deleteAll();
+
+        do {
+            PageReqDTO pageReqDTO = new PageReqDTO();
+            pageReqDTO.setPage(reqPage);
+            pageReqDTO.setPageSize(requestPageSize);
+
+            Optional<PageDataRespDTO<DataResourceInfoDTO>> pageOptional = getPage(pageReqDTO);
+            if (pageOptional.isPresent()) {
+                PageDataRespDTO<DataResourceInfoDTO> pageDataRespDTO = pageOptional.get();
+                List<DataResourceInfoDTO> dataList = pageDataRespDTO.getDataList();
+
+                List<AppDataResourceInfo> resourceInfoList = new ArrayList<>();
+                List<AppDataItemInfo> dataItemInfoList = new ArrayList<>();
+                for (DataResourceInfoDTO dataResourceInfoDTO : dataList) {
+                    AppDataResourceInfo appDataResourceInfo = dataResourceInfoDTO.parseToAppDataResourceInfo();
+                    String uuid = UUIDUtils.getUUID();
+                    appDataResourceInfo.setId(uuid);
+                    appDataResourceInfo.setDeleted(BooleanEnum.FALSE.value);
+
+                    resourceInfoList.add(appDataResourceInfo);
+                    List<DataResourceItemIntoDTO> dataItems = dataResourceInfoDTO.getDataItems();
+                    for (DataResourceItemIntoDTO dataItem : dataItems) {
+                        AppDataItemInfo appDataItemInfo = dataItem.parseToAppDataItemInfo();
+                        appDataItemInfo.setDeleted(BooleanEnum.FALSE.value);
+                        appDataItemInfo.setResourceTableId(uuid);
+                        dataItemInfoList.add(appDataItemInfo);
+                    }
+                }
+
+                appDataResourceInfoService.saveAll(resourceInfoList);
+                appDataItemInfoService.saveAll(dataItemInfoList);
+            }
+
+            reqPage++;
+        } while (reqPage <= totalPage);
+    }
+
+    public int getTotalCount() {
+        PageReqDTO pageReqDTO = new PageReqDTO();
+        pageReqDTO.setPage(1);
+        pageReqDTO.setPageSize(1);
+        Optional<PageDataRespDTO<DataResourceInfoDTO>> pageOptional = getPage(pageReqDTO);
+        int totalCount = 0;
+        if (pageOptional.isPresent()) {
+            totalCount = pageOptional.get().getTotalCount();
+        }
+        return totalCount;
+    }
+
+
+    public Optional<PageDataRespDTO<DataResourceInfoDTO>> getPage(PageReqDTO pageReqDTO) {
+        String url = dataResourceConfig.getDataResource().getDataCatalogUrl() + CATALOG_LIST_URL;
+        log.info("Request dataCatalog page info:{} ", JsonUtils.toJSONString(pageReqDTO));
+        RequestEntity<PageReqDTO> httpEntity = new RequestEntity<>(pageReqDTO, HttpMethod.POST, URI.create(url));
+        ParameterizedTypeReference<BaseResp<PageDataRespDTO<DataResourceInfoDTO>>> typeReference =
+                new ParameterizedTypeReference<BaseResp<PageDataRespDTO<DataResourceInfoDTO>>>() {
+                };
+        ResponseEntity<BaseResp<PageDataRespDTO<DataResourceInfoDTO>>> responseEntity = restTemplate.exchange(httpEntity, typeReference);
+        if (!responseEntity.getStatusCode().is2xxSuccessful()) {
+            log.error("Request dataCatalog error httpStatusCode :{}", responseEntity.getStatusCode().value());
+            return Optional.empty();
+        }
+        BaseResp<PageDataRespDTO<DataResourceInfoDTO>> baseResp = responseEntity.getBody();
+        if (baseResp == null) {
+            return Optional.empty();
+        }
+        if (baseResp.isFail()) {
+            log.error("Request dataCatalog error code:{} message: {}", baseResp.getCode(), baseResp.getMessage());
+        }
+
+        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) {
 

+ 6 - 5
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 {
 
@@ -165,13 +164,15 @@ public class DcucResourceConfig {
     public static class DataResourceConfig {
 
         /**
-         * 总线请求头参
+         * 数据资源目录路径
          */
-        private String busServiceId;
+        private String dataCatalogUrl;
+
         /**
-         * 总线请求头参数
+         * 请求页码大小
          */
-        private String busServiceFunc;
+        private Integer requestPageSize = 10;
+
     }
 
 

+ 7 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/DataResourceFacade.java

@@ -1,5 +1,6 @@
 package com.dragoninfo.dcuc.app.facade;
 
+import com.dragoninfo.dcuc.app.business.IDataCatalogBusiness;
 import com.dragoninfo.dcuc.app.cons.CommonCons;
 import com.dragoninfo.dcuc.app.dto.dataresource.ChildResourceClassify;
 import com.dragoninfo.dcuc.app.dto.dataresource.ResourceClassify;
@@ -68,6 +69,9 @@ public class DataResourceFacade implements IDataResourceFacade {
     @Autowired
     private IDataColInfoService colInfoService;
 
+    @Autowired
+    private IDataCatalogBusiness dataIndexBusiness;
+
 
     @Override
     public List<DataResourceClassifyVo> getAllDataResourceTree(String attrType) {
@@ -764,7 +768,9 @@ public class DataResourceFacade implements IDataResourceFacade {
     }
 
     /**
-     * // 拼接表、列、pid
+     * 拼接表、列、pid
+     *
+     * 计算treeVo所有最底层子节点数量,不包含叶节点
      *
      * @param treeVo
      * @param tabInfosMap

+ 15 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/AppColumnRelationMapper.java

@@ -0,0 +1,15 @@
+package com.dragoninfo.dcuc.app.mapper.sub;
+
+import com.dragoninfo.dcuc.app.entity.sub.AppColumnRelation;
+import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+public interface AppColumnRelationMapper extends BaseMybatisMapper<AppColumnRelation> {
+}

+ 16 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/AppDataItemInfoMapper.java

@@ -0,0 +1,16 @@
+package com.dragoninfo.dcuc.app.mapper.sub;
+
+import com.dragoninfo.dcuc.app.entity.sub.AppColumnRelation;
+import com.dragoninfo.dcuc.app.entity.sub.AppDataItemInfo;
+import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+public interface AppDataItemInfoMapper  extends BaseMybatisMapper<AppDataItemInfo> {
+}

+ 16 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/AppDataResourceInfoMapper.java

@@ -0,0 +1,16 @@
+package com.dragoninfo.dcuc.app.mapper.sub;
+
+import com.dragoninfo.dcuc.app.entity.sub.AppColumnRelation;
+import com.dragoninfo.dcuc.app.entity.sub.AppDataResourceInfo;
+import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+public interface AppDataResourceInfoMapper extends BaseMybatisMapper<AppDataResourceInfo> {
+}

+ 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())) {

+ 12 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IAppColumnRelationService.java

@@ -0,0 +1,12 @@
+package com.dragoninfo.dcuc.app.service.sub;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+public interface IAppColumnRelationService {
+}

+ 28 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IAppDataItemInfoService.java

@@ -0,0 +1,28 @@
+package com.dragoninfo.dcuc.app.service.sub;
+
+import com.dragoninfo.dcuc.app.entity.sub.AppDataItemInfo;
+
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+public interface IAppDataItemInfoService {
+
+    /**
+     * 保存所有
+     *
+     * @param appDataItemInfoList 列表
+     */
+    void saveAll(List<AppDataItemInfo> appDataItemInfoList);
+
+    /**
+     * 删除所有
+     */
+    void deleteAll();
+}

+ 27 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IAppDataResourceInfoService.java

@@ -0,0 +1,27 @@
+package com.dragoninfo.dcuc.app.service.sub;
+
+import com.dragoninfo.dcuc.app.entity.sub.AppDataResourceInfo;
+
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+public interface IAppDataResourceInfoService {
+    /**
+     * 保存所有
+     *
+     * @param resourceInfoList 数据资源列表
+     */
+    void saveAll(List<AppDataResourceInfo> resourceInfoList);
+
+    /**
+     * 删除所有
+     */
+    void deleteAll();
+}

+ 22 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/AppColumnRelationServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dragoninfo.dcuc.app.service.sub.impl;
+
+import com.dragoninfo.dcuc.app.mapper.sub.AppColumnRelationMapper;
+import com.dragoninfo.dcuc.app.service.sub.IAppColumnRelationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+@Service
+public class AppColumnRelationServiceImpl implements IAppColumnRelationService {
+
+    @Autowired
+    private AppColumnRelationMapper appColumnRelationMapper;
+
+}

+ 42 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/AppDataItemInfoServiceImpl.java

@@ -0,0 +1,42 @@
+package com.dragoninfo.dcuc.app.service.sub.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.dragoninfo.dcuc.app.entity.sub.AppDataItemInfo;
+import com.dragoninfo.dcuc.app.mapper.sub.AppDataItemInfoMapper;
+import com.dragoninfo.dcuc.app.service.sub.IAppDataItemInfoService;
+import com.dragoninfo.dcuc.app.service.sub.IAppDataResourceInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+@Service
+public class AppDataItemInfoServiceImpl implements IAppDataItemInfoService {
+
+    @Autowired
+    private AppDataItemInfoMapper appDataItemInfoMapper;
+
+    @Transactional(rollbackFor = Throwable.class)
+    @Override
+    public void saveAll(List<AppDataItemInfo> appDataItemInfoList) {
+        for (AppDataItemInfo appDataItemInfo : appDataItemInfoList) {
+            appDataItemInfoMapper.insert(appDataItemInfo);
+        }
+    }
+
+    @Transactional(rollbackFor = Throwable.class)
+    @Override
+    public void deleteAll() {
+        appDataItemInfoMapper.delete(Wrappers.emptyWrapper());
+    }
+}

+ 40 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/AppDataResourceInfoServiceImpl.java

@@ -0,0 +1,40 @@
+package com.dragoninfo.dcuc.app.service.sub.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.dragoninfo.dcuc.app.entity.sub.AppDataResourceInfo;
+import com.dragoninfo.dcuc.app.mapper.sub.AppDataResourceInfoMapper;
+import com.dragoninfo.dcuc.app.service.sub.IAppDataResourceInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/10/2
+ */
+@Service
+public class AppDataResourceInfoServiceImpl implements IAppDataResourceInfoService {
+
+    @Autowired
+    private AppDataResourceInfoMapper appDataResourceInfoMapper;
+
+    @Transactional(rollbackFor = Throwable.class)
+    @Override
+    public void saveAll(List<AppDataResourceInfo> resourceInfoList) {
+        for (AppDataResourceInfo appDataResourceInfo : resourceInfoList) {
+            appDataResourceInfoMapper.insert(appDataResourceInfo);
+        }
+    }
+
+    @Transactional(rollbackFor = Throwable.class)
+    @Override
+    public void deleteAll() {
+        appDataResourceInfoMapper.delete(Wrappers.emptyWrapper());
+    }
+}

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

@@ -13,7 +13,7 @@ dcuc:
       app-topic: 10000028
       service-topic: 10000029
       bus-sra-id: Y-120000000000-0042
-#      bus-sra-id: Y-120000000000-0037 # 测试使用
+      #      bus-sra-id: Y-120000000000-0037 # 测试使用
       bus-sre-idcard: 654001197503078495
       #应用资源请求参数
       page-size: 50
@@ -37,7 +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

+ 104 - 0
dcuc-app-service/src/main/resources/config/mysql/V4_1_0008__Add_Data_Table_Ration.sql

@@ -0,0 +1,104 @@
+DROP TABLE IF EXISTS t_app_column_relation;
+CREATE TABLE t_app_column_relation
+(
+    id                     VARCHAR(32) NOT NULL COMMENT '编号',
+    code_name              VARCHAR(90) NOT NULL COMMENT '表码名称',
+    code_value             VARCHAR(90) NOT NULL COMMENT '表码值',
+    column_one_class_value VARCHAR(90) NOT NULL COMMENT '字段一分类值',
+    column_two_class_value VARCHAR(90) NOT NULL COMMENT '字段二分类值',
+    deleted                VARCHAR(1)  NOT NULL COMMENT '是否删除',
+    create_time            DATETIME    NOT NULL COMMENT '创建时间',
+    update_time            DATETIME COMMENT '更新时间',
+    create_user            VARCHAR(32) COMMENT '创建用户',
+    update_user            VARCHAR(32) COMMENT '更新用户',
+    PRIMARY KEY (id)
+) COMMENT = '字段关系表';
+
+DROP TABLE IF EXISTS t_app_data_item_info;
+CREATE TABLE t_app_data_item_info
+(
+    id                         VARCHAR(32)  NOT NULL COMMENT '编号',
+    resource_table_id                VARCHAR(255) NOT NULL COMMENT '数据资源ID',
+    column_id                  VARCHAR(32)  NOT NULL COMMENT '数据项ID',
+    column_code                VARCHAR(90)  NOT NULL COMMENT '字段英文名称',
+    column_name                VARCHAR(90)  NOT NULL COMMENT '字段中文名称',
+    column_classify            VARCHAR(32) COMMENT '字段分类代码',
+    column_classify_name       VARCHAR(90) COMMENT '字段分类名称',
+    data_security_level        VARCHAR(32) COMMENT '数据安全级别代码',
+    data_security_level_name   VARCHAR(90) COMMENT '数据安全级别名称',
+    data_item_no               VARCHAR(32) COMMENT '数据项编号',
+    data_item_code             VARCHAR(90) COMMENT '数据项标识符',
+    data_source_item_type      VARCHAR(32) COMMENT '数据项类型代码',
+    data_source_item_type_name VARCHAR(90) COMMENT '数据项类型名称',
+    data_element_code          VARCHAR(32) COMMENT '数据元内部标识符',
+    standard_data_item_no      VARCHAR(32) COMMENT '数据项集数据项编号',
+    standard_data_item_name    VARCHAR(90) COMMENT '数据项集数据项中文名',
+    standard_data_item_code    VARCHAR(32) COMMENT '数据项集数据项英文名',
+    standard_data_item_type    VARCHAR(32) COMMENT '数据项集数据项数据类型',
+    standard_data_item_length  VARCHAR(90) COMMENT '数据项集数据项数据长度',
+    remark                     VARCHAR(900) COMMENT '备注',
+    invalid_status             VARCHAR(32) COMMENT '是否失效,true/false',
+    column_register_time       DATETIME COMMENT '注册时间,格式:yyyy-MM-dd HH:mm:ss',
+    column_update_time         DATETIME COMMENT '更新时间,格式:yyyy-MM-dd HH:mm:ss',
+    deleted                    VARCHAR(1)   NOT NULL COMMENT '是否删除',
+    create_time                DATETIME     NOT NULL COMMENT '创建时间',
+    update_time                DATETIME COMMENT '更新时间',
+    create_user                VARCHAR(32) COMMENT '创建用户',
+    update_user                VARCHAR(32) COMMENT '更新用户',
+    PRIMARY KEY (id)
+) COMMENT = '数据项(字段)信息';
+
+DROP TABLE IF EXISTS t_app_data_resource_info;
+CREATE TABLE t_app_data_resource_info
+(
+    id                       VARCHAR(32) NOT NULL COMMENT '编号',
+    data_object_id           VARCHAR(32) NOT NULL COMMENT '数据对象ID',
+    resource_code            VARCHAR(90) NOT NULL COMMENT '数据资源标识符',
+    resource_name            VARCHAR(90) NOT NULL COMMENT '资源名称',
+    resource_version         VARCHAR(32) COMMENT '数据资源版本号',
+    resource_description     VARCHAR(900) COMMENT '数据资源描述',
+    table_code               VARCHAR(90) COMMENT '数据对象英文名',
+    table_name               VARCHAR(90) COMMENT '数据对象中文名',
+    catalog_cod              VARCHAR(90) COMMENT '数据资源目录编号',
+    application_code         VARCHAR(32) COMMENT '应用系统编号',
+    application_code_name    VARCHAR(90) COMMENT '应用系统名称',
+    data_source_one_code     VARCHAR(32) COMMENT '一级数据来源编号',
+    data_source_one_name     VARCHAR(90) COMMENT '一级数据来源名称',
+    data_source_two_code     VARCHAR(32) COMMENT '二级数据来源编号',
+    data_source_two_name     VARCHAR(90) COMMENT '二级数据来源名称',
+    data_classification      VARCHAR(32) COMMENT '数据分级代码',
+    data_classification_name VARCHAR(90) COMMENT '数据分级名称',
+    standard_data_code       VARCHAR(32) COMMENT '标准数据项集编码',
+    standard_data_name       VARCHAR(90) COMMENT '标准数据项集名称',
+    data_classify_one_code   VARCHAR(32) COMMENT '数据组织一级分类代码',
+    data_classify_one_name   VARCHAR(90) COMMENT '数据组织一级分类名称',
+    data_classify_two_code   VARCHAR(32) COMMENT '数据组织二级分类代码',
+    data_classify_two_name   VARCHAR(90) COMMENT '数据组织二级分类名称',
+    data_label_one_code      VARCHAR(32) COMMENT '数据标签1代码',
+    data_label_one_name      VARCHAR(90) COMMENT '数据标签1名称',
+    data_label_two_code      VARCHAR(32) COMMENT '数据标签2代码',
+    data_label_two_name      VARCHAR(90) COMMENT '数据标签2名称',
+    data_label_three_code    VARCHAR(32) COMMENT '数据标签3代码',
+    data_label_three_name    VARCHAR(90) COMMENT '数据标签3名称',
+    data_label_four_code     VARCHAR(32) COMMENT '数据标签4代码',
+    data_label_four_name     VARCHAR(90) COMMENT '数据标签4名称',
+    data_label_five_code     VARCHAR(32) COMMENT '数据标签5代码',
+    data_label_five_name     VARCHAR(90) COMMENT '数据标签5名称',
+    resource_service_code    VARCHAR(90) COMMENT '数据资源服务编号',
+    resource_status          VARCHAR(255) COMMENT '资源状态代码',
+    resource_status_name     VARCHAR(32) COMMENT '资源状态名称1启动0停用2注销',
+    resource_register_time   DATETIME COMMENT '注册时间,格式:yyyy-MM-dd HH:mm:ss',
+    resource_update_time     DATETIME COMMENT '更新时间,格式:yyyy-MM-dd HH:mm:ss',
+    authority_dept_code      VARCHAR(255) COMMENT '数据资源事权单位编号',
+    authority_dept_name      VARCHAR(255) COMMENT '数据资源事权单位名称',
+    manage_dept_code         VARCHAR(255) COMMENT '数据资源管理单位编号',
+    manage_dept_name         VARCHAR(255) COMMENT '数据资源管理单位名称',
+    is_access                VARCHAR(1) COMMENT '否开发服务1是0否',
+    deleted                  VARCHAR(1)  NOT NULL COMMENT '是否删除',
+    create_time              DATETIME    NOT NULL COMMENT '创建时间',
+    update_time              DATETIME COMMENT '更新时间',
+    create_user              VARCHAR(32) COMMENT '创建用户',
+    update_user              VARCHAR(32) COMMENT '更新用户',
+    PRIMARY KEY (id)
+) COMMENT = '数据资源(表)信息';
+

+ 194 - 0
dcuc-app-service/src/main/resources/config/sql/V4_1_0008__Add_Data_Table_Ration.sql

@@ -0,0 +1,194 @@
+CREATE TABLE t_app_column_relation
+(
+    id VARCHAR2 (32) NOT NULL,
+    code_name VARCHAR2 (90) NOT NULL,
+    code_value VARCHAR2 (90) NOT NULL,
+    column_one_class_value VARCHAR2 (90) NOT NULL,
+    column_two_class_value VARCHAR2 (90) NOT NULL,
+    deleted VARCHAR2 (1) NOT NULL,
+    create_time DATE NOT NULL,
+    update_time DATE,
+    create_user VARCHAR2 (32),
+    update_user VARCHAR2 (32),
+    PRIMARY KEY (id)
+);
+
+COMMENT ON TABLE t_app_column_relation IS '字段关系表';
+COMMENT ON COLUMN t_app_column_relation.id IS '编号';
+COMMENT ON COLUMN t_app_column_relation.code_name IS '表码名称';
+COMMENT ON COLUMN t_app_column_relation.code_value IS '表码值';
+COMMENT ON COLUMN t_app_column_relation.column_one_class_value IS '字段一分类值';
+COMMENT ON COLUMN t_app_column_relation.column_two_class_value IS '字段二分类值';
+COMMENT ON COLUMN t_app_column_relation.deleted IS '是否删除';
+COMMENT ON COLUMN t_app_column_relation.create_time IS '创建时间';
+COMMENT ON COLUMN t_app_column_relation.update_time IS '更新时间';
+COMMENT ON COLUMN t_app_column_relation.create_user IS '创建用户';
+COMMENT ON COLUMN t_app_column_relation.update_user IS '更新用户';
+
+CREATE TABLE t_app_data_item_info
+(
+    id VARCHAR2 (32) NOT NULL,
+    resource_table_id VARCHAR2 (32) NOT NULL,
+    column_id VARCHAR2 (32) NOT NULL,
+    column_code VARCHAR2 (90) NOT NULL,
+    column_name VARCHAR2 (90) NOT NULL,
+    column_classify VARCHAR2 (32),
+    column_classify_name VARCHAR2 (90),
+    data_security_level VARCHAR2 (32),
+    data_security_level_name VARCHAR2 (90),
+    data_item_no VARCHAR2 (32),
+    data_item_code VARCHAR2 (90),
+    data_source_item_type VARCHAR2 (32),
+    data_source_item_type_name VARCHAR2 (90),
+    data_element_code VARCHAR2 (32),
+    standard_data_item_no VARCHAR2 (32),
+    standard_data_item_name VARCHAR2 (90),
+    standard_data_item_code VARCHAR2 (32),
+    standard_data_item_type VARCHAR2 (32),
+    standard_data_item_length VARCHAR2 (90),
+    remark VARCHAR2 (900),
+    invalid_status VARCHAR2 (32),
+    column_register_time DATE,
+    column_update_time   DATE,
+    deleted VARCHAR2 (1) NOT NULL,
+    create_time          DATE NOT NULL,
+    update_time          DATE,
+    create_user VARCHAR2 (32),
+    update_user VARCHAR2 (32),
+    PRIMARY KEY (id)
+);
+
+COMMENT ON TABLE t_app_data_item_info IS '数据项(字段)信息';
+COMMENT ON COLUMN t_app_data_item_info.id IS '编号';
+COMMENT ON COLUMN t_app_data_item_info.resource_table_id IS '数据资源ID';
+COMMENT ON COLUMN t_app_data_item_info.column_id IS '数据项ID';
+COMMENT ON COLUMN t_app_data_item_info.column_code IS '字段英文名称';
+COMMENT ON COLUMN t_app_data_item_info.column_name IS '字段中文名称';
+COMMENT ON COLUMN t_app_data_item_info.column_classify IS '字段分类代码';
+COMMENT ON COLUMN t_app_data_item_info.column_classify_name IS '字段分类名称';
+COMMENT ON COLUMN t_app_data_item_info.data_security_level IS '数据安全级别代码';
+COMMENT ON COLUMN t_app_data_item_info.data_security_level_name IS '数据安全级别名称';
+COMMENT ON COLUMN t_app_data_item_info.data_item_no IS '数据项编号';
+COMMENT ON COLUMN t_app_data_item_info.data_item_code IS '数据项标识符';
+COMMENT ON COLUMN t_app_data_item_info.data_source_item_type IS '数据项类型代码';
+COMMENT ON COLUMN t_app_data_item_info.data_source_item_type_name IS '数据项类型名称';
+COMMENT ON COLUMN t_app_data_item_info.data_element_code IS '数据元内部标识符';
+COMMENT ON COLUMN t_app_data_item_info.standard_data_item_no IS '数据项集数据项编号';
+COMMENT ON COLUMN t_app_data_item_info.standard_data_item_name IS '数据项集数据项中文名';
+COMMENT ON COLUMN t_app_data_item_info.standard_data_item_code IS '数据项集数据项英文名';
+COMMENT ON COLUMN t_app_data_item_info.standard_data_item_type IS '数据项集数据项数据类型';
+COMMENT ON COLUMN t_app_data_item_info.standard_data_item_length IS '数据项集数据项数据长度';
+COMMENT ON COLUMN t_app_data_item_info.remark IS '备注';
+COMMENT ON COLUMN t_app_data_item_info.invalid_status IS '是否失效,true/false';
+COMMENT ON COLUMN t_app_data_item_info.column_register_time IS '注册时间,格式:yyyy-MM-dd HH:mm:ss';
+COMMENT ON COLUMN t_app_data_item_info.column_update_time IS '更新时间,格式:yyyy-MM-dd HH:mm:ss';
+COMMENT ON COLUMN t_app_data_item_info.deleted IS '是否删除';
+COMMENT ON COLUMN t_app_data_item_info.create_time IS '创建时间';
+COMMENT ON COLUMN t_app_data_item_info.update_time IS '更新时间';
+COMMENT ON COLUMN t_app_data_item_info.create_user IS '创建用户';
+COMMENT ON COLUMN t_app_data_item_info.update_user IS '更新用户';
+
+
+CREATE TABLE t_app_data_resource_info
+(
+    id VARCHAR2 (32) NOT NULL,
+    data_object_id VARCHAR2 (32) NOT NULL,
+    resource_code VARCHAR2 (90) NOT NULL,
+    resource_name VARCHAR2 (90) NOT NULL,
+    resource_version VARCHAR2 (32),
+    resource_description VARCHAR2 (900),
+    table_code VARCHAR2 (90),
+    table_name VARCHAR2 (90),
+    catalog_cod VARCHAR2 (90),
+    application_code VARCHAR2 (32),
+    application_code_name VARCHAR2 (90),
+    data_source_one_code VARCHAR2 (32),
+    data_source_one_name VARCHAR2 (90),
+    data_source_two_code VARCHAR2 (32),
+    data_source_two_name VARCHAR2 (90),
+    data_classification VARCHAR2 (32),
+    data_classification_name VARCHAR2 (90),
+    standard_data_code VARCHAR2 (32),
+    standard_data_name VARCHAR2 (90),
+    data_classify_one_code VARCHAR2 (32),
+    data_classify_one_name VARCHAR2 (90),
+    data_classify_two_code VARCHAR2 (32),
+    data_classify_two_name VARCHAR2 (90),
+    data_label_one_code VARCHAR2 (32),
+    data_label_one_name VARCHAR2 (90),
+    data_label_two_code VARCHAR2 (32),
+    data_label_two_name VARCHAR2 (90),
+    data_label_three_code VARCHAR2 (32),
+    data_label_three_name VARCHAR2 (90),
+    data_label_four_code VARCHAR2 (32),
+    data_label_four_name VARCHAR2 (90),
+    data_label_five_code VARCHAR2 (32),
+    data_label_five_name VARCHAR2 (90),
+    resource_service_code VARCHAR2 (90),
+    resource_status VARCHAR2 (255),
+    resource_status_name VARCHAR2 (32),
+    resource_register_time DATE,
+    resource_update_time   DATE,
+    authority_dept_code VARCHAR2 (255),
+    authority_dept_name VARCHAR2 (255),
+    manage_dept_code VARCHAR2 (255),
+    manage_dept_name VARCHAR2 (255),
+    is_access VARCHAR2 (1),
+    deleted VARCHAR2 (1) NOT NULL,
+    create_time            DATE NOT NULL,
+    update_time            DATE,
+    create_user VARCHAR2 (32),
+    update_user VARCHAR2 (32),
+    PRIMARY KEY (id)
+);
+
+COMMENT ON TABLE t_app_data_resource_info IS '数据资源(表)信息';
+COMMENT ON COLUMN t_app_data_resource_info.id IS '编号';
+COMMENT ON COLUMN t_app_data_resource_info.data_object_id IS '数据对象ID';
+COMMENT ON COLUMN t_app_data_resource_info.resource_code IS '数据资源标识符';
+COMMENT ON COLUMN t_app_data_resource_info.resource_name IS '资源名称';
+COMMENT ON COLUMN t_app_data_resource_info.resource_version IS '数据资源版本号';
+COMMENT ON COLUMN t_app_data_resource_info.resource_description IS '数据资源描述';
+COMMENT ON COLUMN t_app_data_resource_info.table_code IS '数据对象英文名';
+COMMENT ON COLUMN t_app_data_resource_info.table_name IS '数据对象中文名';
+COMMENT ON COLUMN t_app_data_resource_info.catalog_cod IS '数据资源目录编号';
+COMMENT ON COLUMN t_app_data_resource_info.application_code IS '应用系统编号';
+COMMENT ON COLUMN t_app_data_resource_info.application_code_name IS '应用系统名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_source_one_code IS '一级数据来源编号';
+COMMENT ON COLUMN t_app_data_resource_info.data_source_one_name IS '一级数据来源名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_source_two_code IS '二级数据来源编号';
+COMMENT ON COLUMN t_app_data_resource_info.data_source_two_name IS '二级数据来源名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_classification IS '数据分级代码';
+COMMENT ON COLUMN t_app_data_resource_info.data_classification_name IS '数据分级名称';
+COMMENT ON COLUMN t_app_data_resource_info.standard_data_code IS '标准数据项集编码';
+COMMENT ON COLUMN t_app_data_resource_info.standard_data_name IS '标准数据项集名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_classify_one_code IS '数据组织一级分类代码';
+COMMENT ON COLUMN t_app_data_resource_info.data_classify_one_name IS '数据组织一级分类名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_classify_two_code IS '数据组织二级分类代码';
+COMMENT ON COLUMN t_app_data_resource_info.data_classify_two_name IS '数据组织二级分类名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_one_code IS '数据标签1代码';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_one_name IS '数据标签1名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_two_code IS '数据标签2代码';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_two_name IS '数据标签2名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_three_code IS '数据标签3代码';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_three_name IS '数据标签3名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_four_code IS '数据标签4代码';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_four_name IS '数据标签4名称';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_five_code IS '数据标签5代码';
+COMMENT ON COLUMN t_app_data_resource_info.data_label_five_name IS '数据标签5名称';
+COMMENT ON COLUMN t_app_data_resource_info.resource_service_code IS '数据资源服务编号';
+COMMENT ON COLUMN t_app_data_resource_info.resource_status IS '资源状态代码';
+COMMENT ON COLUMN t_app_data_resource_info.resource_status_name IS '资源状态名称1启动0停用2注销';
+COMMENT ON COLUMN t_app_data_resource_info.resource_register_time IS '注册时间,格式:yyyy-MM-dd HH:mm:ss';
+COMMENT ON COLUMN t_app_data_resource_info.resource_update_time IS '更新时间,格式:yyyy-MM-dd HH:mm:ss';
+COMMENT ON COLUMN t_app_data_resource_info.authority_dept_code IS '数据资源事权单位编号';
+COMMENT ON COLUMN t_app_data_resource_info.authority_dept_name IS '数据资源事权单位名称';
+COMMENT ON COLUMN t_app_data_resource_info.manage_dept_code IS '数据资源管理单位编号';
+COMMENT ON COLUMN t_app_data_resource_info.manage_dept_name IS '数据资源管理单位名称';
+COMMENT ON COLUMN t_app_data_resource_info.is_access IS '否开发服务1是0否';
+COMMENT ON COLUMN t_app_data_resource_info.deleted IS '是否删除';
+COMMENT ON COLUMN t_app_data_resource_info.create_time IS '创建时间';
+COMMENT ON COLUMN t_app_data_resource_info.update_time IS '更新时间';
+COMMENT ON COLUMN t_app_data_resource_info.create_user IS '创建用户';
+COMMENT ON COLUMN t_app_data_resource_info.update_user IS '更新用户';
+

+ 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");
 
     }