longgexx
d6f8ac0226
fix(billing): 修复计费漏洞
- 允许余额透支策略
## 问题
- 扣费失败时只记录日志,不阻止请求完成
- 用户可以用极少余额无限次免费使用服务
- 数据库层使用 BalanceGTE 条件防止余额变负,导致余额不足时扣费失败
## 修复
- 移除 DeductBalance 方法中的 BalanceGTE 条件,允许余额变为负数
- 修改错误返回:用户不存在时返回 ErrUserNotFound
- 实现透支策略:余额不足时允许本次请求完成,余额变负后阻止后续请求
## 测试
- 更新 TestDeductBalance_InsufficientFunds 测试,验证透支功能
- 更新 TestDeductBalance_NotFound 测试,验证正确的错误类型
- 新增 TestDeductBalance_AllowsOverdraft 测试,专门测试透支场景
- 所有测试通过 ✅
2026-01-05 18:48:49 +08:00
..
2026-01-04 21:06:12 +08:00
2026-01-05 14:07:33 +08:00
2026-01-05 18:48:49 +08:00
2026-01-05 14:07:33 +08:00
2025-12-18 13:50:39 +08:00
2026-01-04 18:55:34 +08:00
2025-12-18 13:50:39 +08:00
2026-01-03 06:37:08 -08:00
2026-01-03 06:37:08 -08:00
2026-01-05 13:54:43 +08:00
2025-12-29 10:03:27 +08:00