1
This commit is contained in:
@@ -121,32 +121,32 @@ func (w *OrderManager) OnWaybillStatusChanged(bill *model.Waybill) (err error) {
|
|||||||
if err2 == nil {
|
if err2 == nil {
|
||||||
bill.DeliveryFlag = existingBill.DeliveryFlag
|
bill.DeliveryFlag = existingBill.DeliveryFlag
|
||||||
}
|
}
|
||||||
//if bill.Status == model.WaybillStatusAccepted { // 处理美团配送丢失新运单消息的情况
|
if bill.Status == model.WaybillStatusAccepted { // 处理美团配送丢失新运单消息的情况
|
||||||
if err2 != nil {
|
if err2 != nil {
|
||||||
if dao.IsNoRowsError(err2) || err2 == ErrCanNotFindWaybill {
|
if dao.IsNoRowsError(err2) || err2 == ErrCanNotFindWaybill {
|
||||||
existingBill = bill
|
existingBill = bill
|
||||||
billCopy := *bill
|
billCopy := *bill
|
||||||
billCopy.Status = model.WaybillStatusNew
|
billCopy.Status = model.WaybillStatusNew
|
||||||
if isDuplicated, err = w.OnWaybillNew(&billCopy, db); err != nil {
|
if isDuplicated, err = w.OnWaybillNew(&billCopy, db); err != nil {
|
||||||
|
dao.Rollback(db, txDB)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
dao.Commit(db, txDB)
|
||||||
|
// 进运单调度器OnWaybillStatusChanged之前要确保事务是提交了的,否则会导致死锁
|
||||||
|
// 加载数据到当前系统调度器当中
|
||||||
|
scheduler.CurrentScheduler.OnWaybillStatusChanged(&billCopy, false)
|
||||||
|
dao.Begin(db)
|
||||||
|
} else {
|
||||||
dao.Rollback(db, txDB)
|
dao.Rollback(db, txDB)
|
||||||
return err
|
return err2
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
// 运单消息错序,之前已经结束了,直接返回
|
||||||
|
if existingBill.Status >= model.WaybillStatusEndBegin {
|
||||||
dao.Commit(db, txDB)
|
dao.Commit(db, txDB)
|
||||||
// 进运单调度器OnWaybillStatusChanged之前要确保事务是提交了的,否则会导致死锁
|
return nil
|
||||||
// 加载数据到当前系统调度器当中
|
|
||||||
scheduler.CurrentScheduler.OnWaybillStatusChanged(&billCopy, false)
|
|
||||||
dao.Begin(db)
|
|
||||||
} else {
|
|
||||||
dao.Rollback(db, txDB)
|
|
||||||
return err2
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 运单消息错序,之前已经结束了,直接返回
|
|
||||||
if existingBill.Status >= model.WaybillStatusEndBegin {
|
|
||||||
dao.Commit(db, txDB)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
//}
|
|
||||||
addParams := orm.Params{}
|
addParams := orm.Params{}
|
||||||
if bill.Status >= model.WaybillStatusAccepted {
|
if bill.Status >= model.WaybillStatusAccepted {
|
||||||
if bill.Status == model.WaybillStatusAccepted {
|
if bill.Status == model.WaybillStatusAccepted {
|
||||||
|
|||||||
Reference in New Issue
Block a user