chengqian
108078614d
fix: 金额 float64 → decimal 全链路迁移,消除浮点累积漂移
将全库资金金额从 float64 迁移到 shopspring/decimal,落定边界架构:
入口 NewFromFloat → 内部多步运算全程 decimal → 出口 InexactFloat64;
DB NUMERIC(20,10) 走 driver.Valuer 精确直传,Redis 钱包用整数 micro-USD,
CNY→USD 换汇仅在 payment.FulfillOrder recharge 分支。
- money.go 重写为 decimal 原生(运算/收敛/比较/边界/micro 工具)
- billing/tenant/admin/payment/open/task 各层金额运算 decimal 化
- entity/do 资金列重生成为 decimal.Decimal(可空列 *decimal.Decimal)
- 000013 迁移:非金额 NUMERIC 列 → double precision(5 表 13 列)
- Res 出口 .InexactFloat64() 收敛,JSONB 快照缝隙显式转 float64
- CLAUDE.md 新增 decimal 强约束;补充迁移基线/完成总结文档
2026-07-23 22:08:54 +08:00
..
2026-05-10 12:21:27 +08:00
2026-07-23 22:08:54 +08:00
2026-05-26 08:01:41 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-07-22 17:53:18 +08:00
2026-05-10 12:21:27 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-26 08:01:41 +08:00
2026-05-10 12:21:27 +08:00
2026-05-23 13:33:29 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-27 20:52:11 +08:00
2026-06-23 23:07:36 +08:00
2026-05-26 08:01:41 +08:00
2026-07-23 22:08:54 +08:00
2026-05-27 20:52:11 +08:00
2026-07-23 22:08:54 +08:00
2026-05-10 12:21:27 +08:00
2026-05-26 08:01:41 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-06-23 23:07:36 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-06-23 23:07:36 +08:00
2026-05-25 22:26:32 +08:00
2026-07-23 22:08:54 +08:00
2026-05-25 22:26:32 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-07-22 17:53:18 +08:00
2026-06-23 23:07:36 +08:00
2026-06-23 23:07:36 +08:00
2026-05-10 12:21:27 +08:00
2026-06-04 00:10:18 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-16 13:29:51 +08:00
2026-05-30 12:45:47 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-05-16 13:29:51 +08:00
2026-06-23 23:07:36 +08:00
2026-07-23 22:08:54 +08:00
2026-07-23 22:08:54 +08:00
2026-05-10 12:21:27 +08:00
2026-05-10 12:21:27 +08:00