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