Files
fad_oa/sql/xxl_job_employee_user_link.md

1.6 KiB
Raw Blame History

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。