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

@@ -161,7 +161,7 @@ func (c *OrderManager) GetOrderInfo(ctx *jxcontext.Context, vendorOrderID string
return nil, err
}
func (c *OrderManager) GetOrderWaybillInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int, isNotEnded bool) (bills []*model.Waybill, err error) {
func (c *OrderManager) GetOrderWaybillInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int, isNotEnded, isGetPos bool) (bills []*model.WaybillExt, err error) {
globals.SugarLogger.Debugf("GetOrderWaybillInfo orderID:%s", vendorOrderID)
db := dao.GetDB()
sql := `
@@ -178,7 +178,26 @@ func (c *OrderManager) GetOrderWaybillInfo(ctx *jxcontext.Context, vendorOrderID
sqlParams = append(sqlParams, model.OrderStatusEndBegin)
}
err = dao.GetRows(db, &bills, sql, sqlParams...)
globals.SugarLogger.Infof("GetOrderWaybillInfo orderID:%s failed with error:%v", vendorOrderID, err)
if err == nil && isGetPos {
var taskBills []*model.WaybillExt
for _, v := range bills {
if v.Status >= model.WaybillStatusAccepted && v.Status <= model.WaybillStatusDelivering {
if handler := partner.GetRidderPositionGetter(v.WaybillVendorID); handler != nil {
taskBills = append(taskBills, v)
}
}
}
if len(taskBills) > 0 {
task := tasksch.NewParallelTask("GetOrderWaybillInfo", nil, ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
waybill := batchItemList[0].(*model.WaybillExt)
waybill.Lng, waybill.Lat, err = partner.GetRidderPositionGetter(waybill.WaybillVendorID).GetRidderPosition(ctx, waybill.VendorOrderID, waybill.VendorOrderID, waybill.VendorWaybillID, waybill.VendorWaybillID2)
return nil, err
}, taskBills)
tasksch.HandleTask(task, nil, false).Run()
task.GetResult(0)
}
}
return bills, err
}