3.2 KiB
3.2 KiB
新增用户自动创建员工功能说明
功能概述
在新增用户功能中,当用户创建成功后,系统会自动在系统管理的员工管理中添加对应的员工记录,并根据用户类型设置相应的岗位。
实现细节
1. 用户类型映射
系统支持以下用户类型:
- 1: 司机
- 2: 供应商(农户)
- 3: 资金方
- 4: 采购商
2. 自动创建流程
当新增用户成功后,系统会执行以下步骤:
- 检查重复性: 检查手机号是否已存在于员工表中,如果存在则跳过创建
- 获取或创建岗位: 根据用户类型获取对应的岗位,如果岗位不存在则自动创建
- 创建员工记录: 在
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
新增的方法
createEmployeeRecord(): 创建员工记录的核心方法getOrCreateRoleByUserType(): 根据用户类型获取或创建岗位
依赖注入
新增了SysRoleMapper的依赖注入,用于岗位管理操作。
使用说明
前端调用
前端无需修改,继续使用现有的新增用户API:
// 调用新增用户API
userAdd({
username: '张三',
mobile: '13800138000',
type: 2, // 供应商
status: 0, // 启用
cbkAccount: 'account123',
remark: '备注信息'
})
后端处理
后端会自动:
- 创建用户记录(原有功能)
- 自动创建对应的员工记录(新增功能)
- 如果岗位不存在,自动创建岗位
错误处理
- 员工记录创建失败不会影响用户创建的成功
- 错误信息会记录到系统日志中
- 如果手机号已存在于员工表中,会跳过创建并记录日志
注意事项
- 数据一致性: 确保用户表和员工表中的手机号保持一致
- 权限管理: 新创建的员工记录需要管理员手动分配菜单权限
- 密码安全: 建议用户首次登录后修改默认密码
- 岗位管理: 自动创建的岗位可以在系统管理的岗位管理中进行编辑和权限分配
测试建议
- 测试不同用户类型的用户创建
- 验证员工记录是否正确创建
- 检查岗位是否按预期创建
- 确认密码加密是否正确
- 测试重复手机号的处理逻辑