1.9 KiB
1.9 KiB
Why
员工核销申请因企业微信或提交链路异常未成功提交、提交失败或结果未知后,当前没有面向员工和管理员的安全恢复入口,导致申请持续占用账单可核销金额且无法继续审批。恢复必须复用原审批实例与稳定提交事实,避免企业微信已受理但本地未知时生成重复审批单。
What Changes
- 为待审批的员工核销申请新增“恢复原审批”操作,允许原申请员工以及其数据范围内的超级管理员、平台用户触发。
- 恢复操作复用最新审批尝试、原审批实例和稳定提交事件,不修改申请材料、不释放账单预占、不创建新的审批尝试或第二张企业微信审批单。
- 对明确提交失败、提交结果未知和已取得企业微信审批单号但本地未确认的情形,分别恢复可靠投递、优先确认原提交结果或查询同步原审批状态。
- 对仍在正常重试、已进入企业微信审批中或已完成的申请执行幂等处理或明确拒绝,并记录不含敏感材料的恢复审计。
- 列表与详情返回恢复操作所需的安全提交状态、失败摘要与可恢复标记,使前端只展示服务端判定允许的操作。
Capabilities
New Capabilities
无。
Modified Capabilities
employee-collection-bill: 增加员工核销申请原审批的人工恢复、权限、幂等、状态展示与审计行为。
Impact
- 新增后台员工核销申请恢复接口及 RouteSpec/OpenAPI 说明。
- 影响员工核销申请 Handler、Application 用例、只读投影、通用审批提交恢复接缝、Outbox 事件状态处理与审计。
- 复用现有 PostgreSQL、Outbox、Asynq 和企业微信审批适配器,不新增第三方依赖或数据库迁移;最近恢复时间使用企业微信审批上下文既有
last_recovery_at,人工触发人与动作结果写入审计事实。