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 ( FuncCreateStoreSkus = 1 FuncDeleteStoreSkus = 2 FuncUpdateStoreSkusStatus = 3 FuncUpdateStoreSkusPrice = 4 FuncUpdateStoreSkus = 5 ) type BareStoreSkuInfo struct { SkuID int `json:"skuID,omitempty"` VendorSkuID string `json:"vendorSkuID,omitempty"` NameID int `json:"nameID,omitempty"` VendorNameID string `json:"vendorNameID,omitempty"` Price int64 `json:"price,omitempty"` Status int `json:"status,omitempty"` } 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 CreateStoreSkus(ctx *jxcontext.Context, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error) DeleteStoreSkus(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 ReadStoreCategory(ctx *jxcontext.Context, vendorStoreID string) (cats []*BareCategoryInfo, err error) CreateStoreSkuCategory(ctx *jxcontext.Context, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) UpdateStoreSkuCategory(ctx *jxcontext.Context, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) DeleteStoreSkuCategory(ctx *jxcontext.Context, vendorStoreID, vendorCatID string) (err error) UpdateStoreSkus(ctx *jxcontext.Context, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error) }