From 5e011b7268b2e81e4bb5075ed66310ad9bd02850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 25 Sep 2023 18:36:04 +0800 Subject: [PATCH 1/5] 1 --- business/partner/purchase/mtwm/order_afs.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index 4efc15e9d..21cb1c980 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -3,6 +3,7 @@ package mtwm import ( "errors" "fmt" + "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch" "git.rosy.net.cn/jx-callback/globals/api" "net/url" "strings" @@ -152,11 +153,15 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma if err := partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus); err == nil { // 订单回调全额退款接口时,将订单状态修改为取消 refundData := msg.Data.(*mtwmapi.CallbackRefundInfo) - if refundData.NotifyType == "agree" && msg.Cmd == mtwmapi.MsgTypeOrderRefund { + if refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && msg.Cmd == mtwmapi.MsgTypeOrderRefund { order, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDMTWM) order.Status = model.OrderStatusCanceled dao.UpdateEntity(dao.GetDB(), order, "Status") } + // 新订单平台自动同意退单,某一些情况下产生的运单没退!这个处理一下! + if refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && (msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderAgree) { + defsch.FixedScheduler.CancelAll3rdWaybills(jxcontext.AdminCtx, orderStatus.RefVendorOrderID, orderStatus.VendorID, true) + } } } return mtwmapi.Err2CallbackResponse(err, "") From ab436c5180c979155b9f165f2bdfbc436115665e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 25 Sep 2023 18:41:53 +0800 Subject: [PATCH 2/5] 1 --- business/partner/purchase/mtwm/order_afs.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index 21cb1c980..a64fd0441 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -3,7 +3,6 @@ package mtwm import ( "errors" "fmt" - "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch" "git.rosy.net.cn/jx-callback/globals/api" "net/url" "strings" @@ -158,10 +157,11 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma order.Status = model.OrderStatusCanceled dao.UpdateEntity(dao.GetDB(), order, "Status") } + // 新订单平台自动同意退单,某一些情况下产生的运单没退!这个处理一下! - if refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && (msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderAgree) { - defsch.FixedScheduler.CancelAll3rdWaybills(jxcontext.AdminCtx, orderStatus.RefVendorOrderID, orderStatus.VendorID, true) - } + //if refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && (msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderAgree) { + // defsch.FixedScheduler.CancelAll3rdWaybills(jxcontext.AdminCtx, orderStatus.RefVendorOrderID, orderStatus.VendorID, true) + //} } } return mtwmapi.Err2CallbackResponse(err, "") From 89b9906d2c14318cb030fe46bb33b25b6d69629d 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 09:38:51 +0800 Subject: [PATCH 3/5] 1 --- business/partner/purchase/mtwm/order_afs.go | 1 + business/partner/purchase/tiktok_store/order.go | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index a64fd0441..c8cafd921 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -160,6 +160,7 @@ 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) //} } diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index 0b44431da..227c1b344 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -984,15 +984,17 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re } // OrderLogisticsStatus 获取订单配送状态 -func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) { +func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (data *utils.RiderInfo, err error) { orderInfo, err := dao.GetSimpleOrder(dao.GetDB(), orderId) if err != nil { - return nil, errors.New("获取本地门店账号信息失败,请重试") + data.LogisticsStatus = 0 + return data, errors.New("获取本地门店账号信息失败,请重试") } waybill, err := getAPI(orderInfo.VendorOrgCode, 0, "").GetShipmentInfo(utils.Str2Int64(orderInfo.VendorOrderID), 0, tiktokShop.ShipmentTypeInvoice) if err != nil { - return nil, err + data.LogisticsStatus = 0 + return data, err } result := &utils.RiderInfo{ From 91969d82496427d3984762df5d711a2450439a9b 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 09:43:03 +0800 Subject: [PATCH 4/5] 1 --- .../jxcallback/scheduler/basesch/basesch.go | 30 +++++++++++-------- .../partner/purchase/tiktok_store/order.go | 2 -- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/business/jxcallback/scheduler/basesch/basesch.go b/business/jxcallback/scheduler/basesch/basesch.go index e9d6d7cd7..20cb118bf 100644 --- a/business/jxcallback/scheduler/basesch/basesch.go +++ b/business/jxcallback/scheduler/basesch/basesch.go @@ -142,21 +142,25 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName localBill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID) // 获取抖音配送状态 tiktokWayBillStatus, _ := partner.GetPurchasePlatformFromVendorID(order.VendorID).OrderLogisticsStatus(order.VendorOrderID) - if tiktokWayBillStatus.LogisticsStatus >= tiktokShop.ShipmentStatusReceived { - //取消抖音配送转自送 - err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel) - partner.CurOrderManager.OnOrderMsg(order, "取消抖音配送,转用门店自配送/三方配送", "抖音骑手已经接单,无法取消") - return err - } else if tiktokWayBillStatus.LogisticsStatus == -1 { // 先转自送,自送不成功取消平台配送. - if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil { - partner.CurOrderManager.OnOrderMsg(order, "抖音转自送,平台无运力", "tiktokWayBillStatus = -1") + if tiktokWayBillStatus != nil { + if tiktokWayBillStatus.LogisticsStatus >= tiktokShop.ShipmentStatusReceived { + //取消抖音配送转自送 + err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel) + partner.CurOrderManager.OnOrderMsg(order, "取消抖音配送,转用门店自配送/三方配送", "抖音骑手已经接单,无法取消") + return err + } else if tiktokWayBillStatus.LogisticsStatus == -1 { // 先转自送,自送不成功取消平台配送. + if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil { + partner.CurOrderManager.OnOrderMsg(order, "抖音转自送,平台无运力", "tiktokWayBillStatus = -1") + } } - } else if err = partner.GetPurchasePlatformFromVendorID(order.VendorID).CancelLogisticsByWmOrderId(order, "", "", order.VendorStoreID, order.VendorOrderID); err != nil { - err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel) - partner.CurOrderManager.OnOrderMsg(order, "取消抖音平台运单错误,无法转自送", err.Error()) - return err } else { - partner.GetPurchasePlatformFromVendorID(order.VendorID).SelfDeliverDelivering(order, "") + if err = partner.GetPurchasePlatformFromVendorID(order.VendorID).CancelLogisticsByWmOrderId(order, "", "", order.VendorStoreID, order.VendorOrderID); err != nil { + err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel) + partner.CurOrderManager.OnOrderMsg(order, "取消抖音平台运单错误,无法转自送", err.Error()) + return err + } else { + partner.GetPurchasePlatformFromVendorID(order.VendorID).SelfDeliverDelivering(order, "") + } } } else { if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation) { diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index 227c1b344..b83d692e8 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -987,13 +987,11 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (data *utils.RiderInfo, err error) { orderInfo, err := dao.GetSimpleOrder(dao.GetDB(), orderId) if err != nil { - data.LogisticsStatus = 0 return data, errors.New("获取本地门店账号信息失败,请重试") } waybill, err := getAPI(orderInfo.VendorOrgCode, 0, "").GetShipmentInfo(utils.Str2Int64(orderInfo.VendorOrderID), 0, tiktokShop.ShipmentTypeInvoice) if err != nil { - data.LogisticsStatus = 0 return data, err } From 0db010b642bb269f82db02b1e550796a97bd3d5c 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 09:46:54 +0800 Subject: [PATCH 5/5] 1 --- business/jxcallback/scheduler/basesch/basesch.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/business/jxcallback/scheduler/basesch/basesch.go b/business/jxcallback/scheduler/basesch/basesch.go index 20cb118bf..0f8e69309 100644 --- a/business/jxcallback/scheduler/basesch/basesch.go +++ b/business/jxcallback/scheduler/basesch/basesch.go @@ -155,9 +155,10 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName } } else { if err = partner.GetPurchasePlatformFromVendorID(order.VendorID).CancelLogisticsByWmOrderId(order, "", "", order.VendorStoreID, order.VendorOrderID); err != nil { - err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel) - partner.CurOrderManager.OnOrderMsg(order, "取消抖音平台运单错误,无法转自送", err.Error()) - return err + if err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel); err != nil { + partner.CurOrderManager.OnOrderMsg(order, "取消抖音平台运单错误,无法转自送", err.Error()) + return err + } } else { partner.GetPurchasePlatformFromVendorID(order.VendorID).SelfDeliverDelivering(order, "") }