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

31 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 一次性佣金修复:配置可落库 + 累计触发可累加 + 单测修复
## 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.go``internal/store/postgres/shop_series_one_time_commission_tier_store.go`
- 佣金计算:`internal/service/commission_calculation/service.go`
- 测试:`tests/unit/my_commission_service_test.go` 及新增用例