Files
junhong_cmp_fiber/openspec/changes/fix-one-time-commission-config-and-accumulation/proposal.md
huang b02175271a
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m39s
feat: 实现企业设备授权功能并归档 OpenSpec 变更
- 新增企业设备授权模块(Model、DTO、Service、Handler、Store)
- 实现设备授权的创建、查询、更新、删除等完整业务逻辑
- 添加企业卡授权与设备授权的关联关系
- 新增 2 个数据库迁移脚本
- 同步 OpenSpec delta specs 到 main specs
- 归档 add-enterprise-device-authorization 变更
- 更新 API 文档和路由配置
- 新增完整的集成测试和单元测试覆盖
2026-01-29 13:18:49 +08:00

1.6 KiB
Raw Blame History

一次性佣金修复:配置可落库 + 累计触发可累加 + 单测修复

Why

一次性佣金能力已引入配置字段与计算逻辑,但目前存在两类关键问题:

  1. 配置无法生效:你确认希望通过 ShopSeriesAllocation 的创建/更新接口B=1直接配置一次性佣金并落库生效否则会出现“接口看起来支持配置但实际不生效”的问题。
  2. 累计触发无法累加:你确认累计规则为“每次购买都要累加,达到阈值就发放佣金”;如果不写回累计值,阈值永远达不到。

此外,相关单测目前编译失败,需要修复以保证回归可控。

What Changes

  • 一次性佣金配置落库
    • ShopSeriesAllocation 创建/更新时写入一次性佣金相关字段
    • 若类型为梯度tiered同步维护 tb_shop_series_one_time_commission_tier 档位数据(更新时先清理再重建或做差量更新)
  • 累计触发逻辑修复
    • 对“累计充值触发”场景,每次支付成功都写回累计金额
    • 达到阈值的那次发放一次性佣金,并标记 FirstCommissionPaid 防止重复发放
  • 测试修复与补充
    • 修复 tests/unit/my_commission_service_test.go 字段不匹配导致的编译失败
    • 新增测试覆盖:配置落库与累计逻辑

Impact

涉及模块(预期):

  • 分配配置:internal/service/shop_series_allocation/service.gointernal/store/postgres/shop_series_one_time_commission_tier_store.go
  • 佣金计算:internal/service/commission_calculation/service.go
  • 测试:tests/unit/my_commission_service_test.go 及新增用例