1.6 KiB
1.6 KiB
xxl-job 任务:员工↔用户自动关联
部署后一次性操作
登录 xxl-job 调度中心(http://49.232.154.205:xxxx/xxl-job-admin,用户名 admin/123456 是默认,见 ruoyi-extend/ruoyi-xxl-job-admin/),执行者组选到本项目对应的执行器(一般叫 xxl-job-executor-ruoyi),然后:
新增任务:
| 字段 | 值 |
|---|---|
| 执行器 | xxl-job-executor-ruoyi(或本项目对应组) |
| 任务描述 | 员工↔用户自动关联体检 |
| 调度类型 | CRON |
| Cron | 0 0 3 * * ? (每天 03:00 执行一次) |
| 运行模式 | BEAN |
| JobHandler | employeeUserLinkJob |
| 路由策略 | FIRST |
| 阻塞处理策略 | 单机串行 |
| 任务超时时间 | 300 秒 |
| 失败重试次数 | 0 |
保存后点「启动」。
运行逻辑
- 扫全部
hrm_employee.del_flag=0 - 已挂到有效 sys_user 且姓名对得上 → 跳过
- 否则按
emp_name匹配sys_user.nick_name(兜底user_name):- 候选唯一 + 手机号一致 → 自动挂
- 候选唯一 + 手机号为空 → 也挂
- 多个候选靠手机号唯一定位 → 挂
- 其余情况 → 打「需人工」日志,不动数据
观察
xxl-job 调度中心「调度日志」里能看到每次执行的 stdout:
[已挂] emp_id=xxx emp_name=张三 user_id: null → 123456 (张三 / zhangsan)
[需人工] emp_id=xxx emp_name=胡雪姣 current_user_id=1859249502579310593 候选=[] —— 候选唯一且手机匹配才能自动挂
员工-用户关联体检完成:总数=54,跳过=53,自动修=0,需人工=1
手动触发
在 xxl-job 后台可以点「执行一次」立即跑,不用等 03:00。