3.8 KiB
代理资金与佣金当前行为
Purpose
描述代理充值、钱包、佣金、提现及其金额边界的当前可观察行为。
Requirements
Requirement: 代理钱包与提现状态门禁
系统 SHALL 仅允许正常钱包执行资金操作;冻结或关闭钱包拒绝扣款、冻结、释放或提现,提现申请按待审核、已通过、已拒绝、已到账状态推进,重复终态决定不得再次扣减或入账。
Scenario: 非正常钱包资金操作
- GIVEN 代理钱包已冻结或关闭
- WHEN 请求扣款、冻结、释放或提现
- THEN 系统返回状态错误且余额与流水不变
Requirement: 佣金异常状态可见
系统 SHALL 将佣金记录保持为已冻结、解冻中、已发放、已失效或待人工修正;链路断裂的记录进入待人工修正而不是静默计入可提现余额。
Scenario: 佣金链路断裂
- GIVEN 佣金记录无法关联完成后续发放所需事实
- WHEN 系统处理该记录
- THEN 记录保持待人工修正状态且不增加可提现余额
Requirement: 代理在线充值本地支付状态
系统 SHALL 将代理在线充值的本地支付投影按 0=待支付、1=已支付、2=已失败、3=已退款返回;订单和资产充值使用各自的状态集。
Scenario: 代理在线充值本地支付状态
- GIVEN 代理在线充值的本地支付记录存在
- WHEN 查询该充值的支付状态
- THEN 返回数值状态及对应中文名称
Requirement: 充值边界
系统 SHALL 接受资产充值 100 至 10000000 分、线下代理充值 1 至 100000000 分、在线代理充值至少 10000 分。
Scenario: 充值边界
- GIVEN 请求金额位于或越过边界
- WHEN 创建对应充值
- THEN 边界内请求进入既有支付流程,越界请求返回参数或业务错误
可达操作索引
本节只用于入口导航,不是行为 Requirement;业务义务以上述 Requirements 为准。
代理预充值
GET /api/admin/agent-recharges(查询代理充值订单列表);POST /api/admin/agent-recharges(创建代理充值订单);GET /api/admin/agent-recharges/{id}(查询代理充值订单详情);POST /api/admin/agent-recharges/{id}/offline-pay(确认线下充值);GET /api/admin/agent-recharges/{id}/payment-status(查询代理充值本地支付与到账状态);POST /api/admin/agent-recharges/{id}/reject(驳回代理充值订单);GET /api/admin/agent-recharges/payment-methods(查询代理在线充值可用支付方式)。
代理商资金管理
POST /api/admin/commission-records/{id}/resolve(修正待审佣金记录);PUT /api/admin/shops/{id}/credit-limit(调整既有店铺实际信用额度);GET /api/admin/shops/{shop_id}/commission-daily-stats(代理商每日佣金统计);GET /api/admin/shops/{shop_id}/commission-records(代理商佣金明细);GET /api/admin/shops/{shop_id}/commission-stats(代理商佣金统计);GET /api/admin/shops/{shop_id}/main-wallet/transactions(代理商预充值钱包流水);GET /api/admin/shops/{shop_id}/withdrawal-requests(代理商提现记录);POST /api/admin/shops/{shop_id}/withdrawal-requests(发起提现申请);GET /api/admin/shops/fund-summary(代理商资金概况)。
佣金提现审批
GET /api/admin/commission/withdrawal-requests(提现申请列表);POST /api/admin/commission/withdrawal-requests/{id}/approve(审批通过提现申请);POST /api/admin/commission/withdrawal-requests/{id}/reject(拒绝提现申请)。
提现配置管理
GET /api/admin/commission/withdrawal-settings(提现配置列表);POST /api/admin/commission/withdrawal-settings(新增提现配置);GET /api/admin/commission/withdrawal-settings/current(获取当前生效的提现配置)。