feat(admin): 新增后台退款审核队列

This commit is contained in:
yml2213
2026-10-30 13:10:00 +08:00
parent 3297fd69ff
commit a754a71f71
6 changed files with 377 additions and 4 deletions
+2 -2
View File
@@ -194,9 +194,9 @@ dist/assets/AdminLayout-*.js 36.87 kB │ gzip 13.02 kB
## 5. 已知限制
1. 移动端订单列表/详情与消息中心已接入真实接口;下单、支付、交接、归还、结账等操作仍待迁移。
2. 后台已完成仪表盘、订单列表/详情、商品列表/详情与审核、用户列表/详情与人工操作,其余页面仍为统一占位。
2. 后台已完成仪表盘、订单列表/详情、退款审核、商品列表/详情与审核、用户列表/详情与人工操作,其余页面仍为统一占位。
3. 分销后台已完成主题、Logo、登录页与 Shell 轻改,页面结构未重写。
4. 后台菜单权限码按后端逐个核对:订单 `order:list` / `order:view`,商品 `listing:view` / `listing:approve` / `listing:reject` / `listing:offline`,用户 `user:view` / `user:freeze` / `user:unfreeze` / `user:deposit_free` / `user:growth_points` / `user:manual_realname` / `user:revoke_realname` / `user:wallet_adjust`;其余页面仍需核对。
4. 后台菜单权限码按后端逐个核对:订单 `order:list` / `order:view` / `order:close`,商品 `listing:view` / `listing:approve` / `listing:reject` / `listing:offline`,用户 `user:view` / `user:freeze` / `user:unfreeze` / `user:deposit_free` / `user:growth_points` / `user:manual_realname` / `user:revoke_realname` / `user:wallet_adjust`;其余页面仍需核对。
5. SVG 中文尚未转曲。
6. 入口包已降至 495 kB(gzip 161 kB);AntD 共享基础设施仍在入口,后续可拆独立入口。
7. 移动端、订单、分销轻改与首屏优化均已提交;商品管理与审核在本批次提交。
+59
View File
@@ -0,0 +1,59 @@
# Phase 2 验收报告(后台退款审核)
> 日期:2026-10-30
> 项目:解忧商行(hfb_jysh)
> 范围:`/console-jy8k3m/orders/refund-review`
> 结论:**本切片通过,退款队列与通过/驳回动作已接真实接口**
---
## 1. 接口与权限
| 能力 | 接口 | 权限码 |
| --- | --- | --- |
| 待审退款队列 | `GET /api/admin/orders/refund-pending` | `order:close` |
| 通过退款 | `POST /api/admin/orders/:id/refund/approve` | `order:close` |
| 驳回退款 | `POST /api/admin/orders/:id/refund/reject`(`action=restore|close`) | `order:close` |
| 订单详情 | `GET /api/admin/orders/:id` | `order:view` |
后端 `ListPendingRefund` 直接返回完整订单 DTO(最多 200 条,按更新时间升序),前端不再二次请求详情即可展示金额与状态。
## 2. 页面行为
`frontend/src/features/admin/AdminRefundReviewPage.tsx`
- 头部:待审核数量、刷新按钮
- 表格:订单(编号/标题/商品编号)、交易双方、退款金额与订单金额/押金、订单与交接状态、申请时间、操作
- 通过退款:
- 二次确认,明确展示原路退款金额
- 成功后刷新退款队列,并失效订单列表与仪表盘缓存
- 驳回退款:
- 弹窗内选择「恢复订单至待交接」或「驳回并关闭订单」
- 两种模式分别对应后端 `restore` / `close`
- 详情:复用订单详情抽屉,展示结账单、金额、交接与结算
- 无 `order:close` 时只读并提示权限;无 `order:view` 时隐藏详情入口
## 3. 验证结果
```text
npx tsc --noEmit 通过
npm run build 通过(入口 495.83 kB,gzip 161.10 kB)
GET /api/admin/orders/refund-pending ok,{"items":[]}
GET /console-jy8k3m/orders/refund-review 200
```
开发库当前没有待审核退款,通过/驳回未做真实写入验证,避免污染订单与资金数据;请求体与后端 handler 已逐项核对。
## 4. 已知限制
1. 后端驳回只接收 `action`,没有驳回原因字段;页面未收集原因。
2. 未做批量审核、退款金额调整或部分退款。
3. 退款队列最多返回 200 条,暂未分页。
4. 退款渠道状态(退款中/失败)仍以订单详情字段为准,未单独接轮询。
## 5. 下一步建议
1. 后台提现审核与财务看板。
2. 后台申诉仲裁。
3. 商品审核调价与转移号主。
4. 移动端下单、支付与交接/归还/结账。
+1 -1
View File
@@ -395,7 +395,7 @@ hfb_jysh/
### Phase 4:管理后台核心(4–5 周)
> 状态:**进行中(2026-10-30)**。已完成仪表盘、订单列表/详情、商品列表/详情与审核、用户列表/详情与人工操作;退款、提现、申诉与系统配置待迁移。
> 状态:**进行中(2026-10-30)**。已完成仪表盘、订单列表/详情、退款审核、商品列表/详情与审核、用户列表/详情与人工操作;提现、申诉与系统配置待迁移。
- 后台登录、工作台、订单列表、订单详情。
- 商品列表、商品详情、审核。