From 804b83b3697ae81a3604a799eb1a56bfeb6e76f6 Mon Sep 17 00:00:00 2001 From: xuqiuyun <1113560936@qq.com> Date: Wed, 15 Oct 2025 17:47:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E9=81=8D=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 新增用户自动创建员工功能说明.md | 109 ++++++++++++++++++++++++++++++++ 添加设备运单字段.sql | 1 + 添加项圈运单字段.sql | 3 +- 3 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 新增用户自动创建员工功能说明.md diff --git a/新增用户自动创建员工功能说明.md b/新增用户自动创建员工功能说明.md new file mode 100644 index 0000000..9266d5a --- /dev/null +++ b/新增用户自动创建员工功能说明.md @@ -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. 测试重复手机号的处理逻辑 diff --git a/添加设备运单字段.sql b/添加设备运单字段.sql index 078d87f..091271c 100644 --- a/添加设备运单字段.sql +++ b/添加设备运单字段.sql @@ -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 '车牌号'; + diff --git a/添加项圈运单字段.sql b/添加项圈运单字段.sql index cb4e3ce..25b734b 100644 --- a/添加项圈运单字段.sql +++ b/添加项圈运单字段.sql @@ -6,5 +6,4 @@ ADD COLUMN license_plate VARCHAR(64) COMMENT '车牌号'; -- 2. (可选)在delivery表添加项圈设备字段 -- ALTER TABLE delivery --- ADD COLUMN xq_device_ids TEXT COMMENT '智能项圈设备ID列表(JSON)'; - +-- ADD COLUMN xq_device_ids TEXT COMMENT '智能项圈设备ID列表(JSON)'; \ No newline at end of file