浏览代码

数字孪生 - 包结构调整

yucheng 3 年之前
父节点
当前提交
5c2c0d3a46
共有 61 个文件被更改,包括 564 次插入77 次删除
  1. 9 0
      dc-business/dc-digital-version/README.md
  2. 1 1
      dc-business/dc-dictionary-manage/pom.xml
  3. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/constant/VersionOperator.java
  4. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/constant/VersionOperatorLevel.java
  5. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/constant/VersionState.java
  6. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/controller/VersionDefineController.java
  7. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/dao/ObjectInfoHistoryMapper.java
  8. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/dao/ObjectTypeHistoryMapper.java
  9. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/dao/VersionDefineMapper.java
  10. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/ObjectInfo.java
  11. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/ObjectInfoHistory.java
  12. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/ObjectType.java
  13. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/ObjectTypeHistory.java
  14. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/VersionDefine.java
  15. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/IObjectInfoHistoryService.java
  16. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/IObjectTypeHistoryService.java
  17. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/IVersionDefineService.java
  18. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/impl/ObjectInfoHistoryServiceImpl.java
  19. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/impl/ObjectTypeHistoryServiceImpl.java
  20. 0 0
      dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/impl/VersionDefineServiceImpl.java
  21. 0 0
      dc-business/dc-digital-version/src/main/resources/bootstrap.yml
  22. 0 0
      dc-business/dc-digital-version/src/main/resources/db.init/data.sql
  23. 0 0
      dc-business/dc-digital-version/src/main/resources/db.init/schema.sql
  24. 0 0
      dc-business/dc-digital-version/src/main/resources/mapper/ObjectInfoHistoryMapper.xml
  25. 0 0
      dc-business/dc-digital-version/src/main/resources/mapper/ObjectTypeHistoryMapper.xml
  26. 17 0
      dc-business/dc-digital/pom.xml
  27. 40 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/data/entity/ObjectDigital.java
  28. 33 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/data/entity/ObjectRelation.java
  29. 27 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/define/entity/GraphDefine.java
  30. 58 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/define/entity/ObjectInfo.java
  31. 37 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/define/entity/ObjectType.java
  32. 29 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/define/entity/RelationDefine.java
  33. 19 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/subscribe/entity/SubscribeObjectInfo.java
  34. 20 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/subscribe/entity/SubscribeObjectType.java
  35. 19 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/subscribe/entity/SubscribeProject.java
  36. 20 0
      dc-business/dc-digital/src/main/java/com/persagy/dc/subscribe/entity/SubscribeSchema.java
  37. 0 0
      dc-business/dc-digital/src/main/resources/bootstrap.yml
  38. 0 0
      dc-business/dc-digital/src/main/resources/db.init/data.sql
  39. 0 0
      dc-business/dc-digital/src/main/resources/db.init/schema.sql
  40. 0 0
      dc-business/dc-digital/src/main/resources/mapper/DictDataMapper.xml
  41. 1 1
      dc-business/dc-dictionary/README.md
  42. 1 1
      dc-business/dc-dictionary/pom.xml
  43. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/controller/DictDataController.java
  44. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/controller/DictTypeController.java
  45. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/dao/DictDataMapper.java
  46. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/dao/DictTypeMapper.java
  47. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/entity/DictData.java
  48. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/entity/DictType.java
  49. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/service/DictDataService.java
  50. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/service/DictTypeService.java
  51. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/service/impl/DictDataServiceImpl.java
  52. 0 0
      dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/service/impl/DictTypeServiceImpl.java
  53. 11 0
      dc-business/dc-knowledge/src/main/resources/bootstrap.yml
  54. 0 0
      dc-business/dc-knowledge/src/main/resources/db.init/data.sql
  55. 41 0
      dc-business/dc-knowledge/src/main/resources/db.init/schema.sql
  56. 5 0
      dc-business/dc-knowledge/src/main/resources/mapper/DictDataMapper.xml
  57. 2 2
      dc-business/pom.xml
  58. 32 0
      dc-common/src/main/java/com/persagy/dc/common/config/CommonWebConfigurer.java
  59. 46 48
      dc-common/src/main/java/com/persagy/dc/common/context/AppContext.java
  60. 6 24
      dc-common/src/main/java/com/persagy/dc/common/context/DefaultAppContext.java
  61. 90 0
      dc-common/src/main/java/com/persagy/dc/common/handler/AppContextHandler.java

