## Why 企微明确拒绝提交审批时,审批核心只把审批实例改为“提交失败”,不通知业务模块,业务单永远停在待审批:核销申请的账单预占、佣金提现的冻结金额一直不释放。另外退款审批在企微被拒绝、撤销、删除时,关闭分支把审批尝试 ID 当成退款单 ID,退款单停在待审批(测试库退款单 511 已复现)。核销申请列表与详情的审批提交状态字段也从未赋值。依据为《第1批-8-9月迭代缺陷修复技术方案》第 3、7、8 节(M8、M13、M14)。 ## What Changes - 审批核心在实例变为“提交失败”的同一事务内,发出新的终态决策 `submission_failed`,带脱敏失败摘要;提交结果未知不发。六个业务决策消费者必须同时接入该决策。 - 核销申请新增状态 4“审批提交失败”(终态),收到决策后释放全部预占;列表与详情一次批量返回审批提交状态(M8)。 - 退款新增状态 7“审批提交失败”(终态);扫码注册代理新增 3、提现资料资格新增 4、线下充值新增 7、佣金提现新增 5,各自为终态并释放占用;佣金提现释放冻结金额(M14)。 - 以上状态均不再提供“恢复审批”;核销、退款、扫码注册代理三处恢复入口对“提交失败”的重放分支改为拒绝。要再办理须在卡管重新发起,生成新的审批尝试与新的企微审批。 - 退款审批在企微被拒绝、撤销、删除后,按审批尝试正确定位退款单并置为“已拒绝”(终态);企微侧重新提交产生的新单号不关联(M13)。 - **BREAKING** 上述业务列表、筛选、导出出现新状态值;新增一组成对迁移,放宽五张表的状态 `CHECK` 约束。 ## Capabilities ### New Capabilities 无。 ### Modified Capabilities - `external-integration`:审批提交失败作为终态决策通知业务模块。 - `employee-collection-bill`:核销申请新增“审批提交失败”终态;列表与详情返回审批提交状态。 - `order-refund-exchange`:退款新增“审批提交失败”终态;企微关闭类终态按审批尝试定位退款单;企微侧重新提交不关联;恢复入口不再重放提交失败。 - `agent-distribution-withdrawal`:扫码注册代理、佣金提现、提现资料资格新增“审批提交失败”终态;注册恢复入口不再重放提交失败。 - `agent-funds-commission`:线下代理充值新增“审批提交失败”终态。 ## Impact - 代码:`pkg/constants/approval.go`、`internal/infrastructure/wecom/approval_context_repository.go`、`internal/infrastructure/approval/terminal_event.go`;六个决策消费者(`internal/application/employeecollection/approval_decision.go`、`internal/service/refund/approval_decision.go`、`internal/application/agentrecharge/approval_decision.go`、`internal/application/distributionwithdrawal/{registration,withdrawal,qualification}_approval.go`);三处恢复入口;各业务状态常量、列表筛选、状态名称、导出格式化;`internal/query/employeecollection/application.go`。 - 数据库:新增一组成对迁移(编号排在 238 之后),放宽 `tb_employee_collection_application`、`tb_refund_request`、`tb_agent_distribution_registration`、`tb_withdrawal_qualification`、`tb_agent_recharge_record` 的状态约束,更新列注释(含无约束的 `tb_commission_withdrawal_request`);放宽 `tb_approval_decision_delivery` 的决策取值约束,允许 `submission_failed`。 - 接口:列表筛选与状态说明新增值;重新生成接口文档。 - 运营:这些单据提交企微失败后需在卡管重新发起,不再“恢复审批”。