All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m46s
- 移除 Model 层:删除 ShopSeriesCommissionTier 模型及相关字段 - 更新 DTO:删除 TierCommissionConfig、TierEntry 类型及相关请求/响应字段 - 删除 Store 层:移除 ShopSeriesCommissionTierStore 及相关查询逻辑 - 简化 Service 层:删除梯度返佣处理逻辑,统计查询移除 tier_bonus 字段 - 数据库迁移:创建 000034_remove_tier_commission 移除相关表和字段 - 更新测试:移除梯度返佣相关测试用例,更新集成测试 - OpenAPI 文档:删除梯度返佣相关 schema 和枚举值 - 归档变更:归档 remove-tier-commission-redundancy 到 archive/2026-01-30- - 同步规范:更新 4 个主 specs,标记废弃功能并添加迁移指引 原因:梯度返佣功能与一次性梯度佣金功能重复,且从未实现实际计算逻辑 迁移:使用一次性佣金的梯度模式 (OneTimeCommissionConfig.type = "tiered") 替代
2.6 KiB
2.6 KiB
ADDED Requirements
Requirement: 查询佣金记录列表
系统 SHALL 提供佣金记录列表查询,支持按店铺、佣金来源、时间范围、状态筛选。
Scenario: 代理查询自己店铺的佣金
- WHEN 代理查询佣金记录列表
- THEN 系统返回该店铺的所有佣金记录
Scenario: 按成本价差筛选
- WHEN 指定 commission_source 为 cost_diff
- THEN 系统只返回成本价差类型的佣金记录
Scenario: 按一次性佣金筛选
- WHEN 指定 commission_source 为 one_time
- THEN 系统只返回一次性佣金类型的佣金记录
Scenario: 使用已废弃的佣金来源筛选
- WHEN 指定 commission_source 为 tier_bonus
- THEN 系统返回空列表或返回错误 "不支持的佣金来源类型"
Scenario: 按时间范围筛选
- WHEN 指定开始时间和结束时间
- THEN 系统只返回该时间范围内的佣金记录
Scenario: 响应包含关联信息
- WHEN 查询佣金记录列表
- THEN 每条记录包含:订单号、卡/设备信息、套餐名称
Requirement: 查询佣金记录详情
系统 SHALL 允许查询单条佣金记录的详细信息。
Scenario: 查询佣金详情
- WHEN 代理查询指定佣金记录详情
- THEN 系统返回完整的佣金信息和关联的订单、卡/设备信息
Scenario: 查询他人佣金
- WHEN 代理尝试查询其他店铺的佣金记录
- THEN 系统返回 "记录不存在" 错误
Requirement: 佣金统计
系统 SHALL 提供佣金统计功能,包含总收入和各来源占比。
Scenario: 查询总收入
- WHEN 代理查询佣金统计
- THEN 系统返回总收入金额(所有已入账佣金之和)
Scenario: 各来源占比
- WHEN 代理查询佣金统计
- THEN 系统返回各佣金来源的金额和占比(cost_diff、one_time)
Scenario: 统计响应不包含梯度奖励字段
- WHEN 代理查询佣金统计
- THEN 响应中不包含 tier_bonus_amount、tier_bonus_count、tier_bonus_percent 字段
Scenario: 按时间范围统计
- WHEN 指定时间范围查询统计
- THEN 系统只统计该时间范围内的佣金
Requirement: 每日佣金统计
系统 SHALL 提供每日佣金统计查询。
Scenario: 查询每日统计
- WHEN 代理查询指定日期范围的每日统计
- THEN 系统返回每天的佣金总额和笔数
Scenario: 默认最近30天
- WHEN 代理查询每日统计不指定日期范围
- THEN 系统返回最近 30 天的数据