修改重复配送问题
This commit is contained in:
@@ -594,8 +594,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
if (isBillExist || bill.WaybillVendorID != model.VendorIDDada) && !isPending { // todo 达达运单有错序的情况,临时看看
|
if (isBillExist || bill.WaybillVendorID != model.VendorIDDada) && !isPending { // todo 达达运单有错序的情况,临时看看
|
||||||
isBillAlreadyCandidate := s.isBillCandidate(order, bill)
|
isBillAlreadyCandidate := s.isBillCandidate(order, bill)
|
||||||
// todo 购买平台的运单,优先级最高,但这样写也可能带来问题,即在这个时间,因为之前3方已经接单,已经发出了转自送请求(而且可能成功了),所以加个状态判断
|
// todo 购买平台的运单,优先级最高,但这样写也可能带来问题,即在这个时间,因为之前3方已经接单,已经发出了转自送请求(而且可能成功了),所以加个状态判断
|
||||||
if !model.IsOrderHaveWaybill(order) ||
|
if !model.IsOrderHaveWaybill(order) || (model.IsWaybillPlatformOwn(bill) && !model.IsOrderHaveOwnWaybill(order) && (order.DeliveryFlag&model.OrderDeliveryFlagMaskPurcahseDisabled) == 0) {
|
||||||
(model.IsWaybillPlatformOwn(bill) && !model.IsOrderHaveOwnWaybill(order) && (order.DeliveryFlag&model.OrderDeliveryFlagMaskPurcahseDisabled) == 0) {
|
|
||||||
if model.IsOrderHaveWaybill(order) {
|
if model.IsOrderHaveWaybill(order) {
|
||||||
// 进到这里的原因是,在这个时间点,购物平台物流已经抢单(但抢单消息还没有被收到)(比如:818810379000941)
|
// 进到这里的原因是,在这个时间点,购物平台物流已经抢单(但抢单消息还没有被收到)(比如:818810379000941)
|
||||||
globals.SugarLogger.Infof("OnWaybillStatusChanged orderID:%s purchase platform waybill arrvied later, may cause problem", order.VendorOrderID)
|
globals.SugarLogger.Infof("OnWaybillStatusChanged orderID:%s purchase platform waybill arrvied later, may cause problem", order.VendorOrderID)
|
||||||
@@ -629,11 +628,6 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
smsmsg.NotifyPickOrder(order)
|
smsmsg.NotifyPickOrder(order)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 订单在三方配送中,转自送
|
|
||||||
if order.Status >= model.OrderStatusDelivering && order.DeliveryType == model.OrderDeliveryTypeStoreSelf {
|
|
||||||
s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, switch2SelfDeliverRetryCount, switch2SelfDeliverRetryGap)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 订单处于配送状态来的新分配骑手运单
|
// 订单处于配送状态来的新分配骑手运单
|
||||||
if order.Status >= model.OrderStatusDelivering && order.Status < model.OrderStatusEndBegin && bill.Status < model.OrderStatusDelivering {
|
if order.Status >= model.OrderStatusDelivering && order.Status < model.OrderStatusEndBegin && bill.Status < model.OrderStatusDelivering {
|
||||||
if order.DeliveryType == model.OrderDeliveryTypeStoreSelf {
|
if order.DeliveryType == model.OrderDeliveryTypeStoreSelf {
|
||||||
@@ -677,6 +671,10 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
if isBillAlreadyCandidate && !s.isWaybillCourierSame(savedOrderInfo, bill) && !model.IsWaybillPlatformOwn(bill) {
|
if isBillAlreadyCandidate && !s.isWaybillCourierSame(savedOrderInfo, bill) && !model.IsWaybillPlatformOwn(bill) {
|
||||||
s.notify3rdPartyWaybill(order, bill, isBillAlreadyCandidate)
|
s.notify3rdPartyWaybill(order, bill, isBillAlreadyCandidate)
|
||||||
}
|
}
|
||||||
|
// 订单在三方配送中,转自送
|
||||||
|
if order.Status >= model.OrderStatusDelivering && order.DeliveryType == model.OrderDeliveryTypeStoreSelf {
|
||||||
|
s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, switch2SelfDeliverRetryCount, switch2SelfDeliverRetryGap)
|
||||||
|
}
|
||||||
order.Flag &= ^model.OrderFlagMaskFailedGetGoods
|
order.Flag &= ^model.OrderFlagMaskFailedGetGoods
|
||||||
err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order)
|
err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order)
|
||||||
}
|
}
|
||||||
@@ -740,8 +738,10 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
case model.WaybillStatusDelivered:
|
case model.WaybillStatusDelivered:
|
||||||
s.resetTimer(savedOrderInfo, bill, isPending)
|
s.resetTimer(savedOrderInfo, bill, isPending)
|
||||||
s.removeWaybillFromMap(savedOrderInfo, bill.WaybillVendorID)
|
s.removeWaybillFromMap(savedOrderInfo, bill.WaybillVendorID)
|
||||||
|
|
||||||
if order.DeliveryType == model.OrderDeliveryTypeStoreSelf { // 只要门店自送,订单结束都推一下送达!(bug完成的订单还会继续美团外卖送)
|
if order.DeliveryType == model.OrderDeliveryTypeStoreSelf { // 只要门店自送,订单结束都推一下送达!(bug完成的订单还会继续美团外卖送)
|
||||||
s.SelfDeliverDelivered(order, "")
|
s.SelfDeliverDelivered(order, "")
|
||||||
|
s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, switch2SelfDeliverRetryCount, switch2SelfDeliverRetryGap)
|
||||||
}
|
}
|
||||||
if !isPending {
|
if !isPending {
|
||||||
var err2 error
|
var err2 error
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import (
|
|||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"github.com/astaxie/beego/client/orm"
|
"github.com/astaxie/beego/client/orm"
|
||||||
"github.com/astaxie/beego/server/web"
|
"github.com/astaxie/beego/server/web"
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Init() {
|
func Init() {
|
||||||
@@ -30,7 +32,10 @@ func Init() {
|
|||||||
// if !globals.DisableWXAuth1 {
|
// if !globals.DisableWXAuth1 {
|
||||||
// orm.RegisterModel(new(legacymodel.WeiXins))
|
// orm.RegisterModel(new(legacymodel.WeiXins))
|
||||||
// }
|
// }
|
||||||
orm.RegisterModel(new(model.GoodsOrder))
|
// 这个注册的2022年之前的表,包括2022年数据
|
||||||
|
//orm.RegisterModel(new(model.GoodsOrder))
|
||||||
|
// 这个注册的是当前年份下一年的表,实现分表。不包括当前年份。
|
||||||
|
orm.RegisterModelWithSuffix("_"+strconv.Itoa(time.Now().Year()+1), new(model.GoodsOrder))
|
||||||
orm.RegisterModel(new(model.GoodsOrderOriginal))
|
orm.RegisterModel(new(model.GoodsOrderOriginal))
|
||||||
orm.RegisterModel(new(model.TempGoodsOrderMobile))
|
orm.RegisterModel(new(model.TempGoodsOrderMobile))
|
||||||
orm.RegisterModel(new(model.OrderSku))
|
orm.RegisterModel(new(model.OrderSku))
|
||||||
|
|||||||
Reference in New Issue
Block a user