From b32a8205b9d9e85677052f53753e3063013c73c0 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Wed, 29 Nov 2023 17:50:16 +0800 Subject: [PATCH] 1 --- business/partner/delivery/uupt/waybill.go | 26 +++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/business/partner/delivery/uupt/waybill.go b/business/partner/delivery/uupt/waybill.go index 6032dbef6..e15bd8c0c 100644 --- a/business/partner/delivery/uupt/waybill.go +++ b/business/partner/delivery/uupt/waybill.go @@ -286,6 +286,12 @@ func (c *DeliveryHandler) GetRidderPosition(ctx *jxcontext.Context, vendorOrgCod //辅助函数 func getOrderPrice(order *model.GoodsOrder) (orderPrice *uuptapi.GetOrderPriceResp, err error) { + var ( + fromLat float64 + fromLng float64 + toLat float64 + toLng float64 + ) store, err := dao.GetStoreDetail(dao.GetDB(), getReallyStoreID(order.StoreID, order.JxStoreID), 0, "") if err != nil { return nil, err @@ -300,6 +306,18 @@ func getOrderPrice(order *model.GoodsOrder) (orderPrice *uuptapi.GetOrderPriceRe Lng: jxutils.IntCoordinate2Standard(order.ConsigneeLng), }) coords, err = api.BaiDuNaviAPI.BatchCoordinateConvert(coords, baidunavi.CoordSysGCJ02, baidunavi.CoordSysBaiDu) + if err != nil || len(coords) == 0 { + fromLat = jxutils.IntCoordinate2Standard(store.Lng) + fromLng = jxutils.IntCoordinate2Standard(store.Lat) + toLat = jxutils.IntCoordinate2Standard(order.ConsigneeLat) + toLng = jxutils.IntCoordinate2Standard(order.ConsigneeLng) + } else { + fromLat = coords[0].Lat + fromLng = coords[0].Lng + toLat = coords[1].Lat + toLng = coords[1].Lng + } + weight := 4 tempWeight := 0 if order.Weight/1000 >= weight { @@ -316,10 +334,10 @@ func getOrderPrice(order *model.GoodsOrder) (orderPrice *uuptapi.GetOrderPriceRe "to_address": order.ConsigneeAddress, "city_name": store.CityName, "send_type": uuptapi.SendTypeHelpMeDeliver, - "from_lat": coords[0].Lat, - "from_lng": coords[0].Lng, - "to_lat": coords[1].Lat, - "to_lng": coords[1].Lng, + "from_lat": fromLat, + "from_lng": fromLng, + "to_lat": toLat, + "to_lng": toLng, "goods_weight": tempWeight, }