From a09f765f4a52c3180bc705e916eb16432f4b68ba Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 16 Nov 2018 17:56:50 +0800 Subject: [PATCH] - disable elm accept order - delay accept order for ebai --- business/partner/purchase/ebai/order.go | 21 +++++++++++++++++++++ business/partner/purchase/elm/order.go | 14 +++++++------- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index ad457d93b..589d2cd96 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -7,6 +7,7 @@ import ( "git.rosy.net.cn/baseapi/platformapi/autonavi" "git.rosy.net.cn/baseapi/platformapi/ebaiapi" "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/partner" @@ -14,6 +15,11 @@ import ( "git.rosy.net.cn/jx-callback/globals/api" ) +const ( + acceptOrderDelay = 270 * time.Second + fakePickedUp = "fakefinishedpickup" +) + var ( VendorStatus2StatusMap = map[string]int{ ebaiapi.OrderStatusNew: model.OrderStatusNew, @@ -172,6 +178,14 @@ func (c *PurchaseHandler) onOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiapi. status := c.callbackMsg2Status(msg) if status != nil { err := partner.CurOrderManager.OnOrderStatusChanged(status) + + // 直接跳到拣货完成 + if status.Status == model.OrderStatusAccepted { + status.Status = model.OrderStatusFinishedPickup + status.VendorStatus = fakePickedUp + err = partner.CurOrderManager.OnOrderStatusChanged(status) + } + retVal = api.EbaiAPI.Err2CallbackResponse(msg.Cmd, err, nil) } } @@ -210,6 +224,13 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *ebaiapi.CallbackMsg) (orderSta return orderStatus } +func (c *PurchaseHandler) GetStatusActionTimeout(statusType, status int) time.Duration { + if statusType == scheduler.TimerStatusTypeOrder && status == model.OrderStatusNew { + return acceptOrderDelay // 饿百开了专送店的订单没有拣货状态,接单后就为拣货完成,所以要延迟接单,否则门店来不及备货 + } + return 0 +} + func getTimeFromTimestampStr(sendTime string) time.Time { timeStamp := utils.Str2Int64WithDefault(sendTime, 0) if timeStamp < 1538103149 { // 立即达订单给的是1(而不是空,0),1538103149不是特殊值,只是一个任意之前的时间,这样写可以处理 diff --git a/business/partner/purchase/elm/order.go b/business/partner/purchase/elm/order.go index 1f396d594..57f56ca95 100644 --- a/business/partner/purchase/elm/order.go +++ b/business/partner/purchase/elm/order.go @@ -268,13 +268,13 @@ func (c *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int { func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) { globals.SugarLogger.Debugf("elm AcceptOrRefuseOrder orderID:%s", order.VendorOrderID) - if globals.EnableElmStoreWrite { - if isAcceptIt { - err = api.ElmAPI.ConfirmOrder(order.VendorOrderID) - } else { - err = api.ElmAPI.CancelOrder(order.VendorOrderID, elmapi.CancelOrderTypeOthers, "") - } - } + // if globals.EnableElmStoreWrite { + // if isAcceptIt { + // err = api.ElmAPI.ConfirmOrder(order.VendorOrderID) + // } else { + // err = api.ElmAPI.CancelOrder(order.VendorOrderID, elmapi.CancelOrderTypeOthers, "") + // } + // } return err }