wudla vor 4 Jahren
Ursprung
Commit
2f78892d3c
4 geänderte Dateien mit 356 neuen und 0 gelöschten Zeilen
  1. 172 0
      人员组织管理
  2. 102 0
      任务调度系统
  3. 6 0
      接口规范
  4. 76 0
      设计总览-需求与功能范围

+ 172 - 0
人员组织管理

@@ -0,0 +1,172 @@
+### 数据模型
+
+***
+
+1. 集团
+
+1. 项目
+
+1. 部门,用于表示集团下的组织结构,树形数据
+
+1. 岗位,用于描述具体的工作职能
+
+1. 用户,用于表示具体的人员
+
+1. 应用,用于描述功能和产品
+
+1. 功能,用于描述应用包含的功能、菜单、操作等
+
+### 数据关系
+
+***
+
+1. 集团与部门,每个集团下有一个顶级部门与集团对应,创建集团时会同时创建一个部门,部门名称默认与集团名称相同
+
+1. 部门与项目,为部门分配项目,只能分配上级部门已分配的项目。顶级部门默认配置了集团下的全部项目,新增项目时也同时将项目分配到顶级部门
+
+1. 项目与应用,描述项目是否开通应用
+
+1. 岗位配置功能,描述岗位具备的功能权限
+
+1. 用户组织岗位关系,将用户配置到某个组织的某个岗位上,则用户具备组织已配置的项目的数据权限,同时具备岗位已配置的功能权限
+
+### 数据结构
+
+***
+
+| 集团     |      |              |     |      |
+| ------ | ---- | ------------ | --- | ---- |
+| 字段     | 字段名称 | 类型           | 非空  | 备注   |
+| code   | 编码   | varchar(20)  | Y   | 全局唯一 |
+| name   | 名称   | varchar(40)  | Y   |      |
+| remark | 备注   | varchar(200) |     |      |
+|        |      |              |     |      |
+
+| 项目         |      |              |     |      |
+| ---------- | ---- | ------------ | --- | ---- |
+| 字段         | 字段名称 | 类型           | 非空  | 备注   |
+| id         | 项目编码 | varchar(20)  | Y   | 全局唯一 |
+| name       | 项目名称 | varchar(40)  | Y   |      |
+| group_code | 集团编码 | varchar(20)  |     |      |
+| remark     | 备注   | varchar(200) |     |      |
+|            |      |              |     |      |
+
+| 部门         |        |              |     |                 |
+| ---------- | ------ | ------------ | --- | --------------- |
+| 字段         | 字段名称   | 类型           | 非空  | 备注              |
+| id         | ID     | varchar(40)  | Y   | 全局唯一            |
+| name       | 名称     | varchar(40)  | Y   |                 |
+| parent_id  | 上级部门ID | varchar(40)  | Y   | “0”表示顶级部门       |
+| group_code | 所属集团编码 | varchar(20)  | Y   |                 |
+| type       | 部门分类   | varchar(20)  | Y   | 工程类财务类等,引用数据编码表 |
+| remark     | 备注     | varchar(200) |     |                 |
+|            |        |              |     |                 |
+
+| 岗位         |        |             |     |                  |
+| ---------- | ------ | ----------- | --- | ---------------- |
+| 字段         | 字段名称   | 类型          | 非空  | 备注               |
+| id         | ID     | varchar(40) | Y   | 全局唯一             |
+| name       | 名称     | varchar(40) | Y   |                  |
+| group_code | 所属集团编码 | varchar(20) | Y   |                  |
+| type       | 岗位类型   | varchar(40) | Y   | 工程经理/出纳等,应用数据编码表 |
+|            |        |             |     |                  |
+|            |        |             |     |                  |
+
+| 用户       |      |             |     |         |
+| -------- | ---- | ----------- | --- | ------- |
+| 字段       | 字段名称 | 类型          | 非空  | 备注      |
+| id       | ID   | varchar(40) | Y   | 全局唯一    |
+| username | 账号   | varchar(40) |     |         |
+| password | 密码   | varchar(40) |     |         |
+| realname | 姓名   | varchar(40) |     |         |
+| gender   | 性别   | bit         |     | 引用数据编码表 |
+| status   | 状态   | bit         | Y   | 是否有效    |
+|          |      |             |     |         |
+|          |      |             |     |         |
+
+| 应用       |        |             |     |             |
+| -------- | ------ | ----------- | --- | ----------- |
+| 字段       | 字段名称   | 类型          | 非空  | 备注          |
+| code     | 编码     | varchar(20) | Y   | 全局唯一        |
+| name     | 应用名称   | varchar(40) | Y   |             |
+| category | 所属产品大类 | varchar(40) | Y   | 标识产品线,引用编码表 |
+|          |        |             |     |             |
+|          |        |             |     |             |
+
+| 功能          |        |             |     |      |
+| ----------- | ------ | ----------- | --- | ---- |
+| 字段          | 字段名称   | 类型          | 非空  | 备注   |
+| code        | 编码     | varchar(20) | Y   | 全局唯一 |
+| name        | 功能名称   | varchar(40) | Y   |      |
+| app_code    | 所属应用   | varchar(20) | Y   | 应用编码 |
+| parent_code | 上级功能编码 | varchar(20) |     |      |
+|             |        |             |     |      |
+
+### 数据存储
+
+1. 采用mysql数据库
+
+1. 考虑数据规模,暂不进行分库分表
+
+### 接口清单
+
+***
+
+1. 创建集团
+
+1. 查询集团
+
+1. 创建应用
+
+1. 查询应用
+
+1. 创建功能
+
+1. 查询功能(按应用)
+
+1. 编辑功能
+
+1. 删除功能
+
+1. 创建项目
+
+1. 查询项目(按集团等)
+
+1. 编辑项目
+
+1. 删除项目
+
+1. 创建部门
+
+1. 查询部门(按集团等)
+
+1. 编辑部门
+
+1. 配置项目
+
+1. 删除部门
+
+1. 创建岗位
+
+1. 查询岗位
+
+1. 编辑岗位
+
+1. 配置岗位功能
+
+1. 删除岗位
+
+1. 创建用户
+
+1. 查询用户(按集团、项目、岗位、部门等)
+
+1. 编辑用户
+
+1. 修改密码
+
+1. 配置部门岗位
+
+1. 删除用户
+
+
+

