All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m16s
2.2 KiB
2.2 KiB
ADDED Requirements
Requirement: 退款申请数据模型
系统 SHALL 提供 tb_refund_request 表存储退款申请,包含退款单号(唯一)、关联订单 ID、店铺 ID(数据权限过滤)、实收金额、申请退款金额、审批退款金额、状态、审批人、审批时间、佣金回扣标记、退款后资产处理标记等字段。
Scenario: 创建退款申请
- WHEN 平台管理员提交退款申请,填写订单 ID、实收金额、申请退款金额、退款原因
- THEN 系统 SHALL 生成唯一退款单号(格式 RF+日期时间+随机数),创建
status=1(待审批)的退款记录,shop_id从关联订单自动读取
Scenario: 仅针对已支付套餐订单
- WHEN 管理员对非已支付订单或充值订单发起退款
- THEN 系统 SHALL 返回错误,拒绝创建
Scenario: 重复退款防护
- WHEN 管理员对已有待审批/已通过/已退回退款记录的订单再次发起退款
- THEN 系统 SHALL 返回错误,拒绝创建
- WHEN 管理员对仅有已拒绝退款记录的订单重新发起退款
- THEN 系统 SHALL 允许创建新的退款申请
Requirement: 退款状态流转
退款单状态 SHALL 按以下规则流转:待审批(1) → 已通过(2)/已拒绝(3)/已退回(4);已退回(4) → 待审批(1)。已通过和已拒绝为终态。
Scenario: 审批通过
- WHEN 审批人对待审批退款单执行通过操作
- THEN 状态 SHALL 变为 2(已通过),记录审批人和审批时间,异步触发资产处理和佣金回扣
Scenario: 审批拒绝
- WHEN 审批人对待审批退款单执行拒绝操作,填写拒绝原因
- THEN 状态 SHALL 变为 3(已拒绝),记录拒绝原因
Scenario: 退回重提
- WHEN 审批人退回退款申请,申请人修改后重新提交
- THEN 状态 SHALL 从 4(已退回)变回 1(待审批)
Scenario: 非法状态变更被拒绝
- WHEN 对已通过或已拒绝的退款单执行任何状态变更
- THEN 系统 SHALL 返回错误,状态不变
Requirement: 仅平台账号可操作
退款的发起和审批 SHALL 限制为平台用户(user_type IN 1,2)。同一人可以既发起又审批。