# 一次性佣金修复 - 实现任务 ## 1. 配置落库(ShopSeriesAllocation) - [ ] 1.1 更新 `internal/service/shop_series_allocation/service.go`:在创建分配时处理 `EnableOneTimeCommission/OneTimeCommissionConfig` 并落库 - [ ] 1.2 更新 `internal/service/shop_series_allocation/service.go`:在更新分配时支持更新一次性佣金配置并落库 - [ ] 1.3 梯度配置:使用 `ShopSeriesOneTimeCommissionTierStore` 在创建/更新时写入 tiers(更新时先清理再重建) - [ ] 1.4 参数校验:启用一次性佣金时必须提供配置;fixed 必须有 mode/value;tiered 必须有 tiers ## 2. 累计触发逻辑修复 - [ ] 2.1 更新 `internal/service/commission_calculation/service.go`:累计触发场景每次支付成功都写回累计金额 - [ ] 2.2 达到阈值时仅发放一次,发放后标记 `FirstCommissionPaid=true` ## 3. 测试修复与补充 - [ ] 3.1 修复 `tests/unit/my_commission_service_test.go`:将 `CommissionType` 调整为 `CommissionSource` - [ ] 3.2 新增测试:一次性佣金配置落库(含 tiered tiers 落库) - [ ] 3.3 新增测试:累计触发多次支付后达到阈值触发一次性佣金且不重复 ## 4. 验证 - [ ] 4.1 运行 `go test ./...` 确保通过