1
This commit is contained in:
@@ -99,7 +99,9 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
|
|||||||
err := dadaapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), utils.Int2Str(order.Status))
|
err := dadaapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), utils.Int2Str(order.Status))
|
||||||
defer func(order *model.Waybill) {
|
defer func(order *model.Waybill) {
|
||||||
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
|
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
|
||||||
delivery.PullTiktokRiderInfo(&mtpsapi.RiderInfo{
|
}(order)
|
||||||
|
if order.OrderVendorID == model.VendorIDDD {
|
||||||
|
result := &mtpsapi.RiderInfo{
|
||||||
OrderId: order.VendorOrderID,
|
OrderId: order.VendorOrderID,
|
||||||
ThirdCarrierOrderId: order.VendorOrderID,
|
ThirdCarrierOrderId: order.VendorOrderID,
|
||||||
CourierName: order.CourierName,
|
CourierName: order.CourierName,
|
||||||
@@ -107,8 +109,44 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
|
|||||||
LogisticsProviderCode: "10002",
|
LogisticsProviderCode: "10002",
|
||||||
LogisticsStatus: order.Status,
|
LogisticsStatus: order.Status,
|
||||||
OpCode: "",
|
OpCode: "",
|
||||||
})
|
}
|
||||||
}(order)
|
switch order.Status {
|
||||||
|
case dadaapi.OrderStatusWaitingForAccept: // 待接单,召唤骑手
|
||||||
|
result.LogisticsStatus = model.WaybillStatusNew
|
||||||
|
result.LogisticsContext = model.RiderWaitRider
|
||||||
|
case dadaapi.OrderStatusAccepted: // 待取货
|
||||||
|
result.LogisticsStatus = model.WaybillStatusCourierAssigned // 分配骑手
|
||||||
|
result.LogisticsContext = model.RiderWaitGetGoods
|
||||||
|
case dadaapi.OrderStatusDelivering: // 配送中
|
||||||
|
result.LogisticsStatus = model.WaybillStatusDelivering
|
||||||
|
result.LogisticsContext = model.RiderGetOrderDelivering
|
||||||
|
case dadaapi.OrderStatusFinished: // 完成
|
||||||
|
result.LogisticsStatus = model.WaybillStatusDelivered
|
||||||
|
result.LogisticsContext = model.RiderGetOrderDelivered
|
||||||
|
case dadaapi.OrderStatusCanceled: // 取消
|
||||||
|
result.LogisticsStatus = model.WaybillStatusCanceled
|
||||||
|
result.LogisticsContext = model.RiderGetOrderCanceled
|
||||||
|
case 8: // 指派单,不处理
|
||||||
|
result.LogisticsStatus = 0
|
||||||
|
result.LogisticsContext = model.RiderGetOrderDeliverOther
|
||||||
|
case 9: // 配送异常返回值
|
||||||
|
result.LogisticsStatus = model.WaybillStatusDeliverFailed
|
||||||
|
result.LogisticsContext = model.RiderGetOrderDeliverFailed
|
||||||
|
case 10: // 妥投异常之物品返回完成 - 不处理
|
||||||
|
result.LogisticsStatus = 0
|
||||||
|
result.LogisticsContext = model.RiderGetOrderDeliverOther
|
||||||
|
case dadaapi.OrderStatusReturningInOrder: // 骑手到店
|
||||||
|
result.LogisticsStatus = model.WaybillStatusCourierArrived
|
||||||
|
result.LogisticsContext = model.RiderToStore
|
||||||
|
case dadaapi.OrderStatusAddOrderFailed: // 创建达达运单失败 - 不处理
|
||||||
|
result.LogisticsStatus = model.WaybillStatusFailed
|
||||||
|
result.LogisticsContext = model.RiderGetOrderDeliverOther
|
||||||
|
default:
|
||||||
|
result.LogisticsStatus = 0
|
||||||
|
result.LogisticsContext = model.RiderGetOrderDeliverOther
|
||||||
|
}
|
||||||
|
delivery.PullTiktokRiderInfo(result)
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -86,17 +86,6 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
|
|||||||
riderInfo.CourierName = "石锋"
|
riderInfo.CourierName = "石锋"
|
||||||
riderInfo.CourierPhone = "18048531223"
|
riderInfo.CourierPhone = "18048531223"
|
||||||
riderInfo.LogisticsProviderCode = "10017"
|
riderInfo.LogisticsProviderCode = "10017"
|
||||||
if wayBillStatus == model.WaybillStatusNew {
|
|
||||||
riderInfo.LogisticsStatus = model.WaybillStatusNew
|
|
||||||
riderInfo.LogisticsContext = "呼叫骑手,新建运单"
|
|
||||||
} else if wayBillStatus == model.WaybillStatusCanceled {
|
|
||||||
riderInfo.LogisticsStatus = model.WaybillStatusCanceled
|
|
||||||
riderInfo.LogisticsContext = "取消骑手"
|
|
||||||
} else {
|
|
||||||
riderInfo.LogisticsStatus = model.WaybillStatusDeliverFailed
|
|
||||||
riderInfo.LogisticsContext = "配送异常,等待恢复"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
riderInfo.ThirdCarrierOrderId = v.VendorWaybillID
|
riderInfo.ThirdCarrierOrderId = v.VendorWaybillID
|
||||||
@@ -131,14 +120,6 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if v.VendorID == model.VendorIDDD && (riderInfo.LogisticsStatus == 100 || riderInfo.LogisticsStatus == 0 || riderInfo.LogisticsStatus == 20) {
|
|
||||||
riderInfo.CourierName = ""
|
|
||||||
riderInfo.CourierPhone = ""
|
|
||||||
}
|
|
||||||
if riderInfo.LogisticsStatus != 22 && riderInfo.LogisticsStatus != 120 && riderInfo.LogisticsStatus != 0 {
|
|
||||||
riderInfo.LogisticsContext += fmt.Sprintf("[%s:%s]", riderInfo.CourierName, riderInfo.CourierPhone)
|
|
||||||
}
|
|
||||||
|
|
||||||
if riderInfo.Longitude == "" {
|
if riderInfo.Longitude == "" {
|
||||||
riderInfo.Longitude = utils.Float64ToStr(utils.Int2Float64(v.ConsigneeLng) / 1000000)
|
riderInfo.Longitude = utils.Float64ToStr(utils.Int2Float64(v.ConsigneeLng) / 1000000)
|
||||||
}
|
}
|
||||||
@@ -162,15 +143,6 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
|
|||||||
case model.VendorIDJDShop: // 京东商城
|
case model.VendorIDJDShop: // 京东商城
|
||||||
case model.VendorIDWSC: // 微盟微商城
|
case model.VendorIDWSC: // 微盟微商城
|
||||||
case model.VendorIDDD: // 抖店小时达
|
case model.VendorIDDD: // 抖店小时达
|
||||||
// 呼叫骑手的时候推送发货
|
|
||||||
// 抖店由于发配送时运单id已经固定了,我们系统在重新发货,或者运单号发生改变时去推送信息时.抖店只识别第一个运单号所以在这儿修改成发单时的第一个运单号!
|
|
||||||
riderInfo.ThirdCarrierOrderId = riderInfo.OrderId
|
|
||||||
paramsMap := utils.Struct2Map(riderInfo, "", true)
|
|
||||||
if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID); handler != nil {
|
|
||||||
if err := handler.GetOrderRider(v.VendorOrgCode, v.VendorStoreID, paramsMap); err != nil {
|
|
||||||
globals.SugarLogger.Errorf("Error pushing tiktok rider information :%s--%s--%v", riderInfo.OrderId, riderInfo.ThirdCarrierOrderId, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
globals.SugarLogger.Errorf("Order source error, non system order")
|
globals.SugarLogger.Errorf("Order source error, non system order")
|
||||||
return
|
return
|
||||||
@@ -179,10 +151,50 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func PullTiktokRiderInfo(param *mtpsapi.RiderInfo) {
|
func PullTiktokRiderInfo(riderInfo *mtpsapi.RiderInfo) {
|
||||||
|
switch riderInfo.LogisticsStatus {
|
||||||
|
case 5: // 呼叫骑手
|
||||||
|
riderInfo.LogisticsStatus = 0
|
||||||
|
riderInfo.OpCode = tiktok_api.TiktokLogisticsStatusCALLRIDER
|
||||||
|
case 12: // 骑手接单
|
||||||
|
riderInfo.LogisticsStatus = 12
|
||||||
|
riderInfo.OpCode = tiktok_api.TiktokLogisticsORDERRECEIVED
|
||||||
|
case 15: // 到店
|
||||||
|
riderInfo.LogisticsStatus = 15
|
||||||
|
riderInfo.OpCode = tiktok_api.TiktokLogisticsRIDERARRIVED
|
||||||
|
case 20: //配送中
|
||||||
|
riderInfo.LogisticsStatus = 20
|
||||||
|
riderInfo.OpCode = tiktok_api.TiktokLogisticsRIDERPICKUP
|
||||||
|
case 110: // 完成
|
||||||
|
riderInfo.LogisticsStatus = 40
|
||||||
|
riderInfo.OpCode = tiktok_api.TiktokLogisticsDELIVERED
|
||||||
|
case 105: // 完成
|
||||||
|
riderInfo.LogisticsStatus = 40
|
||||||
|
riderInfo.OpCode = tiktok_api.TiktokLogisticsDELIVERED
|
||||||
|
case 115: // 取消
|
||||||
|
riderInfo.CourierName = ""
|
||||||
|
riderInfo.CourierPhone = ""
|
||||||
|
riderInfo.LogisticsStatus = 100
|
||||||
|
riderInfo.OpCode = tiktok_api.TiktokLogisticsCANCELDELIVERY
|
||||||
|
case 22, 0, 120: // 异常配送
|
||||||
|
riderInfo.LogisticsStatus = 22
|
||||||
|
riderInfo.OpCode = tiktok_api.TiktokLogisticsINDDELIVERYEXCEPTION
|
||||||
|
}
|
||||||
|
|
||||||
|
if riderInfo.CourierPhone == "" {
|
||||||
|
riderInfo.CourierPhone = "18981810000"
|
||||||
|
}
|
||||||
|
if riderInfo.CourierName == "" {
|
||||||
|
riderInfo.CourierName = "暂无"
|
||||||
|
}
|
||||||
|
|
||||||
|
if riderInfo.LogisticsStatus != 22 && riderInfo.LogisticsStatus != 120 && riderInfo.LogisticsStatus != 0 {
|
||||||
|
riderInfo.LogisticsContext += fmt.Sprintf("[%s:%s]", riderInfo.CourierName, riderInfo.CourierPhone)
|
||||||
|
}
|
||||||
|
|
||||||
// 呼叫骑手的时候推送发货
|
// 呼叫骑手的时候推送发货
|
||||||
// 抖店由于发配送时运单id已经固定了,我们系统在重新发货,或者运单号发生改变时去推送信息时.抖店只识别第一个运单号所以在这儿修改成发单时的第一个运单号!
|
// 抖店由于发配送时运单id已经固定了,我们系统在重新发货,或者运单号发生改变时去推送信息时.抖店只识别第一个运单号所以在这儿修改成发单时的第一个运单号!
|
||||||
paramsMap := utils.Struct2Map(param, "", true)
|
paramsMap := utils.Struct2Map(riderInfo, "", true)
|
||||||
if handler := partner.GetPurchaseOrderHandlerFromVendorID(model.VendorIDDD); handler != nil {
|
if handler := partner.GetPurchaseOrderHandlerFromVendorID(model.VendorIDDD); handler != nil {
|
||||||
if err := handler.GetOrderRider("", "", paramsMap); err != nil {
|
if err := handler.GetOrderRider("", "", paramsMap); err != nil {
|
||||||
globals.SugarLogger.Errorf("PullTiktokRiderInfo Err %s", err.Error())
|
globals.SugarLogger.Errorf("PullTiktokRiderInfo Err %s", err.Error())
|
||||||
|
|||||||
Reference in New Issue
Block a user