- CaculateSkuPrice don't calculate when skuname unit is not 份.
This commit is contained in:
@@ -115,7 +115,7 @@ func IntMap2List(intMap map[int]int) []int {
|
|||||||
|
|
||||||
// 计算SKU价格,unitPrice为一斤的单价,specQuality为质量,单位为克
|
// 计算SKU价格,unitPrice为一斤的单价,specQuality为质量,单位为克
|
||||||
func CaculateSkuPrice(unitPrice int, specQuality float32, specUnit string, skuNameUnit string) int {
|
func CaculateSkuPrice(unitPrice int, specQuality float32, specUnit string, skuNameUnit string) int {
|
||||||
if skuNameUnit == "份" {
|
if skuNameUnit != "份" {
|
||||||
return unitPrice
|
return unitPrice
|
||||||
}
|
}
|
||||||
if strings.ToLower(specUnit) == "kg" {
|
if strings.ToLower(specUnit) == "kg" {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package ebai
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"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) {
|
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 {
|
if err = p.syncOneStoreCategoriesFromRemote2Local(db, storeID, userName); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -146,12 +149,16 @@ func (p *PurchaseHandler) syncOneStoreSkus(db *dao.DaoDB, storeID int, skuIDs []
|
|||||||
// globals.SugarLogger.Debug(utils.Format4Output(genSkuParamsFromStoreSkuInfo(storeSku), false))
|
// globals.SugarLogger.Debug(utils.Format4Output(genSkuParamsFromStoreSkuInfo(storeSku), false))
|
||||||
if storeSku.EbaiID, err = api.EbaiAPI.SkuCreate(strStoreID, storeSku.SkuID, genSkuParamsFromStoreSkuInfo(storeSku)); err == nil {
|
if storeSku.EbaiID, err = api.EbaiAPI.SkuCreate(strStoreID, storeSku.SkuID, genSkuParamsFromStoreSkuInfo(storeSku)); err == nil {
|
||||||
// todo 创建SKU后马上绑定分类,会失败,待解决
|
// todo 创建SKU后马上绑定分类,会失败,待解决
|
||||||
err = api.EbaiAPI.SkuShopCategoryMap(strStoreID, storeSku.EbaiID, utils.Int64ToStr(storeSku.CatEbaiID))
|
|
||||||
updateFields = append(updateFields, model.FieldEbaiID)
|
updateFields = append(updateFields, model.FieldEbaiID)
|
||||||
}
|
}
|
||||||
} else if storeSku.EbaiSyncStatus&model.SyncFlagModifiedMask != 0 {
|
} else if storeSku.EbaiSyncStatus&model.SyncFlagModifiedMask != 0 {
|
||||||
_, err = api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku))
|
_, 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 {
|
if err == nil {
|
||||||
storeSku.EbaiSyncStatus = 0
|
storeSku.EbaiSyncStatus = 0
|
||||||
_, err = dao.UpdateEntity(nil, &storeSku.StoreSkuBind, updateFields...)
|
_, 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) {
|
func (p *PurchaseHandler) syncOneStoreCategoriesFromRemote2Local(db *dao.DaoDB, storeID int, userName string) (err error) {
|
||||||
|
globals.SugarLogger.Debugf("syncOneStoreCategoriesFromRemote2Local storeID:%d, userName:%s", storeID, userName)
|
||||||
|
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t2.*, t1.id cat_id, t1.name, t1.parent_id, t1.level, t1.type, t1.seq
|
SELECT t2.*, t1.id cat_id, t1.name, t1.parent_id, t1.level, t1.type, t1.seq
|
||||||
FROM sku_category t1
|
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) {
|
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++ {
|
for level := 1; level <= 2; level++ {
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t2.*, t1.name, t1.parent_id, t1.level, t1.type, t1.seq, t2p.ebai_id parent_ebai_id
|
SELECT t2.*, t1.name, t1.parent_id, t1.level, t1.type, t1.seq, t2p.ebai_id parent_ebai_id
|
||||||
|
|||||||
Reference in New Issue
Block a user