Files
2026-09-17 12:16:20 +08:00

3.0 KiB
Raw Blame History

ADDED Requirements

Requirement: 佣金记录列表回溯行与状态筛选

佣金记录列表(GET /api/admin/shops/{shop_id}/commission-recordsMUST 支持 status 查询参数1 已冻结 / 2 解冻中 / 3 已发放 / 4 已失效 / 5 回溯 / 99 待人工修正),且 MUST NOT 提供 source 查询参数;status=5 即等价于只看回溯行。

Scenario: 只看回溯行

  • GIVEN 用户在佣金记录列表选择状态「回溯」
  • WHEN 前端发起列表查询
  • THEN 前端 MUST 只传 status=5
  • AND 前端 MUST NOT 传 source 参数

Requirement: 佣金记录行新增字段与兜底

列表响应的每一行 MUST 支持 sourceoriginal / clawback);回溯行 MUST 支持 original_commission_idrefund_idrefund_nowithdrawable(恒 false)与可为负数的 amountbalance_after;原佣金行 MUST 支持 clawback_records 摘要与 clawback_total_amount(负值)。后端 omitempty 缺省字段前端 MUST 以 ?? [] / ?? 0 兜底,金额单位为分。

Scenario: 缺省字段兜底

  • GIVEN 列表响应中的原佣金行未返回 clawback_records
  • WHEN 前端渲染该行
  • THEN 前端 MUST 按空数组处理并正常渲染
  • AND 前端 MUST NOT 因缺省字段报错或渲染 undefined

Requirement: 列表行标识与负数渲染

列表 MUST 使用 source + ':' + id 作为行 key原佣金与回溯 ID 空间独立,同一页可能出现相同 id);回溯行 MUST 展示「不可提现」标识;负数 amountbalance_after MUST 标红显示;任何跳转详情的入口 MUST 携带该行的 source,缺省按原佣金处理。

Scenario: 同一页出现重复 id

  • GIVEN 同一页列表中同时存在原佣金行与回溯行且 id 相同
  • WHEN 前端渲染表格
  • THEN 前端 MUST 以 source + ':' + id 区分两行
  • AND 前端 MUST NOT 出现行复用或渲染错位

Scenario: 负数金额标红

  • GIVEN 某回溯行 amount 为负值
  • WHEN 前端渲染金额列
  • THEN 前端 MUST 标红展示该负值

Requirement: 佣金记录详情接口封装

前端 MUST 提供 GET /api/admin/shops/{shop_id}/commission-records/{id} 的详情封装,并支持可选 sourcesource=clawback 时返回回溯详情,source 省略时按原佣金处理。原佣金详情 MUST 返回 clawback_records;回溯详情 MUST 返回 original_commission;越权与不存在 MUST 返回同一结果(佣金明细不存在),前端 MUST NOT 用该接口做存在性判断。

Scenario: 打开回溯行详情

  • GIVEN 用户在列表点击某条回溯行
  • WHEN 前端请求详情
  • THEN 前端 MUST 携带 source=clawback 与该行 id
  • AND 详情 MUST 展示来源 original_commission

Scenario: 越权统一提示

  • GIVEN 详情接口返回「佣金明细不存在」
  • WHEN 前端渲染详情
  • THEN 前端 MUST 展示统一不存在提示
  • AND 前端 MUST NOT 区分越权与不存在两种原因