104 lines
3.0 KiB
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
|
|
}
|