Files
junhong_cmp_fiber/openspec/specs/order-refund-exchange/spec.md

38 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 订单、退款与换货当前行为
## Purpose
描述订单、退款、换货及订单套餐失效的当前可观察行为。
## Requirements
### Requirement: 订单、退款与换货状态门禁
系统 SHALL 仅允许待支付订单取消;退款申请按待审批、已通过、已拒绝、已退回流转,只有已退回申请可重新提交;换货按待填写信息、待发货、已发货、已完成或已取消流转,并拒绝与当前状态或流程类型不匹配的操作。
#### Scenario: 重复推进终态
- **GIVEN** 退款或换货已进入不允许当前操作的状态
- **WHEN** 再次审批、发货、完成、取消或重新提交
- **THEN** 系统返回状态冲突且不重复改变资产、余额或业务状态
## 可达操作索引
本节只用于入口导航,不是行为 Requirement业务义务以上述 Requirements 为准。
### 订单管理
`GET /api/admin/orders`(获取订单列表);`POST /api/admin/orders`(创建订单);`GET /api/admin/orders/{id}`(获取订单详情);`POST /api/admin/orders/{id}/cancel`(取消订单);`POST /api/admin/orders/purchase-check`(套餐购买预检)。
### 退款管理
`GET /api/admin/refunds`(退款申请列表);`POST /api/admin/refunds`(创建退款申请);`GET /api/admin/refunds/{id}`(退款申请详情);`POST /api/admin/refunds/{id}/approve`(审批通过退款申请);`POST /api/admin/refunds/{id}/reject`(审批拒绝退款申请);`POST /api/admin/refunds/{id}/resubmit`(重新提交退款申请);`POST /api/admin/refunds/{id}/return`(退回退款申请)。
### 换货管理
`GET /api/admin/exchanges`(获取换货单列表);`POST /api/admin/exchanges`(创建换货单);`GET /api/admin/exchanges/{id}`(获取换货单详情);`POST /api/admin/exchanges/{id}/cancel`(取消换货);`POST /api/admin/exchanges/{id}/complete`(确认换货完成);`POST /api/admin/exchanges/{id}/renew`(旧资产转新);`POST /api/admin/exchanges/{id}/ship`(换货发货)。
### 订单套餐失效
`GET /api/admin/order-package-invalidate-tasks`(查询订单套餐失效任务列表);`POST /api/admin/order-package-invalidate-tasks`(创建订单套餐批量失效任务);`GET /api/admin/order-package-invalidate-tasks/{id}`(查询订单套餐失效任务详情)。