package saveModel

import (
	"github.com/gogf/gf/util/gconv"
	"go_sku_server/model"
	"go_sku_server/pkg/common"
)

/**
@author wangsong
联营sku实体-新增联营sku用到
为什么不用ly_sku 那个实体,因为ly_sku 包含了spu的信息,LySkuEntity只是针对sku表的实体
 */
type LySkuEntity struct {

	GoodsName  			string 				`json:"goods_name" form:"goods_name" binding:"required"`
	//BrandName 		 	string 				`json:"brand_name" form:"brand_name" binding:"required"`
	SupplierId  		int 				`json:"supplier_id" form:"supplier_id" binding:"required"`
	Moq  				int 				`json:"moq" form:"moq" binding:"required"`//起订量
	Mpq  				int 				`json:"mpq" form:"mpq" binding:"required"`//标准包装量

	GoodsId        		string        		`json:"goods_id"`
	SpuId          		string         		`json:"spu_id"`
	GoodsType      		int        		    `json:"goods_type"`//'0:自营 1:联营 2:专卖',
	Encoded       		int        			`json:"encoded"`//供应商编码

	Canal  				string 				`json:"canal" form:"canal" `//供应商编码-渠道标签
	BatchSn  			string 				`json:"batch_sn" form:"batch_sn" `//批次
	Stock  				int 				`json:"stock" form:"stock" `//库存
	HkDeliveryTime  	string 				`json:"hk_delivery_time" form:"hk_delivery_time" `//香港货期
	CnDeliveryTime  	string 				`json:"cn_delivery_time" form:"cn_delivery_time" `//大陆货期
	LadderPrice  		string 				`json:"ladder_price" form:"ladder_price" `//阶梯价钱
	SinglePrice        float64				`json:"single_price" form:"ladder_price" `//最低价
	CpTime  			int 				`json:"cp_time" form:"cp_time" `//茂则成本添加时间
	GoodsSn  			string 				`json:"goods_sn" form:"goods_sn" ` //供应商自己的唯一标识码
	GoodsStatus    		int64        		`json:"goods_status"`//sku状态 '商品状态 0:待审核 1:审核通过(上架)2:审核不通过 3:下架 4:删除'

	CreateTime  		int             	`json:"create_time" xorm:"created"`
	SaleTime   			int 				`json:"sale_time" xorm:"created"`
	UpdateTime  		int 				`json:"update_time" xorm:"created"`

}
//将 LySkuEntity 的值赋值到 SkuRedisInfo(两个结构字段和类型不一样不会赋值)
func (LS *LySkuEntity) ToRedisSku()  model.SkuRedisInfo{
	skuRedisInfo:=model.SkuRedisInfo{}
	common.CopyStruct(LS,&skuRedisInfo)
	return skuRedisInfo
}


//将 LySkuEntity 的值赋值到 model.SkuMongo(两个结构字段和类型不一样不会赋值)
func (LS *LySkuEntity) ToMongoSku()  model.SkuMongo{
	skuMongo:=model.SkuMongo{}
	common.CopyStruct(LS,&skuMongo)
	skuMongo.SpuId=gconv.Int64(LS.SpuId)//spuID在mangoDB是int64位
	skuMongo.GoodsId=gconv.Int64(LS.GoodsId)//spuID在mangoDB是int64位
	return skuMongo
}