- 美团外卖在改价出错后,尝试只修改可售状态

This commit is contained in:
gazebo
2019-05-29 10:50:24 +08:00
parent 04b38d334d
commit 1e69e24333
2 changed files with 16 additions and 4 deletions

View File

@@ -287,7 +287,9 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == 1 && strings.Index(errExt.ErrMsg(), "sku_参加营销活动") >= 0 { if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == 1 && strings.Index(errExt.ErrMsg(), "sku_参加营销活动") >= 0 {
storeSku.EbaiSyncStatus = storeSku.EbaiSyncStatus & ^model.SyncFlagPriceMask storeSku.EbaiSyncStatus = storeSku.EbaiSyncStatus & ^model.SyncFlagPriceMask
if storeSku.EbaiSyncStatus != 0 { if storeSku.EbaiSyncStatus != 0 {
api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)) if _, err2 := api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)); err2 != nil {
err = err2
}
} }
} }
} }

View File

@@ -3,6 +3,7 @@ package mtwm
import ( import (
"errors" "errors"
"fmt" "fmt"
"strings"
"time" "time"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/baseapi/platformapi/mtwmapi"
@@ -286,7 +287,8 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
}, },
} }
foodData["skus"] = skus foodData["skus"] = skus
if skuItem.StoreSkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask|model.SyncFlagPriceMask) != 0 { shouldCallSellStatus := !(skuItem.StoreSkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask|model.SyncFlagPriceMask) != 0)
if !shouldCallSellStatus {
globals.SugarLogger.Debugf("mtwm SyncStoreSkus3 skuID:%d, SkuSyncStatus:%d", skuItem.SkuID, skuItem.StoreSkuSyncStatus) globals.SugarLogger.Debugf("mtwm SyncStoreSkus3 skuID:%d, SkuSyncStatus:%d", skuItem.SkuID, skuItem.StoreSkuSyncStatus)
mergeStoreSkuStatus := jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus) mergeStoreSkuStatus := jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus)
if !(skuItem.StoreSkuSyncStatus&model.SyncFlagNewMask != 0 && mergeStoreSkuStatus != model.SkuStatusNormal) { if !(skuItem.StoreSkuSyncStatus&model.SyncFlagNewMask != 0 && mergeStoreSkuStatus != model.SkuStatusNormal) {
@@ -331,12 +333,20 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
// 暂不创建 // 暂不创建
updateFields = nil updateFields = nil
} }
} else { }
if err != nil {
if extErr, ok := err.(*utils.ErrorWithCode); ok && extErr.IntCode() == 1 && strings.Index(extErr.ErrMsg(), "折扣商品原价不允许修改") >= 0 {
shouldCallSellStatus = true
}
}
if shouldCallSellStatus {
if skuItem.StoreSkuSyncStatus&(model.SyncFlagSaleMask) != 0 { if skuItem.StoreSkuSyncStatus&(model.SyncFlagSaleMask) != 0 {
globals.SugarLogger.Debugf("mtwm SyncStoreSkus4 skuID:%d, SkuSyncStatus:%d", skuItem.SkuID, skuItem.StoreSkuSyncStatus) globals.SugarLogger.Debugf("mtwm SyncStoreSkus4 skuID:%d, SkuSyncStatus:%d", skuItem.SkuID, skuItem.StoreSkuSyncStatus)
sellStatus := skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus)) sellStatus := skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus))
if globals.EnableMtwmStoreWrite { if globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.RetailSkuSellStatus(vendorStoreID, foodDataList, sellStatus) if err2 := api.MtwmAPI.RetailSkuSellStatus(vendorStoreID, foodDataList, sellStatus); err2 != nil {
err = err2
}
} }
} }
} }