清理冗余的梯度返佣(TierCommission)配置
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") 替代
This commit is contained in:
2026-01-30 14:57:24 +08:00
parent 409a68d60b
commit 1cf17e8f14
39 changed files with 978 additions and 407 deletions

View File

@@ -610,9 +610,6 @@ components:
properties:
base_commission:
$ref: '#/components/schemas/DtoBaseCommissionConfig'
enable_tier_commission:
description: 是否启用梯度返佣
type: boolean
price_adjustment:
$ref: '#/components/schemas/DtoPriceAdjustment'
series_id:
@@ -623,8 +620,6 @@ components:
description: 被分配的店铺ID
minimum: 0
type: integer
tier_config:
$ref: '#/components/schemas/DtoTierCommissionConfig'
required:
- shop_id
- series_id
@@ -841,15 +836,6 @@ components:
one_time_percent:
description: 一次性佣金占比(千分比)
type: integer
tier_bonus_amount:
description: 梯度奖励收入(分)
type: integer
tier_bonus_count:
description: 梯度奖励笔数
type: integer
tier_bonus_percent:
description: 梯度奖励占比(千分比)
type: integer
total_amount:
description: 总收入(分)
type: integer
@@ -1373,9 +1359,6 @@ components:
enable_one_time_commission:
description: 是否启用一次性佣金
type: boolean
enable_tier_commission:
description: 是否启用梯度返佣
type: boolean
one_time_commission_config:
$ref: '#/components/schemas/DtoOneTimeCommissionConfig'
series_id:
@@ -1386,8 +1369,6 @@ components:
description: 被分配的店铺ID
minimum: 0
type: integer
tier_config:
$ref: '#/components/schemas/DtoTierCommissionConfig'
required:
- shop_id
- series_id
@@ -2478,7 +2459,7 @@ components:
description: 佣金金额(分)
type: integer
commission_source:
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus:梯度奖励)
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
type: string
created_at:
description: 创建时间
@@ -3269,7 +3250,7 @@ components:
description: 入账后佣金余额(分)
type: integer
commission_source:
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus:梯度奖励)
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
type: string
created_at:
description: 佣金入账时间
@@ -3545,9 +3526,6 @@ components:
enable_one_time_commission:
description: 是否启用一次性佣金
type: boolean
enable_tier_commission:
description: 是否启用梯度返佣
type: boolean
id:
description: 分配ID
minimum: 0
@@ -3767,43 +3745,6 @@ components:
format: date-time
type: string
type: object
DtoTierCommissionConfig:
properties:
period_type:
description: 周期类型 (monthly:月度, quarterly:季度, yearly:年度)
type: string
tier_type:
description: 梯度类型 (sales_count:销量, sales_amount:销售额)
type: string
tiers:
description: 梯度档位列表
items:
$ref: '#/components/schemas/DtoTierEntry'
nullable: true
type: array
required:
- period_type
- tier_type
- tiers
type: object
DtoTierEntry:
properties:
mode:
description: 达标后返佣模式 (fixed:固定金额, percent:百分比)
type: string
threshold:
description: 阈值(销量或金额分)
minimum: 1
type: integer
value:
description: 达标后返佣值(分或千分比)
minimum: 1
type: integer
required:
- threshold
- mode
- value
type: object
DtoUnbindCardFromDeviceResponse:
properties:
message:
@@ -4237,14 +4178,8 @@ components:
description: 是否启用一次性佣金
nullable: true
type: boolean
enable_tier_commission:
description: 是否启用梯度返佣
nullable: true
type: boolean
one_time_commission_config:
$ref: '#/components/schemas/DtoOneTimeCommissionConfig'
tier_config:
$ref: '#/components/schemas/DtoTierCommissionConfig'
type: object
DtoUpdateStatusParams:
properties:
@@ -9515,11 +9450,11 @@ paths:
maximum: 100
minimum: 1
type: integer
- description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus:梯度奖励)
- description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
in: query
name: commission_source
schema:
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus:梯度奖励)
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
nullable: true
type: string
- description: ICCID模糊查询
@@ -14212,11 +14147,11 @@ paths:
maximum: 100
minimum: 1
type: integer
- description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus:梯度奖励)
- description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
in: query
name: commission_source
schema:
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus:梯度奖励)
description: 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
type: string
- description: ICCID模糊查询
in: query