This commit is contained in:
邹宗楠
2023-11-08 15:14:39 +08:00
parent 2713997e37
commit a76269a4e9

View File

@@ -39,7 +39,18 @@ func (p *PurchaseHandler) GetWaybillStatusFromVendorStatus(vendorStatus string)
func (c *PurchaseHandler) onWaybillMsg(tag, orderId string, data interface{}) *tiktok_api.CallbackResponse { func (c *PurchaseHandler) onWaybillMsg(tag, orderId string, data interface{}) *tiktok_api.CallbackResponse {
waybill := c.callbackMsg2Waybill(tag, orderId, data) waybill := c.callbackMsg2Waybill(tag, orderId, data)
if localOrder, err := partner.CurOrderManager.LoadOrder(waybill.VendorOrderID, model.VendorIDDD); err == nil { localOrder, _ := partner.CurOrderManager.LoadOrder(waybill.VendorOrderID, model.VendorIDDD)
// 当前订单的运力状态发生变化时抖店侧会对open侧推送消息。当前运力状态变化的原因有两个来源1呼叫平台运力平台运力有变化此时会推送消息2商家自配erp通过回传配送状态触发运力状态变化此时也会推送消息
// 问题当前两种消息来源是没有区分的都是统一发送消息但erp侧针对不同的情况有特殊处理因此需要区分这两种消息
// 当本地记录骑手数据(非抖音平台运单)与当前运单匹配上是,就直接返回
if waybill.CourierName != "" && waybill.CourierMobile != "" {
localWaybill, _ := dao.GetWaybills(dao.GetDB(), localOrder.VendorOrderID, nil)
for _, v := range localWaybill {
if v.CourierName != "" && v.CourierMobile != "" && v.WaybillVendorID != model.VendorIDDD && v.CourierName == waybill.CourierName && v.CourierMobile == waybill.CourierMobile {
return tiktok_api.Err2CallbackResponse(nil, "")
}
}
}
err := partner.CurOrderManager.OnWaybillStatusChanged(waybill) err := partner.CurOrderManager.OnWaybillStatusChanged(waybill)
if err == nil { if err == nil {
status := &model.OrderStatus{ status := &model.OrderStatus{
@@ -68,8 +79,6 @@ func (c *PurchaseHandler) onWaybillMsg(tag, orderId string, data interface{}) *t
} }
} }
return tiktok_api.Err2CallbackResponse(err, "") return tiktok_api.Err2CallbackResponse(err, "")
}
return tiktok_api.Err2CallbackResponse(nil, "")
} }
func (c *PurchaseHandler) callbackMsg2Waybill(tag, orderId string, data interface{}) (retVal *model.Waybill) { func (c *PurchaseHandler) callbackMsg2Waybill(tag, orderId string, data interface{}) (retVal *model.Waybill) {