package partner import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/model/dao" ) const ( FuncUpdateStoreSkusStock = 1 FuncUpdateStoreSkusStatus = 2 FuncUpdateStoreSkusPrice = 3 FuncCreateStoreSkus = 6 FuncUpdateStoreSkus = 7 FuncDeleteStoreSkus = 8 ) type BareStoreSkuInfo struct { SkuID int `json:"skuID,omitempty"` VendorSkuID string `json:"vendorSkuID,omitempty"` NameID int `json:"nameID,omitempty"` VendorNameID string `json:"vendorNameID,omitempty"` Stock int `json:"stock,omitempty"` Price int64 `json:"price,omitempty"` Status int `json:"status,omitempty"` } type FullSkuInfo struct { BareStoreSkuInfo SkuName string SpecQuality int SpecUnit string Weight int ActPrice int64 } type SkuNameInfo struct { NameID int `json:"nameID,omitempty"` VendorNameID string `json:"vendorNameID,omitempty"` Name string Description string Unit string VendorCatIDList []string PictureList []string Status int `json:"status,omitempty"` SkuList []*FullSkuInfo } type BareStoreSkuInfoList []*BareStoreSkuInfo func (l BareStoreSkuInfoList) GetVendorSkuIDList() (vendorSkuIDList []string) { for _, v := range l { if !dao.IsVendorThingIDEmpty(v.VendorSkuID) { vendorSkuIDList = append(vendorSkuIDList, v.VendorSkuID) } } return vendorSkuIDList } func (l BareStoreSkuInfoList) GetVendorSkuIDIntList() (vendorSkuIDIntList []int64) { for _, v := range l { if !dao.IsVendorThingIDEmpty(v.VendorSkuID) { vendorSkuIDIntList = append(vendorSkuIDIntList, utils.Str2Int64(v.VendorSkuID)) } } return vendorSkuIDIntList } func (l BareStoreSkuInfoList) GetSkuIDList() (skuIDList []int) { for k, v := range l { if v.SkuID > 0 { skuIDList[k] = v.SkuID } } return skuIDList } type BareCategoryInfo struct { VendorCatID string `json:"vendorCatID"` Level int `json:"level"` Name string `json:"name"` Seq int `json:"seq,omitempty"` Children []*BareCategoryInfo `json:"children,omitempty"` } type IPurchasePlatformStoreSkuHandler interface { GetStoreSkusBatchSize(funcID int) int UpdateStoreSkusStock(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*BareStoreSkuInfo) (err error) UpdateStoreSkusStatus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*BareStoreSkuInfo) (err error) UpdateStoreSkusPrice(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*BareStoreSkuInfo) (err error) } type ISingleStoreStoreSkuHandler interface { IPurchasePlatformStoreSkuHandler // GetStoreAllSkus(ctx *jxcontext.Context, vendorStoreID string) (skuNameList []*SkuNameInfo, err error) CreateStoreSkus(ctx *jxcontext.Context, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error) UpdateStoreSkus(ctx *jxcontext.Context, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error) DeleteStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*BareStoreSkuInfo) (err error) GetStoreAllCategories(ctx *jxcontext.Context, vendorStoreID string) (cats []*BareCategoryInfo, err error) CreateStoreCategory(ctx *jxcontext.Context, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) UpdateStoreCategory(ctx *jxcontext.Context, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) DeleteStoreCategory(ctx *jxcontext.Context, vendorStoreID, vendorCatID string) (err error) }