修改重复配送问题
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 达达运单有错序的情况,临时看看
|
||||
isBillAlreadyCandidate := s.isBillCandidate(order, bill)
|
||||
// todo 购买平台的运单,优先级最高,但这样写也可能带来问题,即在这个时间,因为之前3方已经接单,已经发出了转自送请求(而且可能成功了),所以加个状态判断
|
||||
if !model.IsOrderHaveWaybill(order) ||
|
||||
(model.IsWaybillPlatformOwn(bill) && !model.IsOrderHaveOwnWaybill(order) && (order.DeliveryFlag&model.OrderDeliveryFlagMaskPurcahseDisabled) == 0) {
|
||||
if !model.IsOrderHaveWaybill(order) || (model.IsWaybillPlatformOwn(bill) && !model.IsOrderHaveOwnWaybill(order) && (order.DeliveryFlag&model.OrderDeliveryFlagMaskPurcahseDisabled) == 0) {
|
||||
if model.IsOrderHaveWaybill(order) {
|
||||
// 进到这里的原因是,在这个时间点,购物平台物流已经抢单(但抢单消息还没有被收到)(比如:818810379000941)
|
||||
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)
|
||||
}
|
||||
|
||||
// 订单在三方配送中,转自送
|
||||
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.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) {
|
||||
s.notify3rdPartyWaybill(order, bill, isBillAlreadyCandidate)
|
||||
}
|
||||
// 订单在三方配送中,转自送
|
||||
if order.Status >= model.OrderStatusDelivering && order.DeliveryType == model.OrderDeliveryTypeStoreSelf {
|
||||
s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, switch2SelfDeliverRetryCount, switch2SelfDeliverRetryGap)
|
||||
}
|
||||
order.Flag &= ^model.OrderFlagMaskFailedGetGoods
|
||||
err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order)
|
||||
}
|
||||
@@ -740,8 +738,10 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
||||
case model.WaybillStatusDelivered:
|
||||
s.resetTimer(savedOrderInfo, bill, isPending)
|
||||
s.removeWaybillFromMap(savedOrderInfo, bill.WaybillVendorID)
|
||||
|
||||
if order.DeliveryType == model.OrderDeliveryTypeStoreSelf { // 只要门店自送,订单结束都推一下送达!(bug完成的订单还会继续美团外卖送)
|
||||
s.SelfDeliverDelivered(order, "")
|
||||
s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, switch2SelfDeliverRetryCount, switch2SelfDeliverRetryGap)
|
||||
}
|
||||
if !isPending {
|
||||
var err2 error
|
||||
|
||||
@@ -7,6 +7,8 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego/client/orm"
|
||||
"github.com/astaxie/beego/server/web"
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
|
||||
func Init() {
|
||||
@@ -30,7 +32,10 @@ func Init() {
|
||||
// if !globals.DisableWXAuth1 {
|
||||
// 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.TempGoodsOrderMobile))
|
||||
orm.RegisterModel(new(model.OrderSku))
|
||||
|
||||
Reference in New Issue
Block a user