测试一遍项目

This commit is contained in:
xuqiuyun
2025-10-15 17:47:39 +08:00
parent d5734f0e37
commit 804b83b369
3 changed files with 111 additions and 2 deletions

View 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. 测试重复手机号的处理逻辑

View File

@@ -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 delivery_number VARCHAR(255) COMMENT '运单号';
ALTER TABLE xq_client ADD COLUMN IF NOT EXISTS license_plate VARCHAR(255) COMMENT '车牌号'; ALTER TABLE xq_client ADD COLUMN IF NOT EXISTS license_plate VARCHAR(255) COMMENT '车牌号';

View File

@@ -6,5 +6,4 @@ ADD COLUMN license_plate VARCHAR(64) COMMENT '车牌号';
-- 2. 可选在delivery表添加项圈设备字段 -- 2. 可选在delivery表添加项圈设备字段
-- ALTER TABLE delivery -- ALTER TABLE delivery
-- ADD COLUMN xq_device_ids TEXT COMMENT '智能项圈设备ID列表(JSON)'; -- ADD COLUMN xq_device_ids TEXT COMMENT '智能项圈设备ID列表(JSON)';