测试一遍项目
This commit is contained in:
109
新增用户自动创建员工功能说明.md
Normal file
109
新增用户自动创建员工功能说明.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# 新增用户自动创建员工功能说明
|
||||
|
||||
## 功能概述
|
||||
|
||||
在新增用户功能中,当用户创建成功后,系统会自动在系统管理的员工管理中添加对应的员工记录,并根据用户类型设置相应的岗位。
|
||||
|
||||
## 实现细节
|
||||
|
||||
### 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. 测试重复手机号的处理逻辑
|
||||
@@ -5,3 +5,4 @@ ALTER TABLE jbq_client ADD COLUMN IF NOT EXISTS license_plate VARCHAR(255) COMME
|
||||
-- 为智能项圈表添加运单号和车牌号字段
|
||||
ALTER TABLE xq_client ADD COLUMN IF NOT EXISTS delivery_number VARCHAR(255) COMMENT '运单号';
|
||||
ALTER TABLE xq_client ADD COLUMN IF NOT EXISTS license_plate VARCHAR(255) COMMENT '车牌号';
|
||||
|
||||
|
||||
@@ -7,4 +7,3 @@ ADD COLUMN license_plate VARCHAR(64) COMMENT '车牌号';
|
||||
-- 2. (可选)在delivery表添加项圈设备字段
|
||||
-- ALTER TABLE delivery
|
||||
-- ADD COLUMN xq_device_ids TEXT COMMENT '智能项圈设备ID列表(JSON)';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user