package gmodel

import (
	"gorm.io/gorm"
	"time"
)

// fs_product_model3d 产品模型表
type FsProductModel3d struct {
	Id             int64      `gorm:"primary_key;default:0;auto_increment;" json:"id"` //
	ProductId      *int64     `gorm:"index;default:0;" json:"product_id"`              // 产品ID
	Tag            *int64     `gorm:"default:1;" json:"tag"`                           // 类别(1:模型,2:配件,3:场景)
	Title          *string    `gorm:"default:'';" json:"title"`                        // 标题
	Name           *string    `gorm:"default:'';" json:"name"`                         // 详情页展示名称
	ModelInfo      *string    `gorm:"default:'';" json:"model_info"`                   // 模型详情
	MaterialId     *int64     `gorm:"default:0;" json:"material_id"`                   // 材质ID
	SizeId         *int64     `gorm:"default:0;" json:"size_id"`                       // 尺寸ID
	Sort           *int64     `gorm:"default:0;" json:"sort"`                          // 排序
	Light          *int64     `gorm:"default:0;" json:"light"`                         // 灯光组
	LightList      *string    `gorm:"default:'';" json:"light_list"`                   // 灯光备选项
	PartId         *int64     `gorm:"default:0;" json:"part_id"`                       // 配件选项id(配件就是模型的id)
	PartList       *string    `gorm:"default:'';" json:"part_list"`                    //
	Status         *int64     `gorm:"default:0;" json:"status"`                        // 状态位 显示 删除
	Ctime          *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"ctime"`     //
	OptionTemplate *int64     `gorm:"default:0;" json:"option_template"`               // 配件绑定的公共模板
	Price          *int64     `gorm:"default:0;" json:"price"`                         // 仅配件用,配件的价格, 单位:0.1美分
	Sku            *string    `gorm:"default:'';" json:"sku"`                          // sku
	IsHot          *int64     `gorm:"default:0;" json:"is_hot"`                        // 是否热门
	IsCloudRender  *int64     `gorm:"default:0;" json:"is_cloud_render"`               // 是否设置为云渲染模型
	Utime          *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"utime"`     //
	StepPrice      *[]byte    `gorm:"default:'';" json:"step_price"`                   //
	PackedUnit     *int64     `gorm:"default:0;" json:"packed_unit"`                   // 被打包的数量单位
}
type FsProductModel3dModel struct {
	db   *gorm.DB
	name string
}

func NewFsProductModel3dModel(db *gorm.DB) *FsProductModel3dModel {
	return &FsProductModel3dModel{db: db, name: "fs_product_model3d"}
}