package model

const (
	ThingTypeCategory = 1 // 同步分类
	ThingTypeSkuName  = 2 // 同步商品名称
	ThingTypeSku      = 3 // 同步商品
	ThingTypeStore    = 4 // 同步门店
	ThingTypeUser     = 5 // 同步用户信息
	ThingTypeOrder    = 6 // 同步订单
)

const (
	ThingTypeSyncSuccess = 0 // 主商品创建成功
	ThingTypeSyncFail    = 2 // 主商品创建失败
	ThingTypeSyncing     = 3 // 主商品创建中
	ThingTypeSyncingStop = 4 // 主商品创建失败,不在创建
)

type ThingMap struct {
	ModelIDCULD

	ThingID       int64  `orm:"column(thing_id)" json:"thingID"`
	ThingType     int8   `json:"thingType"`
	VendorID      int    `orm:"column(vendor_id)" json:"vendorID"`
	VendorOrgCode string `orm:"size(32)" json:"vendorOrgCode"` // 同一平台下不同的商户代码，如果只有一个，可以为空

	VendorThingID string `orm:"size(32);column(vendor_thing_id);index" json:"vendorThingID"`
	SyncStatus    int8   `orm:"default(0)" json:"syncStatus"`

	Remark string `orm:"size(255)" json:"remark"`
}

func (*ThingMap) TableUnique() [][]string {
	return [][]string{
		[]string{"ThingID", "ThingType", "VendorID", "VendorOrgCode", "DeletedAt"},
		// []string{"VendorThingID", "ThingType", "VendorID", "VendorOrgCode", "DeletedAt"},
	}
}
