- OneTimeCommissionTierDTO 补充 operator 字段映射 - GrantCommissionTierItem 补充 dimension/stat_scope 字段(从全局配置合并) - 系列授权列表/详情补充强充锁定状态和强充金额的有效值计算 - 同步 OpenSpec 主规范并归档变更文档
4.1 KiB
Why
refactor-agent-series-grant 变更遗留了两处实现漏洞,加上前端对接时发现的第三处 Bug,共三个问题:
- 套餐系列管理 API 的梯度档位 DTO 缺少
operator字段,导致无法通过接口设置/查看比较运算符。 - 代理系列授权的梯度响应缺少
dimension(销售量/销售额)和stat_scope(统计范围)字段,前端完全无法理解阈值的业务含义。 - 系列授权列表和详情响应中,当套餐系列配置锁定了强充(
enable_force_recharge=true或trigger_type=first_recharge)时,force_recharge_enabled仍返回false(分配记录自身的值),未反映有效状态;列表还缺少force_recharge_locked和force_recharge_amount字段。
What Changes
-
修复
OneTimeCommissionTierDTO(package_series_dto.go):新增Operator string字段,支持创建/更新套餐系列时传入并保存梯度阶梯的比较运算符(>、>=、<、<=) -
修复
package_series/service.go:dtoToModelConfig()新增Operator字段映射;modelToDTO()新增Operator字段回填,使PackageSeriesResponse能正确返回operator -
修复
GrantCommissionTierItem(shop_series_grant_dto.go):新增Dimension string和StatScope string字段 -
修复
shop_series_grant/service.go:buildGrantResponse()合并全局 PackageSeries tiers 时,除Operator外同步合并Dimension和StatScope -
修复
ShopSeriesGrantListItem(shop_series_grant_dto.go):新增ForceRechargeLocked bool和ForceRechargeAmount int64字段 -
修复
shop_series_grant/service.go:列表构建时计算forceRechargeLocked,当锁定时ForceRechargeEnabled=true、ForceRechargeAmount=config.ForceAmount;详情buildGrantResponse()同步修正ForceRechargeEnabled和ForceRechargeAmount有效状态逻辑
Capabilities
New Capabilities
(无新增 Capability)
Modified Capabilities
package-series-management:梯度档位配置(one_time_commission_config.tiers)支持通过 API 读写operator字段(创建时传入、查询时返回)agent-series-grant:commission_tiers响应中补充展示dimension(sales_count/sales_amount)和stat_scope(self/self_and_sub),这两个字段来自 PackageSeries 全局配置,对代理只读agent-series-grant:系列授权列表(GET /api/admin/shop-series-grants)新增force_recharge_locked和force_recharge_amount字段;列表和详情中force_recharge_enabled反映有效状态(锁定时为true)
Impact
受影响的代码
internal/model/dto/package_series_dto.go:OneTimeCommissionTierDTO新增Operator字段internal/service/package_series/service.go:dtoToModelConfig()、modelToDTO()处理Operatorinternal/model/dto/shop_series_grant_dto.go:GrantCommissionTierItem新增Dimension、StatScope字段internal/service/shop_series_grant/service.go:buildGrantResponse()合并Dimension、StatScopeinternal/model/dto/shop_series_grant_dto.go:ShopSeriesGrantListItem新增ForceRechargeLocked、ForceRechargeAmount字段
受影响的 API
POST/PUT /api/admin/package-series:请求体中梯度档位可传operator;响应中梯度档位包含operatorGET /api/admin/package-series/:id:同上GET /api/admin/shop-series-grants/:id:响应中commission_tiers新增dimension、stat_scope字段POST /api/admin/shop-series-grants:同上(Create 响应)PUT /api/admin/shop-series-grants/:id:同上(Update 响应)GET /api/admin/shop-series-grants(列表):新增force_recharge_locked、force_recharge_amount字段;force_recharge_enabled反映有效状态
无数据库迁移:仅涉及 DTO 和 Service 层代码,不改动数据库结构和 Model 层(OneTimeCommissionTier model 已在上次变更中添加 Operator 字段;tb_shop_series_allocation 表结构已有 enable_force_recharge/force_recharge_amount 字段,无需迁移)