+ 9 - 0
dc-business/dc-digital-version/README.md

@@ -0,0 +1,9 @@
+数据字典编辑工具
+============ 
+
+说明
+---------------
+
+最新变化
+---------------
+

+ 1 - 1
dc-business/dc-dictionary-manage/pom.xml

@@ -8,7 +8,7 @@
         <version>1.0.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>dc-dictionary-manage</artifactId>
+    <artifactId>dc-digital-version</artifactId>
     <packaging>jar</packaging>
 
     <dependencies>

dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/constant/VersionOperator.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/constant/VersionOperator.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/constant/VersionOperatorLevel.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/constant/VersionOperatorLevel.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/constant/VersionState.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/constant/VersionState.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/controller/VersionDefineController.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/controller/VersionDefineController.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/dao/ObjectInfoHistoryMapper.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/dao/ObjectInfoHistoryMapper.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/dao/ObjectTypeHistoryMapper.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/dao/ObjectTypeHistoryMapper.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/dao/VersionDefineMapper.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/dao/VersionDefineMapper.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/entity/ObjectInfo.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/ObjectInfo.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/entity/ObjectInfoHistory.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/ObjectInfoHistory.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/entity/ObjectType.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/ObjectType.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/entity/ObjectTypeHistory.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/ObjectTypeHistory.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/entity/VersionDefine.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/entity/VersionDefine.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/service/IObjectInfoHistoryService.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/IObjectInfoHistoryService.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/service/IObjectTypeHistoryService.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/IObjectTypeHistoryService.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/service/IVersionDefineService.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/IVersionDefineService.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/service/impl/ObjectInfoHistoryServiceImpl.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/impl/ObjectInfoHistoryServiceImpl.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/service/impl/ObjectTypeHistoryServiceImpl.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/impl/ObjectTypeHistoryServiceImpl.java


dc-business/dc-dictionary-manage/src/main/java/com/persagy/dc/dictionary/service/impl/VersionDefineServiceImpl.java → dc-business/dc-digital-version/src/main/java/com/persagy/dc/dictionary/service/impl/VersionDefineServiceImpl.java


dc-business/dc-dictionary-manage/src/main/resources/bootstrap.yml → dc-business/dc-digital-version/src/main/resources/bootstrap.yml


dc-business/dc-dictionary-manage/src/main/resources/db.init/data.sql → dc-business/dc-digital-version/src/main/resources/db.init/data.sql


dc-business/dc-dictionary-manage/src/main/resources/db.init/schema.sql → dc-business/dc-digital-version/src/main/resources/db.init/schema.sql


dc-business/dc-dictionary-manage/src/main/resources/mapper/ObjectInfoHistoryMapper.xml → dc-business/dc-digital-version/src/main/resources/mapper/ObjectInfoHistoryMapper.xml


dc-business/dc-dictionary-manage/src/main/resources/mapper/ObjectTypeHistoryMapper.xml → dc-business/dc-digital-version/src/main/resources/mapper/ObjectTypeHistoryMapper.xml


+ 17 - 0
dc-business/dc-digital/pom.xml

@@ -10,4 +10,21 @@
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dc-digital</artifactId>
     <packaging>jar</packaging>
+
+    <dependencies>
+        <!-- 配置中心(包含注册中心) -->
+        <dependency>
+            <groupId>com.persagy</groupId>
+            <artifactId>integrated-config-client</artifactId>
+        </dependency>
+        <!-- 项目启动 -->
+        <dependency>
+            <groupId>com.persagy</groupId>
+            <artifactId>dc-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.persagy</groupId>
+            <artifactId>dc-mybatis</artifactId>
+        </dependency>
+    </dependencies>
 </project>

