erio
df57d2776b
fix(billing): reject rate_multiplier <= 0 on save; clamp negatives to 0 in compute
分组倍率和用户专属倍率在保存时没有校验,0 会触发计费层的 `<=0 → 1.0`
防御条款,结果订阅/余额分组按标准价扣费;完全是沉默地绕过了业务规则。
- 保存校验(admin_service):CreateGroup / UpdateGroup / BatchSetGroupRateMultipliers /
UpdateUser.SyncUserGroupRates 全部要求 > 0
- 计算层(billing_service):三处 `<=0 → 1.0` 改为 `<0 → 0`;负数按 0 结算,
避免配置异常被静默按 1x 收费
- 前端:分组倍率 / 用户专属倍率输入 min 统一到 0.001
- 删除未使用的 IsFreeSubscription 方法
测试:新增 billing_service_rate_multiplier_test.go 端到端验证;更新原有锁定
旧 `<=0 → 1.0` 行为的测试。
2026-04-17 22:06:32 +08:00
..
2026-04-17 22:06:32 +08:00
2026-04-11 16:46:46 +08:00
2026-04-11 16:46:46 +08:00
2026-01-16 19:49:33 +08:00
2026-02-02 22:13:50 +08:00
2026-03-05 10:45:51 +08:00
2026-02-28 15:01:20 +08:00