修复饿百在设置门店状态后以上取状态状态没有变化导致的bug

This commit is contained in:
gazebo
2020-01-07 09:42:55 +08:00
parent 772c8f9cbe
commit c47a49cebd

View File

@@ -100,9 +100,7 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo
retVal.DeliveryType = EbaiDeliveryType2Jx(utils.Interface2String(result["delivery_type"])) retVal.DeliveryType = EbaiDeliveryType2Jx(utils.Interface2String(result["delivery_type"]))
retVal.SetOpTime(ebaiOpTime2Jx(result["business_time"])) retVal.SetOpTime(ebaiOpTime2Jx(result["business_time"]))
if ebaiStatus, err2 := api.EbaiAPI.ShopBusStatusGet("", baiduShopID, ebaiapi.PlatformFlagElm); err2 == nil { retVal.Status, _ = p.GetStoreStatus(ctx, vendorOrgCode, 0, vendorStoreID)
retVal.Status = EbaiBusStatus2JxStatus(ebaiStatus)
}
tel2 := utils.Interface2String(result["ivr_phone"]) tel2 := utils.Interface2String(result["ivr_phone"])
if tel2 != "" && tel2 != retVal.Tel1 { if tel2 != "" && tel2 != retVal.Tel1 {
@@ -188,7 +186,7 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
if err == nil { if err == nil {
if store.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 { if store.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 {
mergeStatus := jxutils.MergeStoreStatus(store.Status, store.EbaiStoreStatus) mergeStatus := jxutils.MergeStoreStatus(store.Status, store.EbaiStoreStatus)
if err = p.updateStoreStatus(userName, storeID, store.VendorStoreID, mergeStatus, store2.Status); err != nil { if err = p.UpdateStoreStatus(jxcontext.AdminCtx, store.VendorOrgCode, storeID, store.VendorStoreID, mergeStatus); err != nil {
return err return err
} }
} }
@@ -468,27 +466,21 @@ func (p *PurchaseHandler) EnableAutoAcceptOrder(ctx *jxcontext.Context, vendorOr
} }
func (c *PurchaseHandler) UpdateStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, status int) (err error) { func (c *PurchaseHandler) UpdateStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, status int) (err error) {
store, err := c.ReadStore(ctx, vendorOrgCode, vendorStoreID) if globals.EnableEbaiStoreWrite {
if err != nil { if status == model.StoreStatusOpened {
return err err = api.EbaiAPI.ShopOpen("", utils.Str2Int64(vendorStoreID))
} } else if status == model.StoreStatusHaveRest || status == model.StoreStatusClosed {
return c.updateStoreStatus(ctx.GetUserName(), storeID, vendorStoreID, status, store.Status) err = api.EbaiAPI.ShopClose("", utils.Str2Int64(vendorStoreID))
} } else if status == model.StoreStatusDisabled {
err = api.EbaiAPI.ShopClose("", utils.Str2Int64(vendorStoreID))
func (c *PurchaseHandler) updateStoreStatus(userName string, storeID int, vendorStoreID string, status, currentStatus int) (err error) { // err = api.EbaiAPI.ShopOffline("", utils.Str2Int64(vendorStoreID))
if !isStoreStatusSame(currentStatus, status) {
if globals.EnableEbaiStoreWrite {
if status == model.StoreStatusOpened {
err = api.EbaiAPI.ShopOpen("", utils.Str2Int64(vendorStoreID))
} else if status == model.StoreStatusHaveRest || status == model.StoreStatusClosed {
err = api.EbaiAPI.ShopClose("", utils.Str2Int64(vendorStoreID))
} else if status == model.StoreStatusDisabled {
err = api.EbaiAPI.ShopClose("", utils.Str2Int64(vendorStoreID))
// err = api.EbaiAPI.ShopOffline("", utils.Str2Int64(vendorStoreID))
}
} }
if intErr, ok := err.(*utils.ErrorWithCode); ok && intErr.IntCode() == 201100 { if err != nil {
err = nil if remoteStatus, err2 := c.GetStoreStatus(ctx, vendorOrgCode, storeID, vendorStoreID); err2 == nil && remoteStatus == status {
err = nil
} else if intErr, ok := err.(*utils.ErrorWithCode); ok && intErr.IntCode() == 201100 {
err = nil
}
} }
} }
return err return err