# 统一数据标准化

数据字典主要用于维护系统常用且固定的数据类型,例如:性别(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_by  |      创建人员      | varchar(40)  |         保存创建的用户id          |
| update_time |      更新时间      |   datetime   |                                   |
|  update_by  |      更新人员      | 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":"男"
    }
  ]
}
```