WHMSLIVE 部署验证企微HR主数据镜像
这个提交包含在:
+12
-10
@@ -2,10 +2,10 @@
|
||||
|
||||
**文档状态**:当前开发路线图事实源。
|
||||
**分类**:开发治理 / 路线图。
|
||||
**适用时间**:WDRG / WCP1 / WHMS 之后。
|
||||
**关联 Issue**:`WDRG,WCP1,WHMS`。
|
||||
**适用时间**:WDRG / WCP1 / WHMSLIVE 之后。
|
||||
**关联 Issue**:`WDRG,WCP1,WHMS,WHMSLIVE`。
|
||||
**最近审计**:2026-05-18。
|
||||
**不得误读**:本文只控制后续开发节奏、阶段顺序和门禁。WHMS 后只代表企微 HR 主数据镜像已本地实现,尚未部署;不代表企微考勤/审批镜像、OA 应急接管、恢复回写或 RuleOps 已完成运行时实现。
|
||||
**不得误读**:本文只控制后续开发节奏、阶段顺序和门禁。WHMSLIVE 后只代表企微 HR 主数据镜像已部署并受控验证;不代表企微考勤/审批镜像、OA 应急接管、恢复回写或 RuleOps 已完成运行时实现。
|
||||
|
||||
## 1. 路线图原则
|
||||
|
||||
@@ -24,14 +24,14 @@
|
||||
| `WDRG` | 已完成 | 固定开发路线图和节奏;其下一步 `WECOM-CAPABILITY-POC-V1` 已由 WCP1/WCPC 执行并收口。 |
|
||||
| `WCP1` | 已完成 | 已完成只读 POC runner 和远端只读探测,历史结论为 `PAUSE_FOR_CONFIG`;后续由 WCPC 复跑收口。 |
|
||||
| `WCPC` | 已完成 | 已使用既有在职低风险测试号 `SMOKE002/测试员工`(报告只记录 `oa_smoke***`)完成远端只读复跑,结论 `GO_TO_HR_MASTER_SYNC`;该准入已由 WHMS 承接,不得直接跳到考勤/审批镜像、应急、回写或 RuleOps。 |
|
||||
| `WHMS` | 本地已实现,待部署/公网验证 | 已新增 `wecom_hr_master_sync_v1`、企微/人事助手主数据读取服务、dry-run/apply、同步批次/逐员工记录、People 管理入口和 QA-only runner;默认 `force_off`,未部署,未执行生产真实员工批量 apply。 |
|
||||
| `WHMSLIVE` | 已部署并受控公网验证 | 已部署 `wecom_hr_master_sync_v1`,应用 migration,公网对 `SMOKE002/测试员工`(脱敏 `oa_smoke***`)执行 dry-run 和显式 userids apply;因企微侧缺手机号、邮箱和部门按 `missing_required_field` 跳过,未写 OA 主数据;普通员工权限负例 403;最终 `force_off`,未执行生产真实员工批量 apply。 |
|
||||
|
||||
## 3. 阶段路线
|
||||
|
||||
| 顺序 | 阶段 | 目标 | 进入条件 | 退出条件 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | `WECOM-CAPABILITY-POC-V1` | 只读或低风险探测企微 API 能力,输出能力矩阵。 | WDRG 完成;企微后台权限、Secret、可信 IP、模板和可见范围按现状记录。 | 人事助手、通讯录、打卡、审批、假期余额、回调和权限配置均有 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY` 或 `NOT_SUPPORTED_BY_API` 结论。 |
|
||||
| 2 | `wecom_hr_master_sync_v1` | 企微/人事助手员工、部门、主管、职位、联系方式和在职状态镜像到 OA。 | POC 证明人事助手/通讯录读取和回调能力可用,或明确缺口处理方式。 | 本地实现通过门禁后进入待部署/公网验证;OA 可自动创建/更新员工档案、账号、角色、企微绑定和审计;缺配置时记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`。 |
|
||||
| 2 | `wecom_hr_master_sync_v1` | 企微/人事助手员工、部门、主管、职位、联系方式和在职状态镜像到 OA。 | POC 证明人事助手/通讯录读取和回调能力可用,或明确缺口处理方式。 | WHMSLIVE 后已完成本地门禁、部署和受控公网验证;OA 可自动创建/更新员工档案、账号、角色、企微绑定和审计;最终 `force_off`,真实员工批量 apply 仍需单独批准;缺配置时记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`。 |
|
||||
| 3 | `wecom_attendance_approval_mirror_v1` | 企微打卡、请假、补卡、外出、加班、假期余额和审批历史镜像到 OA。 | WHMS 部署并完成受控 dry-run/apply 验证;审批模板、打卡规则和回调能力已完成 POC 或有可解释替代方案。 | OA 可查询企微 HR/考勤镜像、附件摘要、审批历史、考勤解释和审计;不把 OA 主办高敏审批迁到企微。 |
|
||||
| 4 | `oa_hr_emergency_mode_v1` | 企业微信不可用时,由管理员人工开启 OA HR/考勤应急接管。 | 企微镜像数据可支撑对账;OA 应急入口、权限和审计方案明确。 | 管理员可填写原因、范围、预计结束时间和责任人后开启/关闭;应急单据带 `EMERGENCY` 标记。 |
|
||||
| 5 | `wecom_recovery_writeback_v1` | 企微恢复后,OA 应急数据先 dry-run,再回写企微。 | 应急接管模式完成;企微写回接口、冲突规则和回滚策略已单独批准。 | 系统生成成功、失败、跳过和冲突清单;无冲突项可自动回写,冲突进入人工确认。 |
|
||||
@@ -112,13 +112,13 @@ POC 默认只读或低风险探测。任何生产写操作、企微规则写入
|
||||
- `callback.config=NEEDS_CONFIG`:本轮只读报告未证明真实回调配置存在。
|
||||
- `hr.staff_update_classification=NEEDS_API_POC`:人事助手资料更新属于写接口,需单独批准后再做低风险 POC。
|
||||
|
||||
WCPC 已允许进入 `wecom_hr_master_sync_v1`。WHMS 已承接该阶段并完成本地实现,考勤/审批镜像仍需先补审批模板、审批单、回调配置并另建 `wecom_attendance_approval_mirror_v1` 合同,不得把 WCPC 或 WHMS 误读为考勤/审批运行时迁移已完成。
|
||||
WCPC 已允许进入 `wecom_hr_master_sync_v1`。WHMS 已承接该阶段,完成本地实现、部署和受控公网验证;考勤/审批镜像仍需先补审批模板、审批单、回调配置并另建 `wecom_attendance_approval_mirror_v1` 合同,不得把 WCPC 或 WHMS 误读为考勤/审批运行时迁移已完成。
|
||||
|
||||
## 9. WHMS HR 主数据镜像状态
|
||||
|
||||
2026-05-18 已建立 `WECOM-HR-MASTER-SYNC-V1` 合同,范围限定为企业微信通讯录/人事助手只读主数据同步到 OA。该阶段不做考勤/审批镜像、审批回调、恢复回写、RuleOps、HR 写企微接口、采购/合同/财务迁移。
|
||||
|
||||
本地实现内容:
|
||||
已实现内容:
|
||||
|
||||
- 新增 feature flag `wecom_hr_master_sync_v1`,默认 `force_off`;新增配置 `WECOM_HR_MASTER_SYNC_ENABLED`、`WECOM_HR_ASSISTANT_SECRET`,允许已验证工作台应用 Secret 作为只读 fallback 并记录 token source。
|
||||
- 新增管理 API:`POST /api/employees/wecom-hr-master-sync/runs`、`GET /api/employees/wecom-hr-master-sync/runs`、`GET /api/employees/wecom-hr-master-sync/runs/:id`。
|
||||
@@ -135,6 +135,8 @@ WCPC 已允许进入 `wecom_hr_master_sync_v1`。WHMS 已承接该阶段并完
|
||||
|
||||
当前状态:
|
||||
|
||||
- 本地代码、文档和 QA runner 已实现,仍需通过本轮门禁后提交。
|
||||
- 尚未部署到公网,未执行生产真实员工批量 `apply`。
|
||||
- 下一阶段仍是 `wecom_attendance_approval_mirror_v1`,但必须在 WHMS 部署和受控验证后另建合同,不能直接跳到应急接管、恢复回写或 RuleOps。
|
||||
- 已通过 `WHMSLIVE` 部署到 `https://oa.hyinda.com`,远端已应用 migration `20260518184319_wecom_hr_master_sync_v1`。
|
||||
- 公网验证窗口中临时将 `wecom_hr_master_sync_v1` 设为 `force_on`,对既有低风险测试号 `SMOKE002/测试员工`(脱敏 `oa_smoke***`)执行 dry-run 和显式 userids apply;企微读取链路通过,因企微侧缺手机号、邮箱和部门,按规则记录 `missing_required_field` 并跳过,未写入 OA 主数据。
|
||||
- 已验证普通员工访问同步 API 返回 403;验证结束后 `wecom_hr_master_sync_v1` 已恢复为 `force_off`。
|
||||
- 未执行生产真实员工批量 `apply`;后续若要正式批量同步真实员工,必须另行批准并先处理企微必填字段质量。
|
||||
- 下一阶段允许规划 `wecom_attendance_approval_mirror_v1`,但必须另建合同,不能直接跳到应急接管、恢复回写或 RuleOps。
|
||||
|
||||
在新工单中引用
屏蔽一个用户