From 652948966b843a87f27585a1b82878f9d492882e Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 9 Jul 2019 18:21:42 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8DOrderManager.OnWaybillSta?= =?UTF-8?q?tusChanged=E4=B8=AD=E5=9C=A8=E6=94=B6=E5=88=B0=E6=8E=A5?= =?UTF-8?q?=E5=8D=95=E6=B6=88=E6=81=AF=E6=97=B6=E7=BC=BA=E5=A4=B1=E8=BF=90?= =?UTF-8?q?=E5=8D=95=E5=A4=84=E7=90=86=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/waybill.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/business/jxcallback/orderman/waybill.go b/business/jxcallback/orderman/waybill.go index 0463fddac..b655f74c7 100644 --- a/business/jxcallback/orderman/waybill.go +++ b/business/jxcallback/orderman/waybill.go @@ -103,13 +103,13 @@ func (w *OrderManager) OnWaybillStatusChanged(bill *model.Waybill) (err error) { existingBill, err2 := w.LoadWaybill(bill.VendorWaybillID, bill.WaybillVendorID) if err2 != nil { if dao.IsNoRowsError(err2) || err2 == ErrCanNotFindWaybill { - if isDuplicated, err = w.onWaybillNew(bill, db); err != nil { - dao.Rollback(db) - return err - } existingBill = bill billCopy := *bill billCopy.Status = model.WaybillStatusNew + if isDuplicated, err = w.onWaybillNew(&billCopy, db); err != nil { + dao.Rollback(db) + return err + } dao.Commit(db) // 进运单调度器OnWaybillStatusChanged之前要确保事务是提交了的,否则会导致死锁 scheduler.CurrentScheduler.OnWaybillStatusChanged(&billCopy, false)