// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.

package model

import (
	"time"
)

const TableNameOrders = "orders"

// Orders 订单
type Orders struct {
	ID             int64     `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键ID" json:"id"`                          // 主键ID
	CreatedAt      time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP(3);comment:创建时间" json:"created_at"`  // 创建时间
	UpdatedAt      time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP(3);comment:更新时间" json:"updated_at"`  // 更新时间
	UserID         int64     `gorm:"column:user_id;not null;comment:下单用户ID（user_members.id）" json:"user_id"`                  // 下单用户ID（user_members.id）
	OrderNo        string    `gorm:"column:order_no;not null;comment:业务订单号（唯一）" json:"order_no"`                              // 业务订单号（唯一）
	SourceType     int32     `gorm:"column:source_type;not null;default:1;comment:来源：1商城直购 2抽奖票据 3其他" json:"source_type"`     // 来源：1商城直购 2抽奖票据 3其他
	TotalAmount    int64     `gorm:"column:total_amount;not null;comment:订单总金额（分）" json:"total_amount"`                       // 订单总金额（分）
	DiscountAmount int64     `gorm:"column:discount_amount;not null;comment:优惠券抵扣金额（分）" json:"discount_amount"`               // 优惠券抵扣金额（分）
	PointsAmount   int64     `gorm:"column:points_amount;not null;comment:积分抵扣金额（分）" json:"points_amount"`                    // 积分抵扣金额（分）
	ActualAmount   int64     `gorm:"column:actual_amount;not null;comment:实际支付金额（分）" json:"actual_amount"`                    // 实际支付金额（分）
	Status         int32     `gorm:"column:status;not null;default:1;comment:订单状态：1待支付 2已支付 3已取消 4已退款" json:"status"`         // 订单状态：1待支付 2已支付 3已取消 4已退款
	PayPreorderID  int64     `gorm:"column:pay_preorder_id;comment:关联预支付单ID（payment_preorder.id）" json:"pay_preorder_id"`     // 关联预支付单ID（payment_preorder.id）
	PaidAt         time.Time `gorm:"column:paid_at;comment:支付完成时间" json:"paid_at"`                                            // 支付完成时间
	CancelledAt    time.Time `gorm:"column:cancelled_at;comment:取消时间" json:"cancelled_at"`                                    // 取消时间
	UserAddressID  int64     `gorm:"column:user_address_id;comment:收货地址ID（user_addresses.id）" json:"user_address_id"`         // 收货地址ID（user_addresses.id）
	IsConsumed     int32     `gorm:"column:is_consumed;not null;comment:是否已履约/消耗（对虚拟资产）" json:"is_consumed"`                  // 是否已履约/消耗（对虚拟资产）
	PointsLedgerID int64     `gorm:"column:points_ledger_id;comment:积分扣减流水ID（user_points_ledger.id）" json:"points_ledger_id"` // 积分扣减流水ID（user_points_ledger.id）
	CouponID       int64     `gorm:"column:coupon_id;comment:使用的优惠券ID" json:"coupon_id"`                                      // 使用的优惠券ID
	ItemCardID     int64     `gorm:"column:item_card_id;comment:使用的道具卡ID" json:"item_card_id"`                                // 使用的道具卡ID
	Remark         string    `gorm:"column:remark;comment:备注" json:"remark"`                                                  // 备注
}

// TableName Orders's table name
func (*Orders) TableName() string {
	return TableNameOrders
}
