GetOrderWaybillInfo可选参数:isGetPos支持获取运单骑手实时信息

This commit is contained in:
gazebo
2019-12-25 20:14:53 +08:00
parent 9e40e3942a
commit 6022d24634
10 changed files with 82 additions and 10 deletions

View File

@@ -410,3 +410,12 @@ func (c *DeliveryHandler) AddWaybillTip(ctx *jxcontext.Context, vendorOrgCode, v
}
return err
}
func (c *DeliveryHandler) GetRidderPosition(ctx *jxcontext.Context, vendorOrgCode, vendorOrderID, vendorWaybillID, vendorWaybillID2 string) (lng, lat float64, err error) {
order, err := api.DadaAPI.QueryOrderInfo2(vendorOrderID)
if err == nil {
lng = utils.Str2Float64WithDefault(order.TransporterLng, 0)
lat = utils.Str2Float64WithDefault(order.TransporterLat, 0)
}
return lng, lat, err
}

View File

@@ -5,6 +5,7 @@ import (
"time"
_ "git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals/testinit"
@@ -18,15 +19,14 @@ func TestCreateWaybill(t *testing.T) {
orderID := "817540316000041"
if order, err := partner.CurOrderManager.LoadOrder(orderID, model.VendorIDJD); err == nil {
// globals.SugarLogger.Debug(order)
c := new(DeliveryHandler)
_, err = c.CreateWaybill(order, nil)
_, err = CurDeliveryHandler.CreateWaybill(order, 0)
if err == nil {
time.Sleep(1 * time.Second)
bill := &model.Waybill{
VendorOrderID: orderID,
WaybillVendorID: model.VendorIDDada,
}
err = c.CancelWaybill(bill, partner.CancelWaybillReasonOther, "")
err = CurDeliveryHandler.CancelWaybill(bill, partner.CancelWaybillReasonOther, "")
if err != nil {
t.Fatal(err.Error())
}
@@ -37,3 +37,11 @@ func TestCreateWaybill(t *testing.T) {
t.Fatal(err.Error())
}
}
func TestGetRidderPosition(t *testing.T) {
lng, lat, err := CurDeliveryHandler.GetRidderPosition(jxcontext.AdminCtx, "", "80704840263399812", "", "")
if err != nil {
t.Fatal(err)
}
t.Logf("lng:%f, lat:%f", lng, lat)
}

View File

@@ -8,6 +8,7 @@ import (
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
@@ -255,3 +256,12 @@ func (c *DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, reson
err = api.MtpsAPI.EvaluateRider(utils.Str2Int64(bill.VendorWaybillID2), bill.VendorWaybillID, 1, resonContent)
return err
}
func (c *DeliveryHandler) GetRidderPosition(ctx *jxcontext.Context, vendorOrgCode, vendorOrderID, vendorWaybillID, vendorWaybillID2 string) (lng, lat float64, err error) {
intLng, intLat, err := api.MtpsAPI.RiderLocation(utils.Str2Int64(vendorWaybillID2), vendorWaybillID)
if err == nil {
lng = jxutils.IntCoordinate2Standard(intLng)
lat = jxutils.IntCoordinate2Standard(intLat)
}
return lng, lat, err
}

View File

@@ -109,7 +109,7 @@ type IOrderManager interface {
SaveOrderFinancialInfo(order *model.OrderFinancial, operation string) (err error)
SaveAfsOrderFinancialInfo(afsOrder *model.AfsOrder) (err error)
GetOrderWaybillInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int, isNotEnded bool) (bills []*model.Waybill, err error)
GetOrderWaybillInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int, isNotEnded, isGetPos bool) (bills []*model.WaybillExt, err error)
// afs order
OnAfsOrderAdjust(afsOrder *model.AfsOrder, orderStatus *model.OrderStatus) (err error)
@@ -277,3 +277,13 @@ func IsMultiStore(vendorID int) bool {
}
return false
}
func GetRidderPositionGetter(vendorID int) (handler IRidderPositionGetter) {
if handlerInfo := GetDeliveryPlatformFromVendorID(vendorID); handlerInfo != nil {
if handler, _ = handlerInfo.Handler.(IRidderPositionGetter); handler != nil {
return handler
}
}
handler, _ = GetPurchasePlatformFromVendorID(vendorID).(IRidderPositionGetter)
return handler
}

View File

@@ -61,3 +61,7 @@ type IAddWaybillTip interface {
GetWaybillTip(ctx *jxcontext.Context, vendorOrgCode, vendorOrderID, vendorWaybillID, vendorWaybillID2 string) (tipFee int64, err error)
AddWaybillTip(ctx *jxcontext.Context, vendorOrgCode, vendorOrderID, vendorWaybillID, vendorWaybillID2, cityCode string, tipFee2Add int64) (err error)
}
type IRidderPositionGetter interface {
GetRidderPosition(ctx *jxcontext.Context, vendorOrgCode, vendorOrderID, vendorWaybillID, vendorWaybillID2 string) (lng, lat float64, err error)
}