From c47a49cebdd498a1adbe6a489bf25a43e7e1d99d Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 7 Jan 2020 09:42:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A5=BF=E7=99=BE=E5=9C=A8?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=97=A8=E5=BA=97=E7=8A=B6=E6=80=81=E5=90=8E?= =?UTF-8?q?=E4=BB=A5=E4=B8=8A=E5=8F=96=E7=8A=B6=E6=80=81=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=8F=98=E5=8C=96=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/ebai/store.go | 40 ++++++++++--------------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/business/partner/purchase/ebai/store.go b/business/partner/purchase/ebai/store.go index 170816be7..6e525a83a 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -100,9 +100,7 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo retVal.DeliveryType = EbaiDeliveryType2Jx(utils.Interface2String(result["delivery_type"])) retVal.SetOpTime(ebaiOpTime2Jx(result["business_time"])) - if ebaiStatus, err2 := api.EbaiAPI.ShopBusStatusGet("", baiduShopID, ebaiapi.PlatformFlagElm); err2 == nil { - retVal.Status = EbaiBusStatus2JxStatus(ebaiStatus) - } + retVal.Status, _ = p.GetStoreStatus(ctx, vendorOrgCode, 0, vendorStoreID) tel2 := utils.Interface2String(result["ivr_phone"]) if tel2 != "" && tel2 != retVal.Tel1 { @@ -188,7 +186,7 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin if err == nil { if store.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 { 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 } } @@ -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) { - store, err := c.ReadStore(ctx, vendorOrgCode, vendorStoreID) - if err != nil { - return err - } - return c.updateStoreStatus(ctx.GetUserName(), storeID, vendorStoreID, status, store.Status) -} - -func (c *PurchaseHandler) updateStoreStatus(userName string, storeID int, vendorStoreID string, status, currentStatus int) (err error) { - 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 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 { - err = nil + if 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