Files
platform/web/models/trade.go

75 lines
3.0 KiB
Go
Raw 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.
package models
import (
"platform/web/core"
"time"
"github.com/shopspring/decimal"
)
// Trade 订单表
type Trade struct {
core.Model
UserID int32 `json:"user_id" gorm:"column:user_id"` // 用户ID
InnerNo string `json:"inner_no" gorm:"column:inner_no"` // 内部订单号
OuterNo *string `json:"outer_no" gorm:"column:outer_no"` // 外部订单号
Type TradeType `json:"type" gorm:"column:type"` // 订单类型1-购买产品2-充值余额
Subject string `json:"subject" gorm:"column:subject"` // 订单主题
Remark *string `json:"remark" 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" 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" gorm:"column:payment_url"` // 支付链接
CompletedAt *time.Time `json:"completed_at" gorm:"column:completed_at"` // 支付时间
CanceledAt *time.Time `json:"canceled_at" gorm:"column:canceled_at"` // 取消时间
}
// 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 // 已取消
)