From 49b51a4bec44d8f43526695f80baf49ac9ee4b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 26 Sep 2023 11:14:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E5=94=AE=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/ebai/order_afs.go | 10 +++++++--- business/partner/purchase/mtwm/order_afs.go | 13 +++++++++---- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/business/partner/purchase/ebai/order_afs.go b/business/partner/purchase/ebai/order_afs.go index 197dd1d07..d2b0e04e3 100644 --- a/business/partner/purchase/ebai/order_afs.go +++ b/business/partner/purchase/ebai/order_afs.go @@ -36,13 +36,17 @@ var ( ) func (c *PurchaseHandler) isAfsMsg(msg *ebaiapi.CallbackMsg) bool { - if msg.Cmd == ebaiapi.CmdOrderPartRefund { + switch msg.Cmd { + case ebaiapi.CmdOrderPartRefund: msgType := int(utils.MustInterface2Int64(msg.Body["type"])) return msgType == ebaiapi.OrderPartRefuncTypeCustomer || msgType == ebaiapi.OrderPartRefuncTypeCS - } else if msg.Cmd == ebaiapi.CmdOrderUserCancel { + case ebaiapi.CmdOrderUserCancel: + // 1表示订单完成前用户全单取消申请流程, 2表示订单完成后用户全单退款申请流程 cancelType := int(utils.MustInterface2Int64(msg.Body["cancel_type"])) - return cancelType == ebaiapi.OrderUserCancelTypeAfterSale + + return cancelType == ebaiapi.OrderUserCancelTypeAfterSale || cancelType == ebaiapi.OrderUserCancelTypeBeforeSale } + return false } diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index c8cafd921..7a3f768cb 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -159,10 +159,15 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma } // 新订单平台自动同意退单,某一些情况下产生的运单没退!这个处理一下! - //if refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && (msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderAgree) { - // partner.CurOrderManager.+ - // defsch.FixedScheduler.CancelAll3rdWaybills(jxcontext.AdminCtx, orderStatus.RefVendorOrderID, orderStatus.VendorID, true) - //} + if refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && (msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderAgree) { + wayBill, _ := dao.GetWaybills(dao.GetDB(), orderStatus.RefVendorOrderID, nil) + for _, v := range wayBill { + handlerInfo := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID) + if handlerInfo != nil { + handlerInfo.Handler.CancelWaybill(v, 0, "订单转移被取消") + } + } + } } } return mtwmapi.Err2CallbackResponse(err, "")