- 处理运单没有收到新运单消息的情况
This commit is contained in:
@@ -95,6 +95,20 @@ func (w *OrderManager) OnWaybillStatusChanged(bill *model.Waybill) (err error) {
|
|||||||
if bill.Status == model.WaybillStatusNew {
|
if bill.Status == model.WaybillStatusNew {
|
||||||
isDuplicated, err = w.onWaybillNew(bill, db)
|
isDuplicated, err = w.onWaybillNew(bill, db)
|
||||||
} else {
|
} else {
|
||||||
|
if bill.Status == model.WaybillStatusAccepted { // 处理美团配送丢失新运单消息的情况
|
||||||
|
if _, err2 := w.LoadWaybill(bill.VendorWaybillID, bill.WaybillVendorID); err2 != nil {
|
||||||
|
if dao.IsNoRowsError(err2) {
|
||||||
|
if isDuplicated, err = w.onWaybillNew(bill, db); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
billCopy := *bill
|
||||||
|
billCopy.Status = model.WaybillStatusNew
|
||||||
|
scheduler.CurrentScheduler.OnWaybillStatusChanged(&billCopy, false)
|
||||||
|
} else {
|
||||||
|
return err2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
addParams := orm.Params{}
|
addParams := orm.Params{}
|
||||||
if bill.Status >= model.WaybillStatusAccepted && bill.Status < model.WaybillStatusEndBegin {
|
if bill.Status >= model.WaybillStatusAccepted && bill.Status < model.WaybillStatusEndBegin {
|
||||||
if bill.Status == model.WaybillStatusAccepted {
|
if bill.Status == model.WaybillStatusAccepted {
|
||||||
@@ -165,6 +179,7 @@ func (c *OrderManager) LoadWaybill(vendorWaybillID string, waybillVendorID int)
|
|||||||
WaybillVendorID: waybillVendorID,
|
WaybillVendorID: waybillVendorID,
|
||||||
}
|
}
|
||||||
if err = db.Read(bill, "VendorWaybillID", "WaybillVendorID"); err != nil {
|
if err = db.Read(bill, "VendorWaybillID", "WaybillVendorID"); err != nil {
|
||||||
|
bill = nil
|
||||||
if err == orm.ErrNoRows {
|
if err == orm.ErrNoRows {
|
||||||
err = ErrCanNotFindWaybill
|
err = ErrCanNotFindWaybill
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user