package gmodel

import (
	"gorm.io/gorm"
)

// fs_pay 支付记录
type FsPay struct {
	Id            int64   `gorm:"primary_key;default:0;auto_increment;" json:"id"` //
	UserId        *int64  `gorm:"index;default:0;" json:"user_id"`                 // 用户id
	OrderNumber   *string `gorm:"default:'';" json:"order_number"`                 // 订单编号
	TradeNo       *string `gorm:"index;default:'';" json:"trade_no"`               // 第三方支付编号
	PayAmount     *int64  `gorm:"default:0;" json:"pay_amount"`                    // 支付金额 (分)
	PayStatus     *int64  `gorm:"default:0;" json:"pay_status"`                    // 支付状态 0 不成功 1 成功
	IsRefund      *int64  `gorm:"default:0;" json:"is_refund"`                     // 是否退款 0 未退款 1退款
	PaymentMethod *int64  `gorm:"default:0;" json:"payment_method"`                // 支付方式  1 stripe  2 paypal
	PayStage      *int64  `gorm:"default:0;" json:"pay_stage"`                     // 支付阶段 1首付 2尾款
	OrderSource   *int64  `gorm:"default:1;" json:"order_source"`                  // 订单来源 1pc
	PayTime       *int64  `gorm:"default:0;" json:"pay_time"`                      // 支付时间
	CreatedAt     *int64  `gorm:"default:0;" json:"created_at"`                    // 创建时间
	UpdatedAt     *int64  `gorm:"default:0;" json:"updated_at"`                    // 更新时间
	CardNo        *string `gorm:"default:'';" json:"card_no"`                      // 卡后4位
	Brand         *string `gorm:"default:'';" json:"brand"`                        // 银行品牌
}
type FsPayModel struct {
	db   *gorm.DB
	name string
}

func NewFsPayModel(db *gorm.DB) *FsPayModel { return &FsPayModel{db: db, name: "fs_pay"} }