+ 40 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/data/entity/ObjectDigital.java

@@ -0,0 +1,40 @@
+package com.persagy.dc.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 对象数据
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_object")
+public class ObjectDigital extends AuditableEntity {
+    /** 项目ID */
+    private String projectId;
+    /** 名称 */
+    private String name;
+    /** 本地编码 */
+    private String localId;
+    /** 本地名称 */
+    private String localName;
+    /** 对象分类 */
+    private String objType;
+    /** 类型编码 */
+    private String classCode;
+    /** 组标识 */
+    private Integer grouping;
+    /** 边类型编码 */
+    private ObjectNode infos;
+    /** 虚点清单 */
+    private List<String> virtualInfoCodes;
+    /** 创建应用 */
+    private String createApp;
+    /** 最后修改应用 */
+    private String updateApp;
+}

+ 33 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/data/entity/ObjectRelation.java

@@ -0,0 +1,33 @@
+package com.persagy.dc.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+/**
+ * 对象数据
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_relation")
+public class ObjectRelation extends AuditableEntity {
+    /** 项目ID */
+    private String projectId;
+    /** 图例ID */
+    private String graphId;
+    /** 图例编码 */
+    private String graphCode;
+    /** 关系编码 */
+    private String relCode;
+    /** 关系值 */
+    private String relValue;
+    /** 来源对象 */
+    private String objFrom;
+    /** 目标对象 */
+    private String objTo;
+    /** 创建应用 */
+    private String createApp;
+    /** 最后修改应用 */
+    private String updateApp;
+}

+ 27 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/define/entity/GraphDefine.java

@@ -0,0 +1,27 @@
+package com.persagy.dc.define.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+/**
+ * 图例定义
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_define_graph")
+public class GraphDefine extends AuditableEntity {
+    /** 编码 */
+    private String code;
+    /** 名称 */
+    private String name;
+    /** 一级分类 */
+    private String firstTag;
+    /** 二级分类 */
+    private String secondTag;
+    /** 分类说明 */
+    private String remark;
+    /** 关系两侧对象类别 */
+    private String objectTypes;
+}

+ 58 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/define/entity/ObjectInfo.java

@@ -0,0 +1,58 @@
+package com.persagy.dc.define.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+/**
+ * 信息点定义
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_define_info")
+public class ObjectInfo extends AuditableEntity {
+    /** 项目ID */
+    private String projectId;
+    /** 信息点编码 */
+    private String code;
+    /** 信息点名称 */
+    private String name;
+    /** 别名编码 */
+    private String aliasCode;
+    /** 别名名称 */
+    private String aliasName;
+    /** 类型编码 */
+    private String classCode;
+    /** 信息点分类:STATIC-静态,PULSE-脉冲,GRADATION-阶段,SEQUENTIAL-时序 */
+    private String category;
+    /** 管理层级:common-平台级,group-集团级,project-项目级 */
+    private String type;
+    /** 一级标签 */
+    private String firstTag;
+    /** 二级标签 */
+    private String secondTag;
+    /** 优先级 */
+    private String priority;
+    /** 输入方式 */
+    private String inputMode;
+    /** 单位 */
+    private String unit;
+    /** 数据类型 */
+    private String dataType;
+    /** 复数标识 */
+    private Boolean multipleFlag = false;
+    /** 区间标识 */
+    private Boolean regionFlag = false;
+    /** 数据格式 */
+    private String formatter;
+    /** 取值范围 */
+    private ArrayNode dataSource;
+    /** 备注 */
+    private String note;
+    /** 子分类标记 */
+    private Boolean subFlag;
+    /** 虚点 */
+    private Boolean weakPoint;
+}

+ 37 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/define/entity/ObjectType.java

