49 lines
2.4 KiB
Go
49 lines
2.4 KiB
Go
package app
|
|
|
|
import "time"
|
|
|
|
type AppWithdrawOrderStatus string
|
|
|
|
const (
|
|
AppWithdrawOrderStatusPending AppWithdrawOrderStatus = "pending" // 已提交,待审核
|
|
AppWithdrawOrderStatusApproved AppWithdrawOrderStatus = "approved" // 已审核通过,待打款
|
|
AppWithdrawOrderStatusRejected AppWithdrawOrderStatus = "rejected" // 审核拒绝(已解冻)
|
|
AppWithdrawOrderStatusPaid AppWithdrawOrderStatus = "paid" // 已打款(余额已扣减)
|
|
AppWithdrawOrderStatusFailed AppWithdrawOrderStatus = "failed" // 打款失败(已解冻)
|
|
)
|
|
|
|
// AppWithdrawOrder 提现订单(金额单位:厘)
|
|
type AppWithdrawOrder struct {
|
|
ID uint `json:"id" gorm:"primaryKey"`
|
|
|
|
AppUserID uint `json:"appUserId" gorm:"index;not null;comment:玩家ID"`
|
|
Username string `json:"username" gorm:"size:64;index;not null;comment:用户名快照"`
|
|
|
|
AmountLi int64 `json:"amountLi" gorm:"not null;comment:提现金额(厘)"`
|
|
FeeLi int64 `json:"feeLi" gorm:"not null;default:0;comment:手续费(厘)"`
|
|
NetLi int64 `json:"netLi" gorm:"not null;comment:实际打款金额(厘)"`
|
|
|
|
Status AppWithdrawOrderStatus `json:"status" gorm:"type:varchar(16);index;not null;default:'pending'"`
|
|
|
|
Channel string `json:"channel" gorm:"size:32;comment:打款渠道(预留)"`
|
|
PayeeAccount string `json:"payeeAccount" gorm:"size:128;comment:收款账号(脱敏/快照)"`
|
|
PayeeRealName string `json:"payeeRealName" gorm:"size:64;comment:收款人(快照)"`
|
|
ApplyRemark string `json:"applyRemark" gorm:"size:255;comment:申请备注(预留)"`
|
|
AuditRemark string `json:"auditRemark" gorm:"size:255;comment:审核备注"`
|
|
RejectReason string `json:"rejectReason" gorm:"size:255;comment:拒绝原因"`
|
|
FailureReason string `json:"failureReason" gorm:"size:255;comment:打款失败原因"`
|
|
ExternalTxID string `json:"externalTxId" gorm:"size:128;index;comment:外部流水号(预留)"`
|
|
OperatorUserID uint `json:"operatorUserId" gorm:"index;not null;comment:创建/最近操作人ID"`
|
|
|
|
ApprovedBy uint `json:"approvedBy" gorm:"index;comment:审核人ID"`
|
|
ApprovedAt *time.Time `json:"approvedAt" gorm:"index"`
|
|
PaidBy uint `json:"paidBy" gorm:"index;comment:打款确认人ID"`
|
|
PaidAt *time.Time `json:"paidAt" gorm:"index"`
|
|
|
|
CreatedAt time.Time `json:"createdAt" gorm:"index"`
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
}
|
|
|
|
func (AppWithdrawOrder) TableName() string { return "app_withdraw_orders" }
|
|
|