From 43346f0eb347dd9bb74815a081dabc917ba35b0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 23 Mar 2020 17:16:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=93=B6=E8=B1=B9beta?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/yb/store_sku.go | 167 ++++++++++++---------- conf/app.conf | 4 + globals/globals.go | 2 + 3 files changed, 100 insertions(+), 73 deletions(-) diff --git a/business/partner/purchase/yb/store_sku.go b/business/partner/purchase/yb/store_sku.go index 3398e3f7f..0622cb1e9 100644 --- a/business/partner/purchase/yb/store_sku.go +++ b/business/partner/purchase/yb/store_sku.go @@ -36,35 +36,6 @@ func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, v return failedList, err } -func buildYbConfigs(storeID int) (err error) { - if storeID == 0 { - return fmt.Errorf("门店ID不能为空!平台:[%v]", model.VendorIDYB) - } - store, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDYB) - if err != nil { - return err - } - api.YinBaoAPI = yinbaoapi.New(store.YbAppKey, store.YbAppID) - return err -} - -func buildProductInfoParam(storeSku *dao.StoreSkuSyncInfo) (productInfoParam *yinbaoapi.ProductInfoParam) { - var ( - buyPrice float64 = utils.Str2Float64(utils.Int64ToStr(storeSku.Price)) / 100 - sellPrice float64 = utils.Str2Float64(utils.Int64ToStr(storeSku.VendorPrice)) / 100 - ) - productInfoParam = &yinbaoapi.ProductInfoParam{} - productInfo := &yinbaoapi.ProductInfo{ - Stock: &stock, - Name: storeSku.SkuName, - Barcode: utils.Int2Str(storeSku.SkuID), - BuyPrice: &buyPrice, - SellPrice: &sellPrice, - } - productInfoParam.ProductInfo = productInfo - return productInfoParam -} - func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (skuNameList []*partner.SkuNameInfo, err error) { buildYbConfigs(storeID) if storeSkuList != nil { @@ -121,32 +92,58 @@ func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTas return skuNameList, err } -func loopPages(parameterType, parameterValue string, skuNameList []*partner.SkuNameInfo) (err error) { - var postBackParameter = &yinbaoapi.PostBackParameter{ - ParameterType: parameterType, - ParameterValue: parameterValue, +func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo, status int) (failedList []*partner.StoreSkuInfoWithErr, err error) { + if globals.EnableYbStoreWrite { + } - resultPages, err := api.YinBaoAPI.QueryProductPages(postBackParameter) - if err != nil { - return err + return failedList, err +} + +func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) { + if globals.EnableYbStoreWrite { + } - for _, v := range resultPages.Result { - resultp, err := api.YinBaoAPI.QueryProductImagesByBarcode(v.Barcode) - if err != nil { - return err - } - vv := &yinbaoapi.QueryProductByBarcodeResult{} - err = utils.Map2StructByJson(utils.Struct2MapByJson(v), vv, false) - if skuName := vendorSku2Jx(vv, resultp); skuName != nil { - skuNameList = append(skuNameList, skuName) - } - } - if resultPages.PostBackParameter.ParameterType != yinbaoapi.PageMaxID { - err = loopPages(resultPages.PostBackParameter.ParameterType, resultPages.PostBackParameter.ParameterValue, skuNameList) + return failedList, err +} + +func (p *PurchaseHandler) UpdateStoreSkusStock(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) { + if globals.EnableYbStoreWrite { + } + return failedList, err +} + +func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) { return err } +func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) { + return err +} + +func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string, level int) (err error) { + return err +} + +func (p *PurchaseHandler) IsErrSkuExist(err error) (isExist bool) { + return yinbaoapi.IsErrSkuExist(err) +} + +func (p *PurchaseHandler) GetStoreSkusBatchSize(funcID int) (batchSize int) { + return 1 +} + +func ybSkuStatus2Jx(ybStatus int) (jxSkuStatus int) { + if ybStatus == yinbaoapi.SkuStatusEnable { + jxSkuStatus = model.SkuStatusNormal + } else if ybStatus == yinbaoapi.SkuStatusDisabled { + jxSkuStatus = model.SkuStatusDontSale + } else if ybStatus == yinbaoapi.SkuStatusDeleted { + jxSkuStatus = model.SkuStatusDeleted + } + return jxSkuStatus +} + func vendorSku2Jx(result *yinbaoapi.QueryProductByBarcodeResult, resultp []*yinbaoapi.QueryProductImagesByBarcodeResult) (skuName *partner.SkuNameInfo) { var picList []string if result == nil { @@ -185,33 +182,57 @@ func vendorSku2Jx(result *yinbaoapi.QueryProductByBarcodeResult, resultp []*yinb return skuName } -func ybSkuStatus2Jx(ybStatus int) (jxSkuStatus int) { - if ybStatus == yinbaoapi.SkuStatusEnable { - jxSkuStatus = model.SkuStatusNormal - } else if ybStatus == yinbaoapi.SkuStatusDisabled { - jxSkuStatus = model.SkuStatusDontSale - } else if ybStatus == yinbaoapi.SkuStatusDeleted { - jxSkuStatus = model.SkuStatusDeleted +func loopPages(parameterType, parameterValue string, skuNameList []*partner.SkuNameInfo) (err error) { + var postBackParameter = &yinbaoapi.PostBackParameter{ + ParameterType: parameterType, + ParameterValue: parameterValue, + } + resultPages, err := api.YinBaoAPI.QueryProductPages(postBackParameter) + if err != nil { + return err + } + for _, v := range resultPages.Result { + resultp, err := api.YinBaoAPI.QueryProductImagesByBarcode(v.Barcode) + if err != nil { + return err + } + vv := &yinbaoapi.QueryProductByBarcodeResult{} + err = utils.Map2StructByJson(utils.Struct2MapByJson(v), vv, false) + if skuName := vendorSku2Jx(vv, resultp); skuName != nil { + skuNameList = append(skuNameList, skuName) + } + } + if resultPages.PostBackParameter.ParameterType != yinbaoapi.PageMaxID { + err = loopPages(resultPages.PostBackParameter.ParameterType, resultPages.PostBackParameter.ParameterValue, skuNameList) } - return jxSkuStatus -} - -func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) { return err } -func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) { +func buildProductInfoParam(storeSku *dao.StoreSkuSyncInfo) (productInfoParam *yinbaoapi.ProductInfoParam) { + var ( + buyPrice float64 = utils.Str2Float64(utils.Int64ToStr(storeSku.Price)) / 100 + sellPrice float64 = utils.Str2Float64(utils.Int64ToStr(storeSku.VendorPrice)) / 100 + ) + productInfoParam = &yinbaoapi.ProductInfoParam{} + productInfo := &yinbaoapi.ProductInfo{ + Stock: &stock, + Name: storeSku.SkuName, + Barcode: utils.Int2Str(storeSku.SkuID), + BuyPrice: &buyPrice, + SellPrice: &sellPrice, + } + productInfoParam.ProductInfo = productInfo + return productInfoParam +} + +func buildYbConfigs(storeID int) (err error) { + if storeID == 0 { + return fmt.Errorf("门店ID不能为空!平台:[%v]", model.VendorIDYB) + } + store, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDYB) + if err != nil { + return err + } + api.YinBaoAPI = yinbaoapi.New(store.YbAppKey, store.YbAppID) return err } - -func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string, level int) (err error) { - return err -} - -func (p *PurchaseHandler) IsErrSkuExist(err error) (isExist bool) { - return yinbaoapi.IsErrSkuExist(err) -} - -func (p *PurchaseHandler) GetStoreSkusBatchSize(funcID int) (batchSize int) { - return 1 -} diff --git a/conf/app.conf b/conf/app.conf index e21d1a744..1b0481ddd 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -31,6 +31,7 @@ enableEbaiStoreWrite = false enableElmStoreWrite = false enableMtwmStoreWrite = false enableWscStoreWrite = false +enableEbaiStoreWrite = false aliKey = "LTAI4FwZN7pp4dACQHoapkZQ" aliSecret = "NTegceUFX0FdfMovqCDzqcIKmhcoOu" @@ -211,6 +212,7 @@ enableJdStoreWrite = true enableEbaiStoreWrite = true enableMtwmStoreWrite = true enableWscStoreWrite = true +enableEbaiStoreWrite = true disableWeimob = false weimobCallbackURL = "http://callback.jxc4.com/weimob" @@ -247,6 +249,7 @@ enableStoreWrite = true enableJdStoreWrite = true enableEbaiStoreWrite = true enableMtwmStoreWrite = true +enableEbaiStoreWrite = true mtpsAppKey = "3c0a05d464c247c19d7ec13accc78605" mtpsSecret = "b1M}9?:sTbsB[OF2gNORnN(|(iy9rB8(`7]|[wGLnbmt`evfM>E:A90DjHAW:UPE" @@ -366,6 +369,7 @@ enableEbaiStoreWrite = false enableElmStoreWrite = false enableMtwmStoreWrite = false enableWscStoreWrite = false +enableEbaiStoreWrite = true jdOrgCode = "320406" jdToken = "77e703b7-7997-441b-a12a-2e522efb117a" diff --git a/globals/globals.go b/globals/globals.go index e12384f76..48aa35b91 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -24,6 +24,7 @@ var ( EnableMtwmStoreWrite bool EnableWscStoreWrite bool EnablePendingChange bool + EnableYbStoreWrite bool QiniuBucket string WeimobCallbackURL string @@ -91,6 +92,7 @@ func Init() { EnableMtwmStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableMtwmStoreWrite", false) EnableWscStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableWscStoreWrite", false) // EnablePendingChange = beego.AppConfig.DefaultBool("enablePendingChange", false) + EnableYbStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableYbStoreWrite", false) QiniuBucket = beego.AppConfig.String("qiniuBucket")