@@ -0,0 +1,37 @@
+package com.persagy.dc.define.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+/**
+ * 对象类型定义
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_define_type")
+public class ObjectType extends AuditableEntity {
+    /** 编码 */
+    private String code;
+    /** 名称 */
+    private String name;
+    /** 别名编码 */
+    private String aliasCode;
+    /** 别名名称 */
+    private String aliasName;
+    /** 大类:project-项目, building-建筑, floor-楼层, space-空间, system-系统, equipment-设备, shaft-竖井, component-部件, virtual-虚拟, tool-工具, material-耗材 */
+    private String objType;
+    /** 管理层级:common-平台级,group-集团级,project-项目级 */
+    private String type;
+    /** 项目ID */
+    private String projectId;
+    /** 专业编码:上级类型是系统/设备时该字段有值 */
+    private String majorCode;
+    /** 系统编码:上级类型是设备时该字段有值,值为系统类型的code */
+    private String systemCode;
+    /** 设备编码:上级类型是部件时该字段有值,值为设备类型的code */
+    private String equipmentCode;
+    /** 上级类型编码 */
+    private String parentCode;
+}

+ 29 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/define/entity/RelationDefine.java

@@ -0,0 +1,29 @@
+package com.persagy.dc.define.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+/**
+ * 关系定义
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_define_rel")
+public class RelationDefine extends AuditableEntity {
+    /** 编码 */
+    private String code;
+    /** 名称 */
+    private String name;
+    /** 图类型编码 */
+    private String graphCode;
+    /** 边方向性 */
+    private Integer directional;
+    /** 边属性 */
+    private String attribute;
+    /** 主要连接对象 */
+    private String targetObjs;
+    /** 备注 */
+    private String remark;
+}

+ 19 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/subscribe/entity/SubscribeObjectInfo.java

@@ -0,0 +1,19 @@
+package com.persagy.dc.subscribe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+/**
+ * 订阅信息点范围
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_subscribe_info")
+public class SubscribeObjectInfo extends AuditableEntity {
+    /** 方案ID */
+    private String schemaId;
+    /** 信息点ID */
+    private String infoId;
+}

+ 20 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/subscribe/entity/SubscribeObjectType.java

@@ -0,0 +1,20 @@
+package com.persagy.dc.subscribe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+/**
+ * 订阅类型范围
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_subscribe_type")
+public class SubscribeObjectType extends AuditableEntity {
+
+    /** 方案ID */
+    private String schemaId;
+    /** 对象类型ID */
+    private String typeId;
+}

+ 19 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/subscribe/entity/SubscribeProject.java

@@ -0,0 +1,19 @@
+package com.persagy.dc.subscribe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+/**
+ * 订阅项目范围
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_subscribe_project")
+public class SubscribeProject extends AuditableEntity {
+    /** 方案ID */
+    private String schemaId;
+    /** 项目ID */
+    private String projectId;
+}

+ 20 - 0
dc-business/dc-digital/src/main/java/com/persagy/dc/subscribe/entity/SubscribeSchema.java

@@ -0,0 +1,20 @@
+package com.persagy.dc.subscribe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.model.entity.AuditableEntity;
+import lombok.Data;
+
+/**
+ * 订阅方案
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+@Data
+@TableName("dt_subscribe_schema")
+public class SubscribeSchema extends AuditableEntity {
+
+    /** 方案名称 */
+    private String name;
+    /** 备注 */
+    private String remark;
+}

dc-business/dc-dictionary/src/main/resources/bootstrap.yml → dc-business/dc-digital/src/main/resources/bootstrap.yml


dc-business/dc-dictionary/src/main/resources/db.init/data.sql → dc-business/dc-digital/src/main/resources/db.init/data.sql


dc-business/dc-dictionary/src/main/resources/db.init/schema.sql → dc-business/dc-digital/src/main/resources/db.init/schema.sql


dc-business/dc-dictionary/src/main/resources/mapper/DictDataMapper.xml → dc-business/dc-digital/src/main/resources/mapper/DictDataMapper.xml


+ 1 - 1
dc-business/dc-dictionary/README.md

@@ -1,4 +1,4 @@
-数据字典服务
+知识库服务
 ============ 
 
 说明

+ 1 - 1
dc-business/dc-dictionary/pom.xml

