From bb57eacecc2c2bbf676f7674d88fc237e9c1e0c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 23 May 2023 15:04:55 +0800 Subject: [PATCH 1/6] 1 --- business/jxcallback/scheduler/defsch/defsch.go | 5 ----- business/jxcallback/scheduler/defsch/defsch_ext.go | 4 ++-- business/model/order.go | 11 +++++++++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 93a0896d2..2ec3db9b5 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -559,11 +559,6 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo } } } - //if !model.IsWaybillPlatformOwn(bill) { - // if storeDetail, err2 := dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, ""); err2 == nil { - // s.updateBrandAccount(storeDetail, bill) - // } - //} } flag2Clear := model.WaybillVendorID2Mask(bill.WaybillVendorID) if order.DeliveryFlag&flag2Clear != 0 { diff --git a/business/jxcallback/scheduler/defsch/defsch_ext.go b/business/jxcallback/scheduler/defsch/defsch_ext.go index 4f61ed2ed..3fea776c9 100644 --- a/business/jxcallback/scheduler/defsch/defsch_ext.go +++ b/business/jxcallback/scheduler/defsch/defsch_ext.go @@ -99,8 +99,8 @@ func (s *DefScheduler) SelfDeliveringAndUpdateStatus(ctx *jxcontext.Context, ven CourierMobile: courierMobile, Status: model.OrderStatusNew, VendorStatus: utils.Int2Str(model.OrderStatusNew), - ActualFee: 500, - DesiredFee: order.ActualPayPrice, + ActualFee: 0, + DesiredFee: 0, TipFee: 0, DuplicatedCount: 0, DeliveryFlag: 0, diff --git a/business/model/order.go b/business/model/order.go index efa1940f6..5af832db2 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -1,6 +1,8 @@ package model import ( + "fmt" + "git.rosy.net.cn/baseapi/utils" "time" ) @@ -145,8 +147,8 @@ type GoodsOrder struct { OrderFinishedAt time.Time `orm:"type(datetime)" json:"orderFinishedAt"` StatusTime time.Time `orm:"type(datetime)" json:"statusTime"` // last status time PickDeadline time.Time `orm:"type(datetime);null" json:"pickDeadline"` - DeliveryFeeFrom *time.Time `orm:"type(datetime);null" json:"deliveryFeeFrom,omitempty"` // 三方配置费计算的开始基准时间 - ModelTimeInfo `json:"-"` // 1 + DeliveryFeeFrom *time.Time `orm:"type(datetime);null" json:"deliveryFeeFrom,omitempty"` // 三方配置费计算的开始基准时间 + ModelTimeInfo `json:"-"` // 1 Flag int `json:"flag"` // 非运单调整相关的其它状态 InvoiceTitle string `orm:"size(64)" json:"invoiceTitle"` // 发票抬头 InvoiceTaxerID string `orm:"size(32);column(invoice_taxer_id)" json:"invoiceTaxerID"` // 发票纳税人识别码 @@ -324,6 +326,11 @@ func Waybill2Status(bill *Waybill) (retVal *OrderStatus) { StatusTime: bill.StatusTime, Remark: bill.Remark, } + if retVal.Remark == "" { + retVal.Remark = fmt.Sprintf("运费: %s", utils.Float64ToStr(float64(bill.DesiredFee)/float64(100))) + } else { + retVal.Remark += fmt.Sprintf(",运费: %s", utils.Float64ToStr(float64(bill.DesiredFee)/float64(100))) + } return retVal } From dcc5c91f5889a36c258d35707a6af643509745b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 23 May 2023 19:06:47 +0800 Subject: [PATCH 2/6] 1' --- .../scheduler/basesch/basesch_ext.go | 2 +- .../jxcallback/scheduler/defsch/defsch.go | 2 +- .../jxcallback/scheduler/defsch/defsch_ext.go | 29 ++----------------- business/model/order.go | 4 +-- business/partner/delivery/dada/waybill.go | 3 -- business/partner/delivery/fn/waybill.go | 12 ++++++++ 6 files changed, 18 insertions(+), 34 deletions(-) diff --git a/business/jxcallback/scheduler/basesch/basesch_ext.go b/business/jxcallback/scheduler/basesch/basesch_ext.go index 4e3d878ec..24c6775bc 100644 --- a/business/jxcallback/scheduler/basesch/basesch_ext.go +++ b/business/jxcallback/scheduler/basesch/basesch_ext.go @@ -62,7 +62,7 @@ func (c *BaseScheduler) CreateWaybillOnProviders(ctx *jxcontext.Context, order * } err = nil } else if errList.GetErrListAsOne() == nil { - err = fmt.Errorf("orderID:%s订单发三方配送亏损超过6元/当前订单配送方式不是门店自送/没有绑定有效的三方配送门店", order.VendorOrderID) + err = fmt.Errorf("orderID:%s过订单发三方配送亏损超6元/当前订单配送方式不是门店自送/没有绑定有效的三方配送门店", order.VendorOrderID) } else { err = fmt.Errorf("orderID:%s所有运单失败:%s", order.VendorOrderID, errList.GetErrListAsOne().Error()) } diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 2ec3db9b5..9f9428bf1 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -891,7 +891,7 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf // excludeVendorIDs = append(excludeVendorIDs, model.VendorIDMTPS) // } //TODO 2020-08-18 饿百美团订单暂时不自动发送三方 - if order.VendorID == model.VendorIDMTWM || order.VendorID == model.VendorIDEBAI || order.VendorID == model.VendorIDJD { + if order.VendorID == model.VendorIDMTWM || order.VendorID == model.VendorIDEBAI || order.VendorID == model.VendorIDJD || order.VendorID == model.VendorIDDD { if order.DeliveryType != model.OrderDeliveryTypeStoreSelf { excludeVendorIDs = append(excludeVendorIDs, waybillVendorIDs...) } diff --git a/business/jxcallback/scheduler/defsch/defsch_ext.go b/business/jxcallback/scheduler/defsch/defsch_ext.go index 3fea776c9..4d5dd5433 100644 --- a/business/jxcallback/scheduler/defsch/defsch_ext.go +++ b/business/jxcallback/scheduler/defsch/defsch_ext.go @@ -214,37 +214,14 @@ func (s *DefScheduler) CreateWaybillOnProviders4SavedOrder(ctx *jxcontext.Contex partner.CurStoreAcctManager.InsertStoreAcctExpendAndUpdateStoreAcctBalance(ctx, jxutils.GetSaleStoreIDFromOrder(order), int(newPrice)-lastFee, partner.StoreAcctTypeExpendCreateWaybill2ndMore, order.VendorOrderID, "", expend.ID) //int(newPrice)-lastFee } } - } /*else { // 品牌发单,品牌支出运费 - if storeAcct.AccountBalance > int(newPrice) { - if int(newPrice) > lastFee { - // 品牌支出费用 - partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, storeList.BrandID, int(newPrice), model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery, order.VendorOrderID, order.VendorWaybillID) - } - } - }*/ - + } } else { // 新订单的发单记录,门店发单扣门店,品牌发单扣品牌 if len(courierVendorIDs) == 1 { courierVendorID := courierVendorIDs[0] if _, ok := deliveryFeeMap[courierVendorID]; ok { - //if storeList.BrandID != scheduler.JXC4B_SHOP && storeList.BrandID != scheduler.JXC4B_RAND_JXGY { // 非京西品牌,先扣门店在扣品牌 - //if storeAcct.AccountBalance > int(model.Waybill{}.DesiredFee) { if order.CreateDeliveryType == model.YES { err = partner.CurStoreAcctManager.InsertStoreAcctExpendAndUpdateStoreAcctBalance(ctx, jxutils.GetSaleStoreIDFromOrder(order), int(deliveryFeeMap[courierVendorID].DeliveryFee), partner.StoreAcctTypeExpendCreateWaybillEx, order.VendorOrderID, "", 0) //int(newPrice)-lastFee - globals.SugarLogger.Debugf("InsertStoreAcctExpendAndUpdateStoreAcctBalance 238 err := %v", err) - } /*else { - partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, storeList.BrandID, int(bill.DesiredFee), model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery, bill.VendorOrderID, bill.VendorWaybillID) - }*/ - //} /*else if result > int(model.Waybill{}.DesiredFee) { - // 品牌支出费用 - // partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, storeList.BrandID, int(model.Waybill{}.DesiredFee), model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery, order.VendorOrderID, order.VendorWaybillID) - //}*/ - //} else { // 京西品牌 - // if storeAcct.AccountBalance > int(model.Waybill{}.DesiredFee) { - // // 门店支出费用 - // partner.CurStoreAcctManager.InsertStoreAcctExpendAndUpdateStoreAcctBalance(ctx, jxutils.GetSaleStoreIDFromOrder(order), int(model.Waybill{}.DesiredFee), partner.StoreAcctTypeExpendCreateWaybill2ndMore, order.VendorOrderID, expend.ID) //int(newPrice)-lastFee - // } - //} + } } } else if len(courierVendorIDs) == 0 { var maxFee int64 @@ -254,7 +231,6 @@ func (s *DefScheduler) CreateWaybillOnProviders4SavedOrder(ctx *jxcontext.Contex } } err = partner.CurStoreAcctManager.InsertStoreAcctExpendAndUpdateStoreAcctBalance(ctx, jxutils.GetSaleStoreIDFromOrder(order), int(maxFee), partner.StoreAcctTypeExpendCreateWaybillEx, order.VendorOrderID, "", 0) //int(maxFee) - globals.SugarLogger.Debugf("InsertStoreAcctExpendAndUpdateStoreAcctBalance 260 err := %v", err) } } } else { @@ -273,7 +249,6 @@ func (s *DefScheduler) CreateWaybillOnProviders4SavedOrder(ctx *jxcontext.Contex } } err = partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, storeList.BrandID, int(maxFee), model.BrandBillTypeExpend, model.BrandBillFeeTypeDelivery, order.VendorOrderID, order.VendorWaybillID) - globals.SugarLogger.Debugf("InsertStoreAcctExpendAndUpdateStoreAcctBalance 260 err := %v", err) } } diff --git a/business/model/order.go b/business/model/order.go index 5af832db2..caaa0e7ff 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -147,8 +147,8 @@ type GoodsOrder struct { OrderFinishedAt time.Time `orm:"type(datetime)" json:"orderFinishedAt"` StatusTime time.Time `orm:"type(datetime)" json:"statusTime"` // last status time PickDeadline time.Time `orm:"type(datetime);null" json:"pickDeadline"` - DeliveryFeeFrom *time.Time `orm:"type(datetime);null" json:"deliveryFeeFrom,omitempty"` // 三方配置费计算的开始基准时间 - ModelTimeInfo `json:"-"` // 1 + DeliveryFeeFrom *time.Time `orm:"type(datetime);null" json:"deliveryFeeFrom,omitempty"` // 三方配置费计算的开始基准时间 + ModelTimeInfo `json:"-"` // 1 Flag int `json:"flag"` // 非运单调整相关的其它状态 InvoiceTitle string `orm:"size(64)" json:"invoiceTitle"` // 发票抬头 InvoiceTaxerID string `orm:"size(32);column(invoice_taxer_id)" json:"invoiceTaxerID"` // 发票纳税人识别码 diff --git a/business/partner/delivery/dada/waybill.go b/business/partner/delivery/dada/waybill.go index 086b19b66..26c15e428 100644 --- a/business/partner/delivery/dada/waybill.go +++ b/business/partner/delivery/dada/waybill.go @@ -358,7 +358,6 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee } // 重新发送订单 result, err = api.DadaAPI.ReaddOrder(billParams) - globals.SugarLogger.Debugf("重新发送订单多次发单======== := %s", utils.Format4Output(result, false)) if err != nil { return nil, err } @@ -368,7 +367,6 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee if result, err = api.DadaAPI.QueryDeliverFee(billParams); err != nil { return nil, err } - globals.SugarLogger.Debugf("查询达达订单费用(第一次发单)======== := %s", utils.Format4Output(result, false)) // 阀值警报 if err = delivery.CallCreateWaybillPolicy(jxutils.StandardPrice2Int(result.Fee), maxDeliveryFee, order, model.VendorIDDada); err != nil { return nil, err @@ -377,7 +375,6 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee if err = api.DadaAPI.AddOrderAfterQuery(result.DeliveryNo); err != nil { return nil, err } - globals.SugarLogger.Debugf("重新发送订单======== := %s", utils.Format4Output(result, false)) } if result == nil { return nil, errors.New("达达配送,平台调用错误,无订单数据返回") diff --git a/business/partner/delivery/fn/waybill.go b/business/partner/delivery/fn/waybill.go index cfa109344..6ccc9bf1b 100644 --- a/business/partner/delivery/fn/waybill.go +++ b/business/partner/delivery/fn/waybill.go @@ -210,6 +210,17 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta if err := utils.Map2StructByJson(msg.Param, cc, true); err != nil { return fnpsapi.Err2CallbackResponse(err, "") } + // 多次取消,只处理第一次 + if cc.OrderStatus == fnpsapi.OrderStatusAcceptCacle { + bill, err := partner.CurOrderManager.LoadWaybill(utils.Int64ToStr(cc.OrderId), model.VendorIDFengNiao) + if err != nil { + return fnpsapi.Err2CallbackResponse(err, "") + } + if bill.Status == model.OrderStatusCanceled { + return fnpsapi.Err2CallbackResponse(nil, "") + } + } + var good *model.GoodsOrder sql := `SELECT * FROM goods_order WHERE vendor_order_id = ? ORDER BY order_created_at DESC LIMIT 1 OFFSET 0` sqlParams := []interface{}{cc.PartnerOrderCode} @@ -256,6 +267,7 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta order.Status = model.WaybillStatusDelivered case fnpsapi.OrderStatusAcceptCacle: // 4取消订单 order.Status = model.WaybillStatusCanceled + order.VendorStatus = utils.Int2Str(fnpsapi.OrderStatusAcceptCacle) case fnpsapi.OrderStatusException: // 5 异常 order.Status = model.WaybillStatusDeliverFailed // 22 default: From a03520cc8b12a4607a4254122c5609b4a8aa9a5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 24 May 2023 09:59:47 +0800 Subject: [PATCH 3/6] 1 --- business/jxstore/misc/misc.go | 4 ++-- business/partner/delivery/rider.go | 3 +++ business/partner/delivery/rider_test.go | 14 +++++++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index a850c0968..0c2e58235 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -206,13 +206,13 @@ func Init() { // 每分钟轮询一次,推送骑手信息 ScheduleTimerFuncByInterval(func() { delivery.UpdateFakeWayBillToTiktok() - }, 10*time.Second, 5*time.Second) + }, 10*time.Second, 3*time.Minute) // (自动发单拣货,设置骑手) ScheduleTimerFuncByInterval(func() { auto_delivery.Init() // 初始化骑手列表 auto_delivery.AutoSettingFakeDelivery() - }, 10*time.Second, 3*time.Minute) + }, 10*time.Second, 5*time.Minute) // 定时任务更新负责人信息 ScheduleTimerFunc("RefreshStoreOperator", func() { diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index d71d86b9b..96124c22c 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -122,6 +122,8 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) { globals.SugarLogger.Debug("Get Order waybill rider info err MT:%v", err) } } + } else { + continue } } @@ -359,6 +361,7 @@ func UpdateFakeWayBillToTiktok() { } for i := 0; i < len(fakeWayBill); i++ { + globals.SugarLogger.Debugf("=======fakeWayBill orderID : %s", fakeWayBill[i].VendorOrderID) // 判断当前订单是否可以推送,UpdatedAt > 当前时间 就跳过 if fakeWayBill[i].StatusTime.After(time.Now()) { continue diff --git a/business/partner/delivery/rider_test.go b/business/partner/delivery/rider_test.go index 9a80b1e55..5464e192c 100644 --- a/business/partner/delivery/rider_test.go +++ b/business/partner/delivery/rider_test.go @@ -1,7 +1,19 @@ package delivery -import "testing" +import ( + "fmt" + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/jxutils" + "testing" +) func TestRider(t *testing.T) { GetOrderRiderInfoToPlatform("144228632526740576", 0) } + +func TestCcc(t *testing.T) { + aa := utils.Float64ToStr(jxutils.IntCoordinate2Standard(103989607)) + bb := utils.Float64ToStr(jxutils.IntCoordinate2Standard(30560797)) + fmt.Println(aa) + fmt.Println(bb) +} From 59ee9c9f0f6a00cbdd9b76521346cb5b77b656c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 24 May 2023 10:45:07 +0800 Subject: [PATCH 4/6] 1 --- business/partner/delivery/rider.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index 96124c22c..390b407c9 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -297,6 +297,8 @@ func makeRiderInfo(fakeWayBill *model.Waybill, riderInfo *mtpsapi.RiderInfo) { riderInfo.CourierName = "" riderInfo.CourierPhone = "" riderInfo.OpCode = tiktok_api.TiktokLogisticsStatusCALLRIDER + riderInfo.Latitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lat)) + riderInfo.Longitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lng)) // 下一状态以及推送时间 fakeWayBill.Status = model.WaybillStatusCourierAssigned From aeff69d120bcd115795a85312cb302f6a5741a40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 24 May 2023 11:07:28 +0800 Subject: [PATCH 5/6] 1 --- business/jxstore/misc/misc.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index 0c2e58235..a850c0968 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -206,13 +206,13 @@ func Init() { // 每分钟轮询一次,推送骑手信息 ScheduleTimerFuncByInterval(func() { delivery.UpdateFakeWayBillToTiktok() - }, 10*time.Second, 3*time.Minute) + }, 10*time.Second, 5*time.Second) // (自动发单拣货,设置骑手) ScheduleTimerFuncByInterval(func() { auto_delivery.Init() // 初始化骑手列表 auto_delivery.AutoSettingFakeDelivery() - }, 10*time.Second, 5*time.Minute) + }, 10*time.Second, 3*time.Minute) // 定时任务更新负责人信息 ScheduleTimerFunc("RefreshStoreOperator", func() { From be2e7d24a7861f75e4113aaa44dc32e6b194291a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 24 May 2023 14:52:40 +0800 Subject: [PATCH 6/6] 1 --- business/partner/delivery/rider.go | 39 ++++++++++++++++++++++++++- controllers/jx_order.go | 17 ++++++++++++ routers/commentsRouter_controllers.go | 9 +++++++ 3 files changed, 64 insertions(+), 1 deletion(-) diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index 390b407c9..222e64471 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -363,7 +363,6 @@ func UpdateFakeWayBillToTiktok() { } for i := 0; i < len(fakeWayBill); i++ { - globals.SugarLogger.Debugf("=======fakeWayBill orderID : %s", fakeWayBill[i].VendorOrderID) // 判断当前订单是否可以推送,UpdatedAt > 当前时间 就跳过 if fakeWayBill[i].StatusTime.After(time.Now()) { continue @@ -509,3 +508,41 @@ func LoadingStoreOrderSettleAmount(startTime, endTime int64, jxStoreId []int) er } return nil } + +func GetVendorRiderInfo(wayBillVendorId, vendorId int, vendorOrderId, vendorWaybillId string) (riderInfo *mtpsapi.RiderInfo, err error) { + riderInfo = &mtpsapi.RiderInfo{} + if handlerInfo := partner.GetDeliveryPlatformFromVendorID(wayBillVendorId); handlerInfo != nil { + if wayBillVendorId == model.VendorIDDada || wayBillVendorId == model.VendorIDFengNiao || wayBillVendorId == model.VendorIDUUPT { + riderInfo, err = handlerInfo.Handler.GetRiderInfo(vendorOrderId, 0, vendorWaybillId) + if err != nil { + return nil, err + } + } else if wayBillVendorId == model.VendorIDMTPS { + riderInfo, err = handlerInfo.Handler.GetRiderInfo(vendorOrderId, time.Now().Unix()+1000000, vendorWaybillId) + if err != nil { + return nil, err + } + } + } + + if riderInfo.Longitude == "" || riderInfo.Latitude == "" { + order, err := partner.CurOrderManager.LoadOrder(vendorOrderId, vendorId) + if err != nil { + return nil, err + } + if order.Status >= model.OrderStatusEndBegin { + riderInfo.Longitude = utils.Float64ToStr(utils.Int2Float64(order.ConsigneeLng) / 1000000) + riderInfo.Latitude = utils.Float64ToStr(utils.Int2Float64(order.ConsigneeLat) / 1000000) + } else { + store, err := dao.GetStoreDetail(dao.GetDB(), order.JxStoreID, order.VendorID, order.VendorOrgCode) + if err != nil { + return nil, err + } + riderInfo.Longitude = utils.Float64ToStr(utils.Int2Float64(store.Lng) / 1000000) + riderInfo.Latitude = utils.Float64ToStr(utils.Int2Float64(store.Lat) / 1000000) + } + + } + + return +} diff --git a/controllers/jx_order.go b/controllers/jx_order.go index c0239ce03..350f9dc36 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -1370,3 +1370,20 @@ func (c *OrderController) UpdateMTOrderSettle() { return nil, "", err }) } + +// @Title 获取三方配送的骑手坐标 +// @Description 获取三方配送的骑手坐标 +// @Param token header string true "认证token" +// @Param orderId formData string true "订单id" +// @Param deliveryId formData string true "运单id" +// @Param waybillVendorId formData int true "运单平台id" +// @Param orderVendorId formData int true "运单平台id" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetRiderLng [post] +func (c *OrderController) GetRiderLng() { + c.callGetRiderLng(func(params *tOrderGetRiderLngParams) (interface{}, string, error) { + rider, err := delivery.GetVendorRiderInfo(params.WaybillVendorId, params.OrderVendorId, params.OrderId, params.DeliveryId) + return rider, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 5063a37a1..6a13fdda2 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1574,6 +1574,15 @@ func init() { MethodParams: param.Make(), Filters: nil, Params: nil}) + // 获取三方运单骑手坐标 + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"], + web.ControllerComments{ + Method: "GetRiderLng", + Router: `/GetRiderLng`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"], web.ControllerComments{