1.6 KiB
1.6 KiB
1. Contract And Types
- 1.1 在
Refund列表/详情类型中增加submission_status、submission_status_name、approval_recoverable、approval_failure_summary、approval_last_recovery_at。 - 1.2 在
RefundService增加recoverApproval(id),调用无请求体的POST /api/admin/refunds/{id}/recover-approval并返回完整Refund。 - 1.3 补充 API 注释和统一错误响应处理,明确不传审批实例 ID、材料或企业微信单号。
2. Refund List And Detail
- 2.1 列表展示提交状态名称、脱敏失败摘要和最近恢复时间(按页面现有字段展示约定接入)。
- 2.2 仅在
approval_recoverable === true且通过现有退款管理权限/数据范围校验时显示“恢复审批”操作。 - 2.3 恢复操作增加确认和请求中 loading,成功后刷新列表并展示最新响应数据。
- 2.4 详情页展示上述字段和“恢复审批”操作;成功后刷新详情。
- 2.5 处理状态冲突:提示“当前退款审批状态不允许恢复”,并刷新当前数据;其他后端错误沿用统一错误提示。
3. Verification
- 3.1 核对已有
sp_no、提交结果未知、明确提交失败和不可恢复记录的入口展示与刷新行为。 - 3.2 核对无退款权限、越权数据和
approval_recoverable = false时不显示按钮。 - 3.3 核对重复点击被 loading 阻止,且请求体为空、不携带审批材料或实例 ID。
- 3.4 运行相关类型检查、lint、编码检查和构建。
- 3.5 运行
openspec.cmd validate add-refund-approval-recovery --strict。