70 lines
1.7 KiB
Go
70 lines
1.7 KiB
Go
package jdshop
|
|
|
|
import (
|
|
"git.rosy.net.cn/baseapi/utils"
|
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
|
"git.rosy.net.cn/jx-callback/business/model"
|
|
"git.rosy.net.cn/jx-callback/business/partner"
|
|
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
|
"git.rosy.net.cn/jx-callback/globals"
|
|
"git.rosy.net.cn/jx-callback/globals/api"
|
|
)
|
|
|
|
var (
|
|
CurPurchaseHandler *PurchaseHandler
|
|
)
|
|
|
|
type PurchaseHandler struct {
|
|
partner.BasePurchasePlatform
|
|
putils.DefSingleStorePlatform
|
|
}
|
|
|
|
func init() {
|
|
if api.JdShopAPI != nil {
|
|
CurPurchaseHandler = New()
|
|
partner.RegisterPurchasePlatform(CurPurchaseHandler)
|
|
}
|
|
}
|
|
|
|
func New() (obj *PurchaseHandler) {
|
|
obj = new(PurchaseHandler)
|
|
obj.ISingleStoreStoreSkuHandler = obj
|
|
return obj
|
|
}
|
|
|
|
func (p *PurchaseHandler) GetVendorID() int {
|
|
return model.VendorIDJDShop
|
|
}
|
|
|
|
func (p *PurchaseHandler) UploadImg(ctx *jxcontext.Context, vendorOrgCode, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) {
|
|
if globals.EnableJdShopWrite {
|
|
if imgType > model.ImgTypeLocal {
|
|
result, err := api.JdShopAPI.UploadPicture(imgData, 0, imgName)
|
|
if err == nil {
|
|
imgHint = result.PictureURL
|
|
}
|
|
}
|
|
} else {
|
|
imgHint = utils.GetUpperUUID()
|
|
}
|
|
return imgHint, err
|
|
}
|
|
|
|
func (p *PurchaseHandler) GetVendorCategories(ctx *jxcontext.Context) (vendorCats []*model.SkuVendorCategory, err error) {
|
|
result, err := api.JdShopAPI.FindVendorCategories()
|
|
for _, v := range result {
|
|
cat := &model.SkuVendorCategory{
|
|
VendorID: model.VendorIDJDShop,
|
|
Name: v.Name,
|
|
Level: v.Lev,
|
|
VendorCategoryID: utils.Int2Str(v.ID),
|
|
}
|
|
if v.Lev > 1 {
|
|
cat.ParentID = utils.Int2Str(v.Fid)
|
|
cat.IsLeaf = 1
|
|
}
|
|
vendorCats = append(vendorCats, cat)
|
|
}
|
|
return vendorCats, err
|
|
}
|