diff --git a/business/jxcallback/scheduler/basesch/basesch.go b/business/jxcallback/scheduler/basesch/basesch.go index 7228e5887..a18f1f1fd 100644 --- a/business/jxcallback/scheduler/basesch/basesch.go +++ b/business/jxcallback/scheduler/basesch/basesch.go @@ -192,7 +192,9 @@ func (c *BaseScheduler) SelfDeliverDelivered(order *model.GoodsOrder, userName s err = utils.CallFuncLogError(func() error { if err = partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivered(order, userName); err != nil { bill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID) - c.CancelWaybill(bill, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive) + if bill.WaybillVendorID != model.VendorJXFakeWL { + c.CancelWaybill(bill, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive) + } } return err }, "SelfDeliverDelivered orderID:%s", order.VendorOrderID) diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index 699ff835e..b1917662f 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -72,6 +72,7 @@ var ( //100-配送单已取消(C端:商家已接单;B端:配送已取消) //注:若同步配送状态为“配送单已取消”,接口仍支持继续同步配送状态。 说明:商家如未上传此信息,则平台默认值为20(现已要求必传)。 func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) { + var db = dao.GetDB() params := make(map[string]interface{}, 0) params["isDateFinish"] = false params["isIncludeFake"] = true @@ -85,7 +86,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) { } // 每五分钟查询当前订单信息,待配送状态订单1 - orders, _, err := dao.GetOrders(dao.GetDB(), nil, false, true, time.Now().Add(-24*time.Hour).Format("2006-01-02"), time.Now().Format("2006-01-02"), false, nil, false, "", params, 0, 10000) + orders, _, err := dao.GetOrders(db, nil, false, true, time.Now().Add(-24*time.Hour).Format("2006-01-02"), time.Now().Format("2006-01-02"), false, nil, false, "", params, 0, 10000) if err != nil { return } @@ -105,7 +106,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) { } if orderId == "" { // 订单id为空是,是定时轮询操作,不做此状态 - waybillList, _ := dao.GetWaybills(dao.GetDB(), v.VendorOrderID, nil) + waybillList, _ := dao.GetWaybills(db, v.VendorOrderID, nil) if len(waybillList) > 0 && waybillList[0].Status > model.WaybillStatusEndBegin { continue } @@ -176,7 +177,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) { continue } - storeDetail, err := dao.GetStoreDetail(dao.GetDB(), v.JxStoreID, 0, "") + storeDetail, err := dao.GetStoreDetail(db, v.JxStoreID, 0, "") if riderInfo.CourierPhone == "" { if err == nil { riderInfo.CourierPhone = storeDetail.Tel1 @@ -231,8 +232,25 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) { case model.VendorIDWSC: // 微盟微商城 continue case model.VendorIDDD: // 抖店小时达 + if riderInfo.ThirdCarrierOrderId == "" { + waybills, _ := dao.GetWaybills(db, v.VendorOrderID, nil) + if len(waybills) == model.NO { + store, _ := dao.GetStoreDetail(db, v.StoreID, v.VendorID, v.VendorOrgCode) + riderInfo.CourierName = "老板" + riderInfo.CourierPhone = store.Tel1 + riderInfo.ThirdCarrierOrderId = v.VendorOrderID + } else { + for _, waybill := range waybills { + if waybill.Status >= model.OrderStatusDelivering && waybill.Status <= model.OrderStatusFinished { + riderInfo.CourierName = waybill.CourierName + riderInfo.CourierPhone = waybill.CourierMobile + riderInfo.ThirdCarrierOrderId = waybill.VendorWaybillID + continue + } + } + } + } riderInfo.LogisticsProviderCode = tiktok_api.JxVendorId2TiktokCode(v.WaybillVendorID) - riderInfo.ThirdCarrierOrderId = v.VendorWaybillID if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID); handler != nil { if err := handler.GetOrderRider(v.VendorOrgCode, v.VendorStoreID, utils.Struct2Map(riderInfo, "", true)); err != nil { globals.SugarLogger.Debugf("Error pushing meituan rider information :%s--%s--%v", v.VendorOrderID, utils.Format4Output(riderInfo, false), err) diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index 916257334..b51befd46 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -629,11 +629,14 @@ func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName store, _ := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, order.VendorOrgCode) riderInfo.CourierName = "老板" riderInfo.CourierPhone = store.Tel1 + riderInfo.ThirdCarrierOrderId = order.VendorOrderID } else { for _, v := range waybills { if v.Status >= model.OrderStatusDelivering && v.Status <= model.OrderStatusFinished { riderInfo.CourierName = v.CourierName riderInfo.CourierPhone = v.CourierMobile + riderInfo.ThirdCarrierOrderId = v.VendorWaybillID + continue } } }