2025-11-24 18:44:06 +08:00
|
|
|
|
package models
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"platform/web/core"
|
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
|
|
"github.com/shopspring/decimal"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// Trade 订单表
|
|
|
|
|
|
type Trade struct {
|
|
|
|
|
|
core.Model
|
2025-12-15 14:48:30 +08:00
|
|
|
|
UserID int32 `json:"user_id" gorm:"column:user_id"` // 用户ID
|
|
|
|
|
|
InnerNo string `json:"inner_no" gorm:"column:inner_no"` // 内部订单号
|
|
|
|
|
|
OuterNo *string `json:"outer_no,omitempty" gorm:"column:outer_no"` // 外部订单号
|
|
|
|
|
|
Type TradeType `json:"type" gorm:"column:type"` // 订单类型:1-购买产品,2-充值余额
|
|
|
|
|
|
Subject string `json:"subject" gorm:"column:subject"` // 订单主题
|
|
|
|
|
|
Remark *string `json:"remark,omitempty" gorm:"column:remark"` // 订单备注
|
|
|
|
|
|
Amount decimal.Decimal `json:"amount" gorm:"column:amount"` // 订单总金额
|
|
|
|
|
|
Payment decimal.Decimal `json:"payment" gorm:"column:payment"` // 实际支付金额
|
|
|
|
|
|
Method TradeMethod `json:"method" gorm:"column:method"` // 支付方式:1-支付宝,2-微信,3-商福通,4-商福通渠道支付宝,5-商福通渠道微信
|
|
|
|
|
|
Platform TradePlatform `json:"platform" gorm:"column:platform"` // 支付平台:1-电脑网站,2-手机网站
|
|
|
|
|
|
Acquirer *TradeAcquirer `json:"acquirer,omitempty" gorm:"column:acquirer"` // 收单机构:1-支付宝,2-微信,3-银联
|
|
|
|
|
|
Status TradeStatus `json:"status" gorm:"column:status"` // 订单状态:0-待支付,1-已支付,2-已取消
|
|
|
|
|
|
Refunded bool `json:"refunded" gorm:"column:refunded"` // 是否已退款
|
|
|
|
|
|
PaymentURL *string `json:"payment_url,omitempty" gorm:"column:payment_url"` // 支付链接
|
|
|
|
|
|
CompletedAt *time.Time `json:"completed_at,omitempty" gorm:"column:completed_at"` // 支付时间
|
|
|
|
|
|
CanceledAt *time.Time `json:"canceled_at,omitempty" gorm:"column:canceled_at"` // 取消时间
|
2026-03-20 14:37:41 +08:00
|
|
|
|
|
|
|
|
|
|
User *User `json:"user,omitempty" gorm:"foreignKey:UserID"`
|
2025-11-24 18:44:06 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// TradeType 订单类型枚举
|
|
|
|
|
|
type TradeType int
|
|
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
|
TradeTypePurchase TradeType = 1 // 购买产品
|
|
|
|
|
|
TradeTypeRecharge TradeType = 2 // 充值余额
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// TradeMethod 支付方式枚举
|
|
|
|
|
|
type TradeMethod int
|
|
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
|
TradeMethodAlipay TradeMethod = 1 // 支付宝
|
|
|
|
|
|
TradeMethodWechat TradeMethod = 2 // 微信
|
|
|
|
|
|
TradeMethodSft TradeMethod = 3 // 商福通
|
|
|
|
|
|
TradeMethodSftAlipay TradeMethod = 4 // 商福通渠道支付宝
|
|
|
|
|
|
TradeMethodSftWechat TradeMethod = 5 // 商福通渠道微信
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// TradePlatform 支付平台枚举
|
|
|
|
|
|
type TradePlatform int
|
|
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
|
TradePlatformPC TradePlatform = 1 // 电脑网站
|
|
|
|
|
|
TradePlatformMobile TradePlatform = 2 // 手机网站
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// TradeAcquirer 收单机构枚举
|
|
|
|
|
|
type TradeAcquirer int
|
|
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
|
TradeAcquirerAlipay TradeAcquirer = 1 // 支付宝
|
|
|
|
|
|
TradeAcquirerWechat TradeAcquirer = 2 // 微信
|
|
|
|
|
|
TradeAcquirerUnionPay TradeAcquirer = 3 // 银联
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// TradeStatus 订单状态枚举
|
|
|
|
|
|
type TradeStatus int
|
|
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
|
TradeStatusPending TradeStatus = 0 // 待支付
|
|
|
|
|
|
TradeStatusSuccess TradeStatus = 1 // 已支付
|
|
|
|
|
|
TradeStatusCanceled TradeStatus = 2 // 已取消
|
|
|
|
|
|
)
|