From 08caaae031fde5c0427b173bb06a7d4b4985429f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 29 May 2023 13:48:31 +0800 Subject: [PATCH] 1 --- business/jxcallback/orderman/order.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index dcb7c6f87..2c7caca12 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -252,8 +252,17 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m order.OrderFinishedAt = time.Now() dao.UpdateEntity(db, order, "OrderFinishedAt") } else if orderStatus.Status == model.OrderStatusCanceled { + order, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID) // 订单被取消,则取消三方运单 + waybill, _ := dao.GetWaybills(db, order.VendorOrderID, []int64{model.VendorIDMTPS, model.VendorIDDada, model.VendorIDFengNiao, model.VendorIDUUPT, model.VendorIDSFPS}) + for _, v := range waybill { + if err := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID).Handler.CancelWaybill(v, 0, "订单被取消了"); err != nil { + partner.CurOrderManager.OnOrderMsg(order, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消失败Err: %s", order.VendorOrderID, v.VendorWaybillID, err.Error()), "") + } else { + partner.CurOrderManager.OnOrderMsg(order, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消成功", order.VendorOrderID, v.VendorWaybillID), "") + } + } //如果取消订单则要把库存加回去 - if order, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID); err2 == nil { + if err2 == nil { // 判断是否需要打印取消订单 storeDetail, err := c.LoadStoreDetail(order.StoreID, order.VendorID) if err == nil && storeDetail.IsPrintCancelOrder == model.YES { // 取消申请