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

3.2 KiB
Raw Blame History

新增用户自动创建员工功能说明

功能概述

在新增用户功能中,当用户创建成功后,系统会自动在系统管理的员工管理中添加对应的员工记录,并根据用户类型设置相应的岗位。

实现细节

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

// 调用新增用户API
userAdd({
    username: '张三',
    mobile: '13800138000',
    type: 2,  // 供应商
    status: 0, // 启用
    cbkAccount: 'account123',
    remark: '备注信息'
})

后端处理

后端会自动:

  1. 创建用户记录(原有功能)
  2. 自动创建对应的员工记录(新增功能)
  3. 如果岗位不存在,自动创建岗位

错误处理

  • 员工记录创建失败不会影响用户创建的成功
  • 错误信息会记录到系统日志中
  • 如果手机号已存在于员工表中,会跳过创建并记录日志

注意事项

  1. 数据一致性: 确保用户表和员工表中的手机号保持一致
  2. 权限管理: 新创建的员工记录需要管理员手动分配菜单权限
  3. 密码安全: 建议用户首次登录后修改默认密码
  4. 岗位管理: 自动创建的岗位可以在系统管理的岗位管理中进行编辑和权限分配

测试建议

  1. 测试不同用户类型的用户创建
  2. 验证员工记录是否正确创建
  3. 检查岗位是否按预期创建
  4. 确认密码加密是否正确
  5. 测试重复手机号的处理逻辑