package gmodel

import (
	"gorm.io/gorm"
)

// fs_order_detail 订单详细表
type FsOrderDetail struct {
	Id                    int64   `gorm:"primary_key;default:0;auto_increment;" json:"id"` //
	Sn                    *string `gorm:"unique_key;default:'';" json:"sn"`                // 唯一编码
	OrderId               *int64  `gorm:"index;default:0;" json:"order_id"`                // 订单ID
	UserId                *int64  `gorm:"default:0;" json:"user_id"`                       // 用户ID
	FactoryId             *int64  `gorm:"default:0;" json:"factory_id"`                    // 工厂ID
	OrderDetailTemplateId *int64  `gorm:"default:0;" json:"order_detail_template_id"`      // 详情templateID
	ProductId             *int64  `gorm:"default:0;" json:"product_id"`                    // 产品ID
	BuyNum                *int64  `gorm:"default:0;" json:"buy_num"`                       // 购买数量
	PushNum               *int64  `gorm:"default:0;" json:"push_num"`                      // 已发数量
	Amount                *int64  `gorm:"default:0;" json:"amount"`                        // 单价
	Cover                 *string `gorm:"default:'';" json:"cover"`                        // 截图
	Ctime                 *int64  `gorm:"default:0;" json:"ctime"`                         // 添加时间
	Status                *int64  `gorm:"default:0;" json:"status"`                        // 状态位 是否推送到厂家 是否生产完成 是否发货完成
	OptionalId            *int64  `gorm:"default:0;" json:"optional_id"`                   // 选项ID
	OptionalTitle         *string `gorm:"default:'';" json:"optional_title"`               // 选项名称
	OptionPrice           *int64  `gorm:"default:0;" json:"option_price"`                  // 配件价格
	IsTofactory           *int64  `gorm:"default:0;" json:"is_tofactory"`                  // 是否推送到工厂
	IsProduct             *int64  `gorm:"default:0;" json:"is_product"`                    // 是否生产中
	IsProductCompletion   *int64  `gorm:"default:0;" json:"is_product_completion"`         // 是否生产完成
	IsCloud               *int64  `gorm:"default:0;" json:"is_cloud"`                      // 是否是云仓订单
	IsTocloud             *int64  `gorm:"default:0;" json:"is_tocloud"`                    // 是否已发云仓(云仓单要发货到云仓,直接发到用户的不需要发到云仓)
	IsDeliver             *int64  `gorm:"default:0;" json:"is_deliver"`                    // 是否已发货
	IsEnd                 *int64  `gorm:"default:0;" json:"is_end"`                        // 是否完成订单(签收)
	CartId                *int64  `gorm:"index;default:0;" json:"cart_id"`                 // 购物车编号
}
type FsOrderDetailModel struct {
	db   *gorm.DB
	name string
}

func NewFsOrderDetailModel(db *gorm.DB) *FsOrderDetailModel {
	return &FsOrderDetailModel{db: db, name: "fs_order_detail"}
}