+ 102 - 0
任务调度系统

@@ -0,0 +1,102 @@
+### 数据模型
+
+***
+
+1. 任务配置,用于描述一个具体的任务配置信息
+
+1. 执行记录,用于描述一个任务的具体的一次执行过程
+
+### 系统说明
+
+***
+
+1. 任务调度的最小时间间隔是5秒,暂不支持频率要求快于5秒的场景
+
+1. 任务配置完成后,满足以下条件的任务会被触发:
+
+    1. 状态为待执行且达到下次执行时间的
+
+    1. 状态为执行中且达到上次执行的过期时间的
+
+1. 任务触发后更新任务的下次执行时间、本次任务的过期时间,然后生成执行记录
+
+1. 根据执行方式的配置来调起相关的服务,同时会将集团编码、应用编码、项目ID、任务编码、调起参数,执行记录ID~~等~~作为参数
+
+1. 被调度方根据执行结果和执行记录ID来更新执行记录
+
+执行方式说明及对应的约束和配置参数说明:
+
+http方式的约束条件
+
+```text
+被调度方需保证url对应接口在200毫秒内执行完毕
+若不能保证,需要被调用方做异步处理,待异步执行完成后根据执行记录id更新执行记录结果
+```
+
+http方式的配置参数说明
+
+```json
+{
+	"url": "被调度方提供的访问地址,POST方式,参数会放在requestbody里面"
+}
+```
+
+jms方式说明
+
+```text
+根据配置信息,将参数封装为消息对象采用topic方式发送到rabitmq
+被调度方监听配置的rabitmq队列
+```
+
+jms方式的配置参数说明
+
+```json
+{
+	"exchange": "",
+	"routingKey": ""
+}
+```
+
+### 数据结构
+
+***
+
+| 任务配置        |             |              |     |                        |
+| ----------- | ----------- | ------------ | --- | ---------------------- |
+| 字段          | 字段名称        | 类型           | 非空  | 备注                     |
+| id          | ID          | varchar(40)  | Y   | 全局唯一                   |
+| group_code  | 所属集团编码      | varchar(20)  |     |                        |
+| app_code    | 应用编码        | varchar(40)  |     |                        |
+| project_id  | 项目ID        | varchar(40)  |     |                        |
+| code        | 任务编码        | varchar(20)  | Y   |                        |
+| name        | 任务名称        | varchar(40)  | Y   |                        |
+| remark      | 备注          | varchar(200) |     |                        |
+| status      | 状态          | bit          | Y   | 任务状态:0停用,1待执行,2执行中,3暂停 |
+| type        | 执行方式        | varchar(20)  | Y   | 调起方式:http,jms          |
+| config      | 执行方式配置参数    | json         | Y   |                        |
+| params      | 调起参数        | json         | Y   |                        |
+| cron        | cron表达式     | varchar(40)  | Y   |                        |
+| next_time   | 下次执行时间      | datetime     | Y   |                        |
+| time_out    | 超时时间(秒)     | int          | Y   |                        |
+| expire_time | 上次执行任务的过期时间 | datetime     |     |                        |
+|             |             |              |     |                        |
+
+| 任务执行记录     |        |             |     |                |
+| ---------- | ------ | ----------- | --- | -------------- |
+| 字段         | 字段名称   | 类型          | 非空  | 备注             |
+| id         | ID     | varchar(40) | Y   | 全局唯一           |
+| task_id    | 任务ID   | varchar(40) | Y   |                |
+| start_time | 开始时间   | datetime    |     |                |
+| end_time   | 结束时间   | datetime    |     |                |
+| success    | 是否正常结束 | bit         | Y   | 1是,0否,否表示发生了异常 |
+| error_info | 错误信息   | json        | Y   |                |
+|            |        |             |     |                |
+
+
+
+### 接口清单
+
+1.保存任务配置(创建、更新)
+
+2.保存执行记录(更新)
+

+ 6 - 0
接口规范

@@ -0,0 +1,6 @@
+# 接口规范
+
+### 描述内容
+
+1. 字段采用驼峰式,由数字、字母和 _ $ 组成,且第一个字符不能是数字
+2. 

+ 76 - 0
设计总览-需求与功能范围

@@ -0,0 +1,76 @@
+## 数据标准(字典和知识库)
+
+***
+
+提供标准化数据服务,包括数据定义和自定义等相关接口
+
+
+
+
+
+## 人员组织管理
+
+***
+
+描述集团、项目、部门、岗位、用户、应用、功能等信息的数据结构以及之间的关系,并提供接口。
+
+
+
+
+
+## 租户
+
+***
+
+待补充
+
+
+
+## 供应商
+
+***
+
+待补充
+
+
+
+## 库存
+
+***
+
+待补充
+
+
+
+## 物理世界
+
+***
+
+待补充
+
+
+
+## 物联网数据
+
+***
+
+IOT采集到数据后的处理和存储服务。
+
+业务起点自Kafka,数字化交付将采集数据封装成数据包发送到Kafka,本服务从Kafka收到数据包后开始执行。
+
+
+
+## 报警系统
+
+***
+
+待补充
+
+
+
+## 任务调度系统
+
+***
+
+
+