Files
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

27 lines
2.0 KiB
Go
Raw Permalink 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.
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
import (
"github.com/gogf/gf/v2/os/gtime"
"github.com/shopspring/decimal"
)
// OrdRefunds is the golang structure for table ord_refunds.
type OrdRefunds struct {
Id int64 `json:"id" orm:"id" description:"主键ID"` // 主键ID
OrderId int64 `json:"order_id" orm:"order_id" description:"关联订单ID"` // 关联订单ID
TenantId int64 `json:"tenant_id" orm:"tenant_id" description:"租户ID"` // 租户ID
Amount decimal.Decimal `json:"amount" orm:"amount" description:"退款金额"` // 退款金额
Reason string `json:"reason" orm:"reason" description:"退款原因"` // 退款原因
Status string `json:"status" orm:"status" description:"退款状态"` // 退款状态
PaymentChannel string `json:"payment_channel" orm:"payment_channel" description:"原支付渠道"` // 原支付渠道
PaymentRefundId string `json:"payment_refund_id" orm:"payment_refund_id" description:"第三方退款流水号"` // 第三方退款流水号
ApprovedBy int64 `json:"approved_by" orm:"approved_by" description:"审批人(管理员ID)"` // 审批人(管理员ID)
ApprovedAt *gtime.Time `json:"approved_at" orm:"approved_at" description:"审批时间"` // 审批时间
CreatedAt *gtime.Time `json:"created_at" orm:"created_at" description:"创建时间"` // 创建时间
UpdatedAt *gtime.Time `json:"updated_at" orm:"updated_at" description:"更新时间"` // 更新时间
}