3.6 KiB
订单、退款与换货当前行为
Purpose
描述订单、退款、换货及订单套餐失效的当前可观察行为。
Requirements
Requirement: 订单、退款与换货状态门禁
系统 SHALL 仅允许待支付订单取消;退款申请按待审批、已通过、已拒绝、已退回流转,只有已退回申请可重新提交;换货按待填写信息、待发货、已发货、已完成或已取消流转,并拒绝与当前状态或流程类型不匹配的操作。
Scenario: 重复推进终态
- GIVEN 退款或换货已进入不允许当前操作的状态
- WHEN 再次审批、发货、完成、取消或重新提交
- THEN 系统返回状态冲突且不重复改变资产、余额或业务状态
Requirement: 代理退款查询按所属店铺隔离
系统 SHALL 允许代理账号通过 GET /api/admin/refunds 查询其当前所属店铺的全部退款申请,并通过 GET /api/admin/refunds/{id} 查询其中任一申请详情,不以申请创建账号作为查询条件。该范围 SHALL 不包含下级代理店铺、其他店铺或未关联店铺的退款申请;代理账号未关联店铺时,列表 SHALL 为空且详情 SHALL 返回不存在。平台和超级管理员的既有退款查询范围 SHALL 保持不变。
Scenario: 查看同店铺其他账号提交的退款
- GIVEN 当前代理所属店铺存在由另一账号创建的退款申请
- WHEN 该代理查询退款列表或该申请详情
- THEN 系统返回该退款申请
Scenario: 查询下级代理店铺的退款
- GIVEN 当前代理的下级代理店铺存在退款申请
- WHEN 当前代理查询退款列表或该申请详情
- THEN 系统不返回该退款申请,详情查询返回不存在
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}(查询订单套餐失效任务详情)。