Files
jx-callback/business/partner/purchase/jdshop/jds.go

104 lines
3.0 KiB
Go

package jdshop
import (
"git.rosy.net.cn/baseapi/platformapi/jdshopapi"
"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/model/dao"
"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 getAPI(appOrgCode string) (apiObj *jdshopapi.API) {
if appOrgCode == "" {
globals.SugarLogger.Warnf("getAPI appOrgCode is empty")
}
apiObj = partner.CurAPIManager.GetAPI(model.VendorIDJDShop, appOrgCode).(*jdshopapi.API)
//if appOrgCode == "2" {
if configs, err := dao.QueryConfigs(dao.GetDB(), "jdsCookie2", model.ConfigTypeCookie, ""); err == nil {
apiObj.SetCookieWithStr(configs[0].Value)
}
//}
return apiObj
}
//func getAPI2(appOrgCode string) (apiObj *jdshopapi.API) {
// apiObj = jdshopapi.New("", "", "")
// configs, _ := dao.QueryConfigs(dao.GetDB(), "jdsCookie", model.ConfigTypeCookie, "")
// apiObj.SetCookieWithStr(configs[0].Value)
// return apiObj
//}
func GetAPI(appOrgCode string) (apiObj *jdshopapi.API) {
apiObj = partner.CurAPIManager.GetAPI(model.VendorIDJDShop, appOrgCode).(*jdshopapi.API)
if configs, err := dao.QueryConfigs(dao.GetDB(), "jdsCookie2", model.ConfigTypeCookie, ""); err == nil {
apiObj.SetCookieWithStr(configs[0].Value)
}
return apiObj
}
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 := getAPI(vendorOrgCode).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
}
func (p *PurchaseHandler) GetOrderRider(vendorOrgCode, vendorStoreID string, param map[string]interface{}) (err error) {
return nil
}