- 重构partner_store_sku

This commit is contained in:
gazebo
2019-07-13 10:37:08 +08:00
parent cde87bb667
commit 01c522b5b0
9 changed files with 102 additions and 68 deletions

View File

@@ -8,16 +8,18 @@ import (
)
const (
FuncUpdateStoreSkusStock = 1
FuncUpdateStoreSkusStatus = 2
FuncUpdateStoreSkusPrice = 3
FuncGetStoreSkusBareInfo = 1
FuncUpdateStoreSkusStock = 2
FuncUpdateStoreSkusStatus = 3
FuncUpdateStoreSkusPrice = 4
FuncCreateStoreSkus = 6
FuncUpdateStoreSkus = 7
FuncDeleteStoreSkus = 8
FuncGetStoreSkusFullInfo = 6
FuncCreateStoreSkus = 7
FuncUpdateStoreSkus = 8
FuncDeleteStoreSkus = 9
)
type BareStoreSkuInfo struct {
type StoreSkuInfo struct {
SkuID int `json:"skuID,omitempty"`
VendorSkuID string `json:"vendorSkuID,omitempty"`
NameID int `json:"nameID,omitempty"`
@@ -28,8 +30,8 @@ type BareStoreSkuInfo struct {
Status int `json:"status,omitempty"`
}
type FullSkuInfo struct {
BareStoreSkuInfo
type SkuInfo struct {
StoreSkuInfo
SkuName string
Comment string
SpecQuality float64
@@ -49,10 +51,10 @@ type SkuNameInfo struct {
VendorCatIDList []string
PictureList []string
Status int `json:"status,omitempty"`
SkuList []*FullSkuInfo
SkuList []*SkuInfo
}
type BareStoreSkuInfoList []*BareStoreSkuInfo
type BareStoreSkuInfoList []*StoreSkuInfo
func (l BareStoreSkuInfoList) GetVendorSkuIDList() (vendorSkuIDList []string) {
for _, v := range l {
@@ -93,23 +95,35 @@ type BareCategoryInfo struct {
type IPurchasePlatformStoreSkuHandler interface {
GetStoreSkusBatchSize(funcID int) int
GetStoreSkusInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, inStoreSkuList []*BareStoreSkuInfo) (outStoreSkuList []*BareStoreSkuInfo, err error)
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)
GetStoreSkusBareInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, inStoreSkuList []*StoreSkuInfo) (outStoreSkuList []*StoreSkuInfo, err error)
UpdateStoreSkusStock(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*StoreSkuInfo) (err error)
UpdateStoreSkusStatus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*StoreSkuInfo) (err error)
UpdateStoreSkusPrice(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*StoreSkuInfo) (err error)
}
type ISingleStoreStoreSkuHandler interface {
IPurchasePlatformStoreSkuHandler
// 这个函数与GetStoreSkusInfo的区别是GetStoreAllSkus取的是全信息而GetStoreSkusInfo只含库存价格与可售信息
GetStoreAllSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string) (skuNameList []*SkuNameInfo, err error)
GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, skuIDs []int) (outSkuNameList []*SkuNameInfo, err error)
CreateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error)
UpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error)
DeleteStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*BareStoreSkuInfo) (err error)
DeleteStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*StoreSkuInfo) (err error)
GetStoreAllCategories(ctx *jxcontext.Context, storeID int, vendorStoreID string) (cats []*BareCategoryInfo, err error)
CreateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error)
UpdateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error)
DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string) (err error)
}
func BuildSkuName(skuID int, vendorSkuID string) (skuName *SkuNameInfo) {
return &SkuNameInfo{
SkuList: []*SkuInfo{
&SkuInfo{
StoreSkuInfo: StoreSkuInfo{
SkuID: skuID,
VendorSkuID: vendorSkuID,
},
},
},
}
}