All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m39s
2.1 KiB
2.1 KiB
ADDED Requirements
Requirement: 创建线下充值订单时必须上传支付凭证
系统 SHALL 在 POST /api/admin/agent-recharges 接口中,当 payment_method=offline 时强制要求 payment_voucher_key 字段非空。凭证 key 为通过 /storage/upload-url 上传至对象存储后获得的文件标识符。当 payment_method=wechat 时,payment_voucher_key 字段忽略。
Scenario: 线下支付缺少凭证时拒绝创建
- WHEN 调用
POST /api/admin/agent-recharges,payment_method=offline且payment_voucher_key为空或未传 - THEN 系统返回 400,错误码
CodeInvalidParam,消息"线下充值必须上传支付凭证"
Scenario: 线下支付有凭证时创建成功
- WHEN 调用
POST /api/admin/agent-recharges,payment_method=offline且payment_voucher_key非空 - THEN 系统创建充值记录,凭证 key 写入
tb_agent_recharge_record.payment_voucher_key,返回 200
Scenario: 微信支付不需要凭证
- WHEN 调用
POST /api/admin/agent-recharges,payment_method=wechat,不传payment_voucher_key - THEN 系统正常创建充值记录,不做凭证校验,返回 200
Requirement: 充值记录存储支付凭证
系统 SHALL 将 payment_voucher_key 持久化到 tb_agent_recharge_record 表的 payment_voucher_key 列,与充值记录创建在同一个数据库操作内完成。
Scenario: 凭证随记录创建写入
- WHEN
Create方法执行创建充值记录 - THEN
payment_voucher_key与其他字段一同写入数据库,不可分割
Requirement: 充值记录响应包含凭证信息
系统 SHALL 在 AgentRechargeResponse 中返回 payment_voucher_key 字段,允许为空(历史记录及微信支付无凭证)。
Scenario: 已上传凭证的线下充值记录查询
- WHEN 查询已创建的线下充值记录
- THEN 响应
payment_voucher_key字段返回非空的对象存储 key
Scenario: 微信支付记录无凭证字段
- WHEN 查询微信支付的充值记录
- THEN 响应
payment_voucher_key字段为空字符串或 omitempty(前端不展示)