From c0860e7984d648ef9685cbf24566214a60edb70e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 30 Aug 2023 14:40:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E9=85=8D=E9=80=81?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E9=80=81=E8=BE=BE=E6=97=B6=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E9=85=8D=E9=80=81=E7=8A=B6=E6=80=81,?= =?UTF-8?q?=E5=92=8C=E8=9C=82=E9=B8=9F=E5=BC=82=E5=B8=B8=E5=8F=91=E5=8D=95?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E8=BF=90=E5=8D=95=E7=8A=B6=E6=80=8122?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E9=87=8D=E6=96=B0=E5=8F=91=E5=8D=95=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/delivery/fn/waybill.go | 3 +- business/partner/purchase/mtwm/order.go | 37 ++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/business/partner/delivery/fn/waybill.go b/business/partner/delivery/fn/waybill.go index bcfed0c4c..639a273b5 100644 --- a/business/partner/delivery/fn/waybill.go +++ b/business/partner/delivery/fn/waybill.go @@ -300,7 +300,8 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta order.Status = model.WaybillStatusCanceled order.VendorStatus = utils.Int2Str(fnpsapi.OrderStatusAcceptCacle) case fnpsapi.OrderStatusException: // 5 异常 - order.Status = model.WaybillStatusDeliverFailed // 22 + order.Status = model.WaybillStatusCanceled // 22 + order.VendorStatus = utils.Int2Str(fnpsapi.OrderStatusException) default: globals.SugarLogger.Warnf("onWaybillMsg unknown msg:%v", msg) } diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index 43b68cf67..d886764c8 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -3,6 +3,7 @@ package mtwm import ( "errors" "fmt" + "git.rosy.net.cn/baseapi/platformapi/mtpsapi" "math" "net/url" "regexp" @@ -601,8 +602,42 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam // SelfDeliverDelivered 自配送订单送达 func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) { + if globals.EnableMtwmStoreWrite { - err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderArrived(utils.Str2Int64(order.VendorOrderID)) + api := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "") + db := dao.GetDB() + + err = api.OrderArrived(utils.Str2Int64(order.VendorOrderID)) + if err == nil { + riderInfo := &mtpsapi.RiderInfo{ + OrderId: order.VendorOrderID, + ThirdCarrierOrderId: order.VendorOrderID, + CourierName: "", + CourierPhone: "", + LogisticsProviderCode: "10015", // 商家自建配送 + LogisticsStatus: utils.Str2Int(mtwmapi.WaybillStatusDelivered), + Latitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(order.ConsigneeLat)), // 送达即为客户坐标 + Longitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(order.ConsigneeLng)), + } + waybills, _ := dao.GetWaybills(db, order.VendorOrderID, nil) + if len(waybills) == model.NO { + store, _ := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, order.VendorOrgCode) + riderInfo.CourierName = "老板" + riderInfo.CourierPhone = store.Tel1 + } else { + for _, v := range waybills { + if v.Status >= model.OrderStatusDelivering && v.Status <= model.OrderStatusFinished { + riderInfo.CourierName = v.CourierName + riderInfo.CourierPhone = v.CourierMobile + } + } + } + if riderInfo.CourierName == "" || riderInfo.CourierPhone == "" { + riderInfo.CourierName = "老板" + riderInfo.CourierPhone = "18048531223" + } + err = c.GetOrderRider(order.VendorOrgCode, order.VendorStoreID, utils.Struct2Map(riderInfo, "", true)) + } } return err }