Files
cattleTransportation/新增用户自动创建员工功能说明.md
2025-10-15 17:47:39 +08:00

110 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 新增用户自动创建员工功能说明
## 功能概述
在新增用户功能中,当用户创建成功后,系统会自动在系统管理的员工管理中添加对应的员工记录,并根据用户类型设置相应的岗位。
## 实现细节
### 1. 用户类型映射
系统支持以下用户类型:
- **1**: 司机
- **2**: 供应商(农户)
- **3**: 资金方
- **4**: 采购商
### 2. 自动创建流程
当新增用户成功后,系统会执行以下步骤:
1. **检查重复性**: 检查手机号是否已存在于员工表中,如果存在则跳过创建
2. **获取或创建岗位**: 根据用户类型获取对应的岗位,如果岗位不存在则自动创建
3. **创建员工记录**: 在`sys_user`表中创建员工记录,包含以下信息:
- 员工姓名(来自用户姓名)
- 手机号(来自用户手机号)
- 岗位ID根据用户类型自动分配
- 默认密码:`123456`(已加密)
- 账号状态(继承自用户状态,默认为启用)
- 创建时间
- 创建人
### 3. 岗位自动创建
系统会根据用户类型自动创建对应的岗位:
| 用户类型 | 岗位名称 | 岗位描述 |
|---------|---------|---------|
| 1 | 司机 | 司机用户岗位 |
| 2 | 供应商 | 供应商用户岗位 |
| 3 | 资金方 | 资金方用户岗位 |
| 4 | 采购商 | 采购商用户岗位 |
| 其他 | 普通用户 | 普通用户岗位 |
### 4. 密码处理
- 默认密码设置为:`123456`
- 使用系统统一的密码加密方式:`MD5(aiot + 密码)`
- 与现有员工管理系统的密码加密方式保持一致
## 技术实现
### 修改的文件
- `tradeCattle/aiotagro-cattle-trade/src/main/java/com/aiotagro/cattletrade/business/controller/MemberController.java`
### 新增的方法
1. **`createEmployeeRecord()`**: 创建员工记录的核心方法
2. **`getOrCreateRoleByUserType()`**: 根据用户类型获取或创建岗位
### 依赖注入
新增了`SysRoleMapper`的依赖注入,用于岗位管理操作。
## 使用说明
### 前端调用
前端无需修改继续使用现有的新增用户API
```javascript
// 调用新增用户API
userAdd({
username: '张三',
mobile: '13800138000',
type: 2, // 供应商
status: 0, // 启用
cbkAccount: 'account123',
remark: '备注信息'
})
```
### 后端处理
后端会自动:
1. 创建用户记录(原有功能)
2. 自动创建对应的员工记录(新增功能)
3. 如果岗位不存在,自动创建岗位
## 错误处理
- 员工记录创建失败不会影响用户创建的成功
- 错误信息会记录到系统日志中
- 如果手机号已存在于员工表中,会跳过创建并记录日志
## 注意事项
1. **数据一致性**: 确保用户表和员工表中的手机号保持一致
2. **权限管理**: 新创建的员工记录需要管理员手动分配菜单权限
3. **密码安全**: 建议用户首次登录后修改默认密码
4. **岗位管理**: 自动创建的岗位可以在系统管理的岗位管理中进行编辑和权限分配
## 测试建议
1. 测试不同用户类型的用户创建
2. 验证员工记录是否正确创建
3. 检查岗位是否按预期创建
4. 确认密码加密是否正确
5. 测试重复手机号的处理逻辑