# 用户同步和组织架构同步消息，
``
采用RocketMq消息队列，在用户和组织添加修改删除时同步发送消息到rocketMq
消息topic    /accident/user/sync 
``

| 功能   | topic               |
|------|:--------------------|
| 用户同步 | /accident/user/sync |
| 部门同步 | /accident/dept/sync |

## 用户同步 mq
### 用户新增
~~~json
{
  "command": "USER_ADD",
  "userInfo": {
    "username": "test123",
    "deptId": 1,
    "nickname": "真实姓名",
    "id": 12
  }
}
~~~

| 字段                | 数据类型   | 备注    | 是否为空 |
|-------------------|:-------|:------|:-----|
| command           | string | 指令    | N    |
| userInfo          | obj    | 用户信息  | N    |
| userInfo.username | string | 登录用户名 | N    |
| userInfo.deptId   | int    | 部门id  | N    |
| userInfo.nickname | string | 真实姓名  | N    |
| userInfo.id       | int    | 用户id  | N    |

### 用户修改
~~~json
{
  "command": "USER_UPDATE",
  "userInfo": {
    "username": "test123",
    "deptId": 1,
    "nickname": "真实姓名",
    "id": 12
  }
}
~~~

| 字段                | 数据类型   | 备注    | 是否为空 |
|-------------------|:-------|:------|:-----|
| command           | string | 指令    | N    |
| userInfo          | obj    | 用户信息  | N    |
| userInfo.username | string | 登录用户名 | N    |
| userInfo.deptId   | int    | 部门id  | N    |
| userInfo.nickname | string | 真实姓名  | N    |
| userInfo.id       | int    | 用户id  | N    |

### 用户删除
~~~json
{
  "command": "USER_DELETE",
  "userInfo": {
    "username": "test123",
    "deptId": 1,
    "nickname": "真实姓名",
    "id": 12
  }
}
~~~

| 字段                | 数据类型   | 备注    | 是否为空 |
|-------------------|:-------|:------|:-----|
| command           | string | 指令    | N    |
| userInfo          | obj    | 用户信息  | N    |
| userInfo.username | string | 登录用户名 | N    |
| userInfo.deptId   | int    | 部门id  | N    |
| userInfo.nickname | string | 真实姓名  | N    |
| userInfo.id       | int    | 用户id  | N    |


## 组织架构同步mq

### 部门新增

~~~json
{
  "command": "DEPT_ADD",
  "deptInfo": {
    "deptId": 111,
    "name": "部门1",
    "sort": 111,
    "parentId": 12
  }
}
~~~

| 字段                | 数据类型   | 备注   | 是否为空 |
|-------------------|:-------|:-----|:-----|
| command           | string | 指令   | N    |
| deptInfo          | obj    | 部门信息 | N    |
| deptInfo.name     | string | 部门名称 | N    |
| deptInfo.deptId   | int    | 部门id | N    |
| deptInfo.sort     | int    | 部门排序 | N    |
| deptInfo.parentId | int    | 上级id | N    |


### 部门修改

~~~json
{
  "command": "DEPT_UPDATE",
  "deptInfo": {
    "deptId": 111,
    "name": "部门1",
    "sort": 111,
    "parentId": 12
  }
}
~~~

| 字段                | 数据类型   | 备注   | 是否为空 |
|-------------------|:-------|:-----|:-----|
| command           | string | 指令   | N    |
| deptInfo          | obj    | 部门信息 | N    |
| deptInfo.name     | string | 部门名称 | N    |
| deptInfo.deptId   | int    | 部门id | N    |
| deptInfo.sort     | int    | 部门排序 | N    |
| deptInfo.parentId | int    | 上级id | N    |


### 部门删除

~~~json
{
  "command": "DEPT_DELETE",
  "deptInfo": {
    "deptId": 111,
    "name": "部门1",
    "sort": 111,
    "parentId": 12
  }
}
~~~

| 字段                | 数据类型   | 备注   | 是否为空 |
|-------------------|:-------|:-----|:-----|
| command           | string | 指令   | N    |
| deptInfo          | obj    | 部门信息 | N    |
| deptInfo.name     | string | 部门名称 | N    |
| deptInfo.deptId   | int    | 部门id | N    |
| deptInfo.sort     | int    | 部门排序 | N    |
| deptInfo.parentId | int    | 上级id | N    |



