- CaculateSkuPrice don't calculate when skuname unit is not 份.

This commit is contained in:
gazebo
2018-10-05 12:41:38 +08:00
parent 2f4da59d35
commit 923b7617f8
2 changed files with 13 additions and 2 deletions

View File

@@ -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