This commit is contained in:
邹宗楠
2023-11-28 18:26:57 +08:00
parent 56d14778f8
commit 88684cd942
5 changed files with 32 additions and 17 deletions

View File

@@ -83,10 +83,10 @@ func (c *DeliveryHandler) OnWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaapi.CallbackResponse) { func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaapi.CallbackResponse) {
order, goodsOrder := c.callbackMsg2Waybill(msg) order, goodsOrder := c.callbackMsg2Waybill(msg)
store, _ := dao.GetStoreDetail(dao.GetDB(), goodsOrder.JxStoreID, goodsOrder.VendorID, goodsOrder.VendorOrgCode) store, _ := dao.GetStoreDetail(dao.GetDB(), goodsOrder.JxStoreID, goodsOrder.VendorID, goodsOrder.VendorOrgCode)
switch msg.OrderStatus { switch msg.OrderStatus {
case dadaapi.OrderStatusWaitingForAccept: case dadaapi.OrderStatusWaitingForAccept:
dadaOrder, err := api.DadaAPI.QueryOrderInfo(msg.OrderID) if dadaOrder, err2 := api.DadaAPI.QueryOrderInfo(msg.OrderID); err2 == nil {
if err == nil {
order.ActualFee = jxutils.StandardPrice2Int(dadaOrder.ActualFee) order.ActualFee = jxutils.StandardPrice2Int(dadaOrder.ActualFee)
order.DesiredFee = jxutils.StandardPrice2Int(dadaOrder.DeliveryFee) + int64(store.FreightMarkup) order.DesiredFee = jxutils.StandardPrice2Int(dadaOrder.DeliveryFee) + int64(store.FreightMarkup)
} }
@@ -94,7 +94,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
case dadaapi.OrderStatusAccepted: case dadaapi.OrderStatusAccepted:
order.Status = model.WaybillStatusCourierAssigned order.Status = model.WaybillStatusCourierAssigned
order.Remark = order.CourierName + "" + order.CourierMobile order.Remark = order.CourierName + "" + order.CourierMobile
if dadaOrder, err := api.DadaAPI.QueryOrderInfo(msg.OrderID); err == nil { if dadaOrder, err2 := api.DadaAPI.QueryOrderInfo(msg.OrderID); err2 == nil {
order.ActualFee = jxutils.StandardPrice2Int(dadaOrder.ActualFee) order.ActualFee = jxutils.StandardPrice2Int(dadaOrder.ActualFee)
order.DesiredFee = jxutils.StandardPrice2Int(dadaOrder.DeliveryFee) + int64(store.FreightMarkup) order.DesiredFee = jxutils.StandardPrice2Int(dadaOrder.DeliveryFee) + int64(store.FreightMarkup)
} }
@@ -116,7 +116,8 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
switch order.OrderVendorID { switch order.OrderVendorID {
case model.VendorIDDD: case model.VendorIDDD:
tiktokStatusPush(order, msg.OrderStatus) Lng, Lat, _ := partner.GetRidderPositionGetter(order.WaybillVendorID).GetRidderPosition(nil, order.VendorOrderID, order.VendorOrderID, order.VendorWaybillID, order.VendorWaybillID2)
tiktokStatusPush(order, msg.OrderStatus, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
case model.VendorIDMTWM, model.VendorIDTaoVegetable: case model.VendorIDMTWM, model.VendorIDTaoVegetable:
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
if goodsOrder.VendorID == model.VendorIDTaoVegetable && msg.OrderStatus == dadaapi.OrderStatusAccepted { if goodsOrder.VendorID == model.VendorIDTaoVegetable && msg.OrderStatus == dadaapi.OrderStatusAccepted {
@@ -128,15 +129,17 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
} }
// 抖音订单状态回传 // 抖音订单状态回传
func tiktokStatusPush(order *model.Waybill, status int) { func tiktokStatusPush(order *model.Waybill, status int, lng, lat string) {
result := &utils.RiderInfo{ result := &utils.RiderInfo{
OrderId: order.VendorOrderID, OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID, ThirdCarrierOrderId: order.VendorWaybillID,
CourierName: order.CourierName, CourierName: order.CourierName,
CourierPhone: order.CourierMobile, CourierPhone: order.CourierMobile,
LogisticsStatus: order.Status, LogisticsStatus: order.Status,
OpCode: "", OpCode: "",
LogisticsProviderCode: utils.DaDaCode, LogisticsProviderCode: utils.DaDaCode,
Longitude: lng,
Latitude: lat,
} }
switch status { switch status {

View File

@@ -310,7 +310,8 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta
switch order.OrderVendorID { switch order.OrderVendorID {
case model.VendorIDDD: case model.VendorIDDD:
tiktokStatusPush(order, orderStatus) Lng, Lat, _ := partner.GetRidderPositionGetter(order.WaybillVendorID).GetRidderPosition(nil, order.VendorOrderID, order.VendorOrderID, order.VendorWaybillID, order.VendorWaybillID2)
tiktokStatusPush(order, orderStatus, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
case model.VendorIDMTWM, model.VendorIDTaoVegetable: case model.VendorIDMTWM, model.VendorIDTaoVegetable:
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
if good.VendorID == model.VendorIDTaoVegetable && cc.OrderStatus == fnpsapi.OrderStatusAssigned { if good.VendorID == model.VendorIDTaoVegetable && cc.OrderStatus == fnpsapi.OrderStatusAssigned {
@@ -321,15 +322,17 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta
} }
// 抖音订单状态回传 // 抖音订单状态回传
func tiktokStatusPush(order *model.Waybill, orderStatus int64) { func tiktokStatusPush(order *model.Waybill, orderStatus int64, lng, lat string) {
result := &utils.RiderInfo{ result := &utils.RiderInfo{
OrderId: order.VendorOrderID, OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID, ThirdCarrierOrderId: order.VendorWaybillID,
CourierName: order.CourierName, CourierName: order.CourierName,
CourierPhone: order.CourierMobile, CourierPhone: order.CourierMobile,
LogisticsStatus: order.Status, LogisticsStatus: order.Status,
OpCode: "", OpCode: "",
LogisticsProviderCode: utils.FnPsCode, LogisticsProviderCode: utils.FnPsCode,
Longitude: lng,
Latitude: lat,
} }
switch orderStatus { switch orderStatus {

View File

@@ -141,7 +141,8 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m
err := mtpsapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), order.VendorStatus) err := mtpsapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), order.VendorStatus)
switch order.OrderVendorID { switch order.OrderVendorID {
case model.VendorIDDD: case model.VendorIDDD:
pushMTPSToTiktok(msg.Status, order) Lng, Lat, _ := partner.GetRidderPositionGetter(order.WaybillVendorID).GetRidderPosition(nil, order.VendorOrderID, order.VendorOrderID, order.VendorWaybillID, order.VendorWaybillID2)
pushMTPSToTiktok(msg.Status, order, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
case model.VendorIDMTWM, model.VendorIDTaoVegetable: case model.VendorIDMTWM, model.VendorIDTaoVegetable:
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
if goodsOrder.VendorID == model.VendorIDTaoVegetable && msg.Status == mtpsapi.OrderStatusAccepted { if goodsOrder.VendorID == model.VendorIDTaoVegetable && msg.Status == mtpsapi.OrderStatusAccepted {
@@ -152,7 +153,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m
return err return err
} }
func pushMTPSToTiktok(msgStatus int, order *model.Waybill) { func pushMTPSToTiktok(msgStatus int, order *model.Waybill, lng, lat string) {
result := &utils.RiderInfo{ result := &utils.RiderInfo{
OrderId: order.VendorOrderID, OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID, ThirdCarrierOrderId: order.VendorOrderID,
@@ -161,6 +162,8 @@ func pushMTPSToTiktok(msgStatus int, order *model.Waybill) {
LogisticsProviderCode: utils.MTPsCode, LogisticsProviderCode: utils.MTPsCode,
LogisticsStatus: order.Status, LogisticsStatus: order.Status,
OpCode: "", OpCode: "",
Longitude: lng,
Latitude: lat,
} }
switch msgStatus { switch msgStatus {

View File

@@ -440,7 +440,8 @@ func OnWaybillMsg(urlIndex string, msg interface{}) (resp *sfps2.CallbackRespons
switch order.OrderVendorID { switch order.OrderVendorID {
case model.VendorIDDD: case model.VendorIDDD:
tiktokStatusPush(order, orderStatus) Lng, Lat, _ := partner.GetRidderPositionGetter(order.WaybillVendorID).GetRidderPosition(nil, order.VendorOrderID, order.VendorOrderID, order.VendorWaybillID, order.VendorWaybillID2)
tiktokStatusPush(order, orderStatus, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
case model.VendorIDTaoVegetable, model.VendorIDMTWM: case model.VendorIDTaoVegetable, model.VendorIDMTWM:
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
if good.VendorID == model.VendorIDTaoVegetable && orderStatus == sfps2.OrderStatusTakeOrder { if good.VendorID == model.VendorIDTaoVegetable && orderStatus == sfps2.OrderStatusTakeOrder {
@@ -450,15 +451,17 @@ func OnWaybillMsg(urlIndex string, msg interface{}) (resp *sfps2.CallbackRespons
return sfps2.Err2CallbackResponse(nil) return sfps2.Err2CallbackResponse(nil)
} }
func tiktokStatusPush(order *model.Waybill, orderStatus int64) { func tiktokStatusPush(order *model.Waybill, orderStatus int64, lng, lat string) {
result := &utils.RiderInfo{ result := &utils.RiderInfo{
OrderId: order.VendorOrderID, OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID, ThirdCarrierOrderId: order.VendorOrderID,
CourierName: order.CourierName, CourierName: order.CourierName,
CourierPhone: order.CourierMobile, CourierPhone: order.CourierMobile,
LogisticsProviderCode: "10002", LogisticsProviderCode: utils.SFPSCode,
LogisticsStatus: order.Status, LogisticsStatus: order.Status,
OpCode: "", OpCode: "",
Latitude: lat,
Longitude: lng,
} }
switch orderStatus { switch orderStatus {
case sfps2.OrderStatusNewOrder: case sfps2.OrderStatusNewOrder:

View File

@@ -396,7 +396,8 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
//推送抖音 //推送抖音
switch param.OrderVendorID { switch param.OrderVendorID {
case model.VendorIDDD: case model.VendorIDDD:
tiktokStatusPush(param, req.State) Lng, Lat, _ := partner.GetRidderPositionGetter(param.WaybillVendorID).GetRidderPosition(nil, param.VendorOrderID, param.VendorOrderID, param.VendorWaybillID, param.VendorWaybillID2)
tiktokStatusPush(param, req.State, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
case model.VendorIDMTWM, model.VendorIDTaoVegetable: case model.VendorIDMTWM, model.VendorIDTaoVegetable:
delivery.GetOrderRiderInfoToPlatform(param.VendorOrderID, param.Status) // 骑手位置更新 delivery.GetOrderRiderInfoToPlatform(param.VendorOrderID, param.Status) // 骑手位置更新
if good.VendorID == model.VendorIDTaoVegetable && req.State == uuptapi.StateRMGrabsOrder { if good.VendorID == model.VendorIDTaoVegetable && req.State == uuptapi.StateRMGrabsOrder {
@@ -406,15 +407,17 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
return uuptapi.Err2CallbackResponse(nil) return uuptapi.Err2CallbackResponse(nil)
} }
func tiktokStatusPush(param *model.Waybill, orderStatus string) { func tiktokStatusPush(param *model.Waybill, orderStatus string, lng, lat string) {
result := &utils.RiderInfo{ result := &utils.RiderInfo{
OrderId: param.VendorOrderID, OrderId: param.VendorOrderID,
ThirdCarrierOrderId: param.VendorOrderID, ThirdCarrierOrderId: param.VendorOrderID,
CourierName: param.CourierName, CourierName: param.CourierName,
CourierPhone: param.CourierMobile, CourierPhone: param.CourierMobile,
LogisticsProviderCode: "10002", LogisticsProviderCode: utils.UUPTCode,
LogisticsStatus: param.Status, LogisticsStatus: param.Status,
OpCode: "", OpCode: "",
Longitude: lng,
Latitude: lat,
} }
switch orderStatus { switch orderStatus {
case uuptapi.StateConfirmSuccess: //下单成功 case uuptapi.StateConfirmSuccess: //下单成功