Files
junhong_cmp_fiber/internal/model/recharge_order.go
break f4b6a55b27
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 7m17s
驳回
2026-06-26 12:12:15 +09:00

56 lines
3.4 KiB
Go

package model
import (
"gorm.io/datatypes"
"gorm.io/gorm"
"time"
)
// RechargeOrder 充值订单模型
// 记录用户发起充值请求后生成的订单,支持强充和普通充值两种类型
type RechargeOrder struct {
ID uint `gorm:"column:id;primaryKey" json:"id"`
RechargeOrderNo string `gorm:"column:recharge_order_no;type:varchar(40);uniqueIndex;not null" json:"recharge_order_no"`
UserID uint `gorm:"column:user_id;not null;index" json:"user_id"`
AssetWalletID uint `gorm:"column:asset_wallet_id;not null" json:"asset_wallet_id"`
ResourceType string `gorm:"column:resource_type;type:varchar(20);not null" json:"resource_type"`
ResourceID uint `gorm:"column:resource_id;not null" json:"resource_id"`
IotCardID *uint `gorm:"column:iot_card_id" json:"iot_card_id,omitempty"`
DeviceID *uint `gorm:"column:device_id" json:"device_id,omitempty"`
Amount int64 `gorm:"column:amount;type:bigint;not null" json:"amount"`
Status int `gorm:"column:status;type:smallint;not null;default:0" json:"status"`
PaidAt *time.Time `gorm:"column:paid_at" json:"paid_at,omitempty"`
ShopIDTag uint `gorm:"column:shop_id_tag;not null;default:0" json:"shop_id_tag"`
EnterpriseIDTag *uint `gorm:"column:enterprise_id_tag" json:"enterprise_id_tag,omitempty"`
OperatorType string `gorm:"column:operator_type;type:varchar(30);not null" json:"operator_type"`
Generation int `gorm:"column:generation;not null;default:1" json:"generation"`
LinkedPackageIDs datatypes.JSON `gorm:"column:linked_package_ids;type:jsonb" json:"linked_package_ids,omitempty"`
LinkedOrderType string `gorm:"column:linked_order_type;type:varchar(20)" json:"linked_order_type,omitempty"`
LinkedCarrierType string `gorm:"column:linked_carrier_type;type:varchar(20)" json:"linked_carrier_type,omitempty"`
LinkedCarrierID *uint `gorm:"column:linked_carrier_id;type:bigint" json:"linked_carrier_id,omitempty"`
AutoPurchaseStatus string `gorm:"column:auto_purchase_status;type:varchar(20)" json:"auto_purchase_status,omitempty"`
AccumulatedRechargeSeries int64 `gorm:"column:accumulated_recharge_series;not null;default:0" json:"accumulated_recharge_series"`
PaymentConfigID *uint `gorm:"column:payment_config_id;index" json:"payment_config_id,omitempty"`
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP" json:"created_at"`
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP" json:"updated_at"`
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;index" json:"deleted_at,omitempty"`
}
// TableName 指定表名
func (RechargeOrder) TableName() string {
return "tb_recharge_order"
}
const (
RechargeOrderStatusPending = 0 // 待支付
RechargeOrderStatusPaid = 1 // 已支付
RechargeOrderStatusClosed = 2 // 已关闭
RechargeOrderStatusRefunded = 3 // 已退款
)
const (
AutoPurchaseStatusPending = "pending" // 待处理
AutoPurchaseStatusSuccess = "success" // 成功
AutoPurchaseStatusFailed = "failed" // 失败
)