Files
jx-callback/business/partner/partner_store_sku.go
2019-07-12 16:31:10 +08:00

116 lines
4.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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/jxutils/tasksch"
"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
Comment string
SpecQuality float64
SpecUnit string
Weight int
ActPrice int64
}
type SkuNameInfo struct {
NameID int `json:"nameID,omitempty"`
VendorNameID string `json:"vendorNameID,omitempty"`
Prefix string
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
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)
}
type ISingleStoreStoreSkuHandler interface {
IPurchasePlatformStoreSkuHandler
// 这个函数与GetStoreSkusInfo的区别是GetStoreAllSkus取的是全信息而GetStoreSkusInfo只含库存价格与可售信息
GetStoreAllSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string) (skuNameList []*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)
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)
}