@@ -8,7 +8,7 @@
         <version>1.0.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>dc-dictionary</artifactId>
+    <artifactId>dc-knowledge</artifactId>
     <packaging>jar</packaging>
 
     <dependencies>

dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/controller/DictDataController.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/controller/DictDataController.java


dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/controller/DictTypeController.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/controller/DictTypeController.java


dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/dao/DictDataMapper.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/dao/DictDataMapper.java


dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/dao/DictTypeMapper.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/dao/DictTypeMapper.java


dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/entity/DictData.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/entity/DictData.java


dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/entity/DictType.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/entity/DictType.java


dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/DictDataService.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/service/DictDataService.java


dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/DictTypeService.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/service/DictTypeService.java


dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/impl/DictDataServiceImpl.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/service/impl/DictDataServiceImpl.java


dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/impl/DictTypeServiceImpl.java → dc-business/dc-knowledge/src/main/java/com/persagy/dc/dic/service/impl/DictTypeServiceImpl.java


+ 11 - 0
dc-business/dc-knowledge/src/main/resources/bootstrap.yml

@@ -0,0 +1,11 @@
+server:
+  port: 9001
+spring:
+  application:
+    # 应用名称
+    name: dc-dic
+
+config:
+  file:
+    absolute:
+      path: ${CONFIG_FILE_PATH:D:\SpringCloud}

+ 0 - 0
dc-business/dc-knowledge/src/main/resources/db.init/data.sql


+ 41 - 0
dc-business/dc-knowledge/src/main/resources/db.init/schema.sql

