From 923b7617f803698ea315b1fedf8be06d15761533 Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 5 Oct 2018 12:41:38 +0800 Subject: [PATCH] =?UTF-8?q?-=20CaculateSkuPrice=20don't=20calculate=20when?= =?UTF-8?q?=20skuname=20unit=20is=20not=20=E4=BB=BD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxutils/jxutils_cms.go | 2 +- business/partner/purchase/ebai/store_sku.go | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/business/jxutils/jxutils_cms.go b/business/jxutils/jxutils_cms.go index 8c446146c..34b62d8d1 100644 --- a/business/jxutils/jxutils_cms.go +++ b/business/jxutils/jxutils_cms.go @@ -115,7 +115,7 @@ func IntMap2List(intMap map[int]int) []int { // 计算SKU价格,unitPrice为一斤的单价,specQuality为质量,单位为克 func CaculateSkuPrice(unitPrice int, specQuality float32, specUnit string, skuNameUnit string) int { - if skuNameUnit == "份" { + if skuNameUnit != "份" { return unitPrice } if strings.ToLower(specUnit) == "kg" { diff --git a/business/partner/purchase/ebai/store_sku.go b/business/partner/purchase/ebai/store_sku.go index c126f7b1f..4decde42d 100644 --- a/business/partner/purchase/ebai/store_sku.go +++ b/business/partner/purchase/ebai/store_sku.go @@ -3,6 +3,7 @@ package ebai import ( "fmt" "strings" + "time" "git.rosy.net.cn/baseapi/platformapi/ebaiapi" "git.rosy.net.cn/baseapi/utils" @@ -81,6 +82,8 @@ func (p *PurchaseHandler) SyncStoreSkus(db *dao.DaoDB, storeIDs []int, skuIDs [] } func (p *PurchaseHandler) syncOneStoreSkus(db *dao.DaoDB, storeID int, skuIDs []int, isForce bool, userName string) (err error) { + globals.SugarLogger.Debugf("syncOneStoreSkus storeID:%d, skuIDs:%v, userName:%s", storeID, skuIDs, userName) + if err = p.syncOneStoreCategoriesFromRemote2Local(db, storeID, userName); err != nil { return err } @@ -146,12 +149,16 @@ func (p *PurchaseHandler) syncOneStoreSkus(db *dao.DaoDB, storeID int, skuIDs [] // globals.SugarLogger.Debug(utils.Format4Output(genSkuParamsFromStoreSkuInfo(storeSku), false)) if storeSku.EbaiID, err = api.EbaiAPI.SkuCreate(strStoreID, storeSku.SkuID, genSkuParamsFromStoreSkuInfo(storeSku)); err == nil { // todo 创建SKU后马上绑定分类,会失败,待解决 - err = api.EbaiAPI.SkuShopCategoryMap(strStoreID, storeSku.EbaiID, utils.Int64ToStr(storeSku.CatEbaiID)) updateFields = append(updateFields, model.FieldEbaiID) } } else if storeSku.EbaiSyncStatus&model.SyncFlagModifiedMask != 0 { _, err = api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)) } + if storeSku.EbaiSyncStatus&(model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { + time.AfterFunc(3*time.Second, func() { + api.EbaiAPI.SkuShopCategoryMap(strStoreID, storeSku.EbaiID, utils.Int64ToStr(storeSku.CatEbaiID)) + }) + } if err == nil { storeSku.EbaiSyncStatus = 0 _, err = dao.UpdateEntity(nil, &storeSku.StoreSkuBind, updateFields...) @@ -295,6 +302,8 @@ func getEbaiCat(catID int64, level int) int64 { // 从饿百同步分类信息到本地 func (p *PurchaseHandler) syncOneStoreCategoriesFromRemote2Local(db *dao.DaoDB, storeID int, userName string) (err error) { + globals.SugarLogger.Debugf("syncOneStoreCategoriesFromRemote2Local storeID:%d, userName:%s", storeID, userName) + sql := ` SELECT t2.*, t1.id cat_id, t1.name, t1.parent_id, t1.level, t1.type, t1.seq FROM sku_category t1 @@ -351,6 +360,8 @@ func (p *PurchaseHandler) syncOneStoreCategoriesFromRemote2Local(db *dao.DaoDB, // 从本地同步分类信息到饿百 // 测试过程中出现过,父分类创建成功后马上创建子分类会报没有父分类错 func (p *PurchaseHandler) syncOneStoreCategoriesFromLocal2Remote(db *dao.DaoDB, storeID int, userName string) (err error) { + globals.SugarLogger.Debugf("syncOneStoreCategoriesFromLocal2Remote storeID:%d, userName:%s", storeID, userName) + for level := 1; level <= 2; level++ { sql := ` SELECT t2.*, t1.name, t1.parent_id, t1.level, t1.type, t1.seq, t2p.ebai_id parent_ebai_id