# 统一数据标准化

数据字典主要用于维护系统常用且固定的数据类型，例如：性别（1：男，2：女）

datetime格式：时间戳（1598495680898）

## 表设计

### 字典类型结构（dict_type）

|    字段     |      字段说明      |   数据类型   |               备注                |
| :---------: | :----------------: | :----------: | :-------------------------------: |
|     id      | 主键（无业务含义） | varchar(20)  | id全局唯一，命名规则：“Dict”+UUID |
| group_code  |      集团编码      | varchar(20)  |                                   |
|    type     |      字典类型      | varchar(40)  |                sex                |
|    name     |    字典类型名称    | varchar(40)  |               性别                |
| description |        描述        | varchar(200) |          对字典类型描述           |
|   status    |        状态        |   char(2)    |         0：停用，1：正常          |
| create_time |      创建时间      |   datetime   |                                   |
| create_user |      创建人员      | varchar(40)  |         保存创建的用户id          |
| update_time |      更新时间      |   datetime   |                                   |
| update_user |      更新人员      | varchar(40)  |       保存最后更新的用户id        |
|   remark    |      备注信息      | varchar(200) |                                   |

### 字典数据结构（dict_data）

|     字段     |      字段说明      |   数据类型   |                 备注                 |
| :----------: | :----------------: | :----------: | :----------------------------------: |
|      id      | 主键（无业务含义） | varchar(20)  |                 UUID                 |
| dict_type_id |     字典类型id     | varchar(20)  |                                      |
| parent_code  |       父节点       | varchar(20)  | 保存多级树状字典（id），没有可以不写 |
|     type     |      字典类型      | varchar(40)  |         对应字典类型（sex）          |
|     code     |        编码        | varchar(40)  |                  1                   |
|    label     |      字典标签      | varchar(40)  |                  男                  |
|    status    |        状态        |   char(2)    |           0：停用，1：正常           |
|    remark    |      备注信息      | varchar(200) |                                      |

### 自定义字典数据映射结构（dict_data_map）



|     字段     |       字段说明       |   数据类型   |         备注         |
| :----------: | :------------------: | :----------: | :------------------: |
|      id      |  主键（无业务含义）  | varchar(20)  |                      |
| dict_data_id |    字典数据结构id    | varchar(20)  |                      |
|     type     |       字典类型       | varchar(40)  |     对应字典类型     |
|  group_code  |       集团编码       | varchar(20)  |                      |
| target_code  | 映射的字典数据表code | varchar(20)  |          1           |
|    label     |       字典标签       | varchar(40)  |         男性         |
|     code     |         编码         | varchar(40)  |          a           |
|    status    |         状态         |   char(2)    |   0：停用，1：正常   |
| create_time  |       创建时间       |   datetime   |                      |
|  create_by   |       创建人员       | varchar(40)  |   保存创建的用户ID   |
| update_time  |       更新时间       |   datetime   |                      |
|  update_by   |       更新人员       | varchar(40)  | 保存最后更新的用户ID |
|    remark    |       备注信息       | varchar(200) |                      |



## 接口

#### 数据字典保存接口

groupId、type 相同，code、label 必须分别唯一

```json
{
  //传空：判定为系统标准数据字典(dict_data)数据；
  //传值：判断为集团自定义字典数据(dict_data_map)数据
  "groupId":"",
  "type":"sex",
  "name":"性别",
  "userId":"w",
  "description":"字典描述",
  "data":[
    { 
      "parentCode":"",//用于多层级字典拼装，没有可为空
      "targetCode":"",//传空：在 dict_data 中无映射；传值：在 dict_data 中有映射
      "code":"1",
      "label":"男"
    }
  ]
}
```