@@ -0,0 +1,41 @@
+-- ----------------------------
+-- Table structure for dic_dt_type
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS `dic_dt_data` (
+`id` varchar(80) NOT NULL,
+`dict_type_id` varchar(80) NOT NULL COMMENT '字典类型ID',
+`parent_id` varchar(80) DEFAULT NULL COMMENT '父节点',
+`type` varchar(80) NOT NULL COMMENT '字典类型',
+`code` varchar(200) NOT NULL COMMENT '字典数据编码',
+`label` varchar(200) NOT NULL COMMENT '字典数据标签',
+`status` int(11) NOT NULL COMMENT '状态',
+`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+`create_user` varchar(40) DEFAULT NULL COMMENT '创建用户',
+`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+`update_user` varchar(40) DEFAULT NULL COMMENT '更新用户',
+`remark` varchar(200) DEFAULT NULL,
+`order_num` int(11) DEFAULT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='字典数据';
+
+-- ----------------------------
+-- Table structure for dic_dt_data
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS  `dic_dt_data` (
+`id` varchar(80) NOT NULL,
+`dict_type_id` varchar(80) NOT NULL COMMENT '字典类型ID',
+`parent_id` varchar(80) DEFAULT NULL COMMENT '父节点',
+`type` varchar(80) NOT NULL COMMENT '字典类型',
+`code` varchar(200) NOT NULL COMMENT '字典数据编码',
+`label` varchar(200) NOT NULL COMMENT '字典数据标签',
+`status` int(11) NOT NULL COMMENT '状态',
+`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+`create_user` varchar(40) DEFAULT NULL COMMENT '创建用户',
+`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+`update_user` varchar(40) DEFAULT NULL COMMENT '更新用户',
+`remark` varchar(200) DEFAULT NULL,
+`order_num` int(11) DEFAULT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='字典数据';
+
+

+ 5 - 0
dc-business/dc-knowledge/src/main/resources/mapper/DictDataMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.persagy.dc.dic.dao.DictDataMapper">
+
+</mapper>

+ 2 - 2
dc-business/pom.xml

@@ -14,8 +14,8 @@
     <packaging>pom</packaging>
 
     <modules>
-        <module>dc-dictionary</module>
+        <module>dc-knowledge</module>
         <module>dc-digital</module>
-        <module>dc-dictionary-manage</module>
+        <module>dc-digital-version</module>
     </modules>
 </project>

+ 32 - 0
dc-common/src/main/java/com/persagy/dc/common/config/CommonWebConfigurer.java

@@ -0,0 +1,32 @@
+package com.persagy.dc.common.config;
+
+import com.persagy.dc.common.handler.AppContextHandler;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.annotation.Order;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @description:
+ * @author: lixing
+ * @company: Persagy Technology Co.,Ltd
+ * @since: 2021/3/8 10:06 上午
+ * @version: V1.0
+ **/
+@Configuration
+@Order(1)
+public class CommonWebConfigurer implements WebMvcConfigurer {
+
+    @Bean
+    public AppContextHandler appContextHandler() {
+        return new AppContextHandler();
+    }
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        // 设置拦截的路径、不拦截的路径、优先级等等
+        registry.addInterceptor(appContextHandler()).order(10).addPathPatterns("/**");
+    }
+
+}

+ 46 - 48
dc-common/src/main/java/com/persagy/dc/common/context/AppContext.java

@@ -15,6 +15,16 @@ public abstract class AppContext implements Serializable {
 
     /** 序列id */
     private static final long serialVersionUID = 697592850956445675L;
+//    /** 集团编码 */
+//    public static final String GROUP_CODE = "groupCode";
+//    /** 应用标识 */
+//    public static final String APP_ID = "appId";
+//    /** 用户ID */
+//    public static final String ACCOUNT_ID = "accountId";
+//    /** 项目ID */
+//    public static final String PROJECT_ID = "projectId";
+//    /** 数据源 */
+//    public static final String DATA_SOURCE_NAME = "dataSourceName";
 
     /** 工厂对象 */
     private static IAppContextFactory factory = null;
@@ -45,54 +55,6 @@ public abstract class AppContext implements Serializable {
         return factory;
     }
 
-//    /**
-//     * 取得操作用户主键
-//     * @return 用户主键
-//     */
-//    public abstract String getUserId();
-//
-//    /**
-//     * 设置操作用户主键
-//     * @param userId 用户主键
-//     */
-//    public abstract void setUserId(String userId);
-//
-//    /**
-//     * 取得操作用户名
-//     * @return 用户名
-//     */
-//    public abstract String getUserName();
-//
-//    /**
-//     * 设置操作用户名
-//     * @param userName 用户名
-//     */
-//    public abstract void setUserName(String userName);
-//
-//    /**
-//     * 取得租户
-//     * @return 租户
-//     */
-//    public abstract String getTenant();
-//
-//    /**
-//     * 设置租户
-//     * @param tenant 租户
-//     */
-//    public abstract void setTenant(String tenant);
-//
-//    /**
-//     * 取得产品线
-//     * @return 产品线
-//     */
-//    public abstract String getProductLine();
-//
-//    /**
-//     * 设置产品线
-//     * @param productLine 产品线
-//     */
-//    public abstract void setProductLine(String productLine);
-
     /**
      * 动态数据源支持
      * @return java.lang.String
@@ -106,12 +68,48 @@ public abstract class AppContext implements Serializable {
      **/
     public abstract void setDataSourceName(String dataSourceName);
 
+    /**
+     * 设置用户主键
+     * @param accountId 用户主键
+     * @return void
+     **/
     public abstract void setAccountId(String accountId);
+    /**
+     * 设置项目ID
+     * @param projectId 项目ID
+     * @return void
+     **/
     public abstract void setProjectId(String projectId);
+    /**
+     * 设置集团编码
+     * @param groupCode 集团编码
+     * @return void
+     **/
     public abstract void setGroupCode(String groupCode);
+    /**
+     * 设置应用标识
+     * @param appId 应用标识
+     * @return void
+     **/
     public abstract void setAppId(String appId);
+    /**
+     * 获取用户ID
+     * @return 用户ID
+     **/
     public abstract String getAccountId();
+    /**
+     * 获取项目ID
+     * @return 项目ID
+     **/
     public abstract String getProjectId();
+    /**
+     * 获取集团编码
+     * @return 集团编码
+     **/
     public abstract String getGroupCode();
+    /**
+     * 获取应用标识
+     * @return 应用标识
+     **/
     public abstract String getAppId();
 }

+ 6 - 24
dc-common/src/main/java/com/persagy/dc/common/context/DefaultAppContext.java

@@ -10,32 +10,14 @@ import lombok.Data;
 @Data
 public class DefaultAppContext extends AppContext {
 
-    /**
-     * 用户主键
-     */
+    /** 集团编码 - 租户 */
+    private String groupCode;
+    /** 用户主键 */
     private String accountId;
-
-//    /**
-//     * 用户名
-//     */
-//    private String userName;
-//
-//    /**
-//     * 租户
-//     */
-//    private String tenant;
-//
-//    /**
-//     * 所属产品线
-//     */
-//    private String productLine;
-
-    /**
-     * 数据源名称
-     */
+    /** 数据源名称 */
     private String dataSourceName;
-
+    /** 项目主键 */
     private String projectId;
+    /** 应用 */
     private String appId;
-    private String groupCode;
 }

+ 90 - 0
dc-common/src/main/java/com/persagy/dc/common/handler/AppContextHandler.java

@@ -0,0 +1,90 @@
+package com.persagy.dc.common.handler;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.persagy.dc.common.context.AppContext;
+import com.persagy.dc.common.helper.SpringHelper;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 上下文 拦截器
+ * @author Charlie Yu
+ * @date 2021-06-25
+ */
+public class AppContextHandler extends HandlerInterceptorAdapter {
+
+    /** 忽略的url - swagger的文档不校验 */
+    private static final String[] IGNORE_URL = {".html", ".js", ".css", "/swagger-resources"};
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        String requestURI = request.getRequestURI();
+        if (StringUtils.containsAny(requestURI, IGNORE_URL)) {
+            return true;
+        }
+        // 运维平台token认证
+        if(StrUtil.isNotBlank(request.getHeader("token"))) {
+            accessTokenInfo(request.getHeader("token"));
+        } else if(StrUtil.isNotBlank(request.getParameter("groupCode"))) {
+            // 请求参数中包含groupCode,由于没有标识位,暂时用这种方式判断吧
+            // TODO 需要系统用户ID
+            accessRequestInfo(request);
+        } else {
+            // 其他情况,按现有系统默认不验证的逻辑,其他情况就是默认放行,不必处理。最好是抛401
+        }
+        return true;
+    }
+
+    /**
+     * 根据token获取上下文信息
+     * @param token
+     */
+    private void accessTokenInfo(String token){
+        // 是否启用token拦截
+        boolean enabled = SpringHelper.getBoolean("persagy.common.token.enabled", true);
+        if(!enabled) {
+            return;
+        }
+        // 从token中解析数据
+//        SecureAES aes = new SecureAES("63499E35378AE1B0733E3FED7F780B68", "C0E7BD39B52A15C7");
+        JSONObject tokenObj = new JSONObject();
+//        try {
+//            tokenObj = aes.decryptToken(token);
+//        } catch (UnsupportedEncodingException e) {
+//            throw new AESDecryptException("token解析异常");
+//        }
+        // 获取值
+        String accountId = tokenObj.getString("accountId");
+        String groupCode = tokenObj.getString("groupCode");
+        String appId = tokenObj.getString("appId");
+        AppContext.getContext().setAccountId(accountId);
+        AppContext.getContext().setGroupCode(groupCode);
+        AppContext.getContext().setAppId(appId);
+    }
+
+    /**
+     * 从请求参数中获取上下文
+     * @param request
+     */
+    private void accessRequestInfo(HttpServletRequest request) {
+        AppContext.getContext().setGroupCode(request.getParameter("groupCode"));
+        AppContext.getContext().setProjectId(request.getParameter("projectId"));
+        AppContext.getContext().setAppId(request.getParameter("appId"));
+        AppContext.getContext().setAccountId(request.getParameter("userId"));
+    }
+
+    @Override
+    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
+        AppContext.unload();
+    }
+
+    @Override
+    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+        AppContext.unload();
+    }
+}