From 1b9e1a50d65e667c93c809b5d8666e8534bf4ba4 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 26 Jul 2018 17:21:58 +0800 Subject: [PATCH] - fix state machine bug. --- business/scheduler/defsch/defsch.go | 2 +- business/scheduler/scheduler.go | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/business/scheduler/defsch/defsch.go b/business/scheduler/defsch/defsch.go index aa07fa35f..cfb280d46 100644 --- a/business/scheduler/defsch/defsch.go +++ b/business/scheduler/defsch/defsch.go @@ -159,7 +159,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo if order.WaybillVendorID == model.VendorIDUnknown { s.cancelOtherWaybills(savedOrderInfo, bill) s.updateOrderByBill(order, bill, false) - } else { + } else if !(order.WaybillVendorID == bill.WaybillVendorID && order.VendorWaybillID == bill.VendorWaybillID) && bill.WaybillVendorID != order.VendorID { // todo 当前逻辑,加载PENDING的ORDER时,正常状态也可能进这里 s.CancelWaybill(bill) globals.SugarLogger.Warnf("OnWaybillStatusChanged Accepted orderID:%s got multiple bill:%v, order details:%v", order.VendorOrderID, bill, order) diff --git a/business/scheduler/scheduler.go b/business/scheduler/scheduler.go index 7f2884ef0..8dc3af409 100644 --- a/business/scheduler/scheduler.go +++ b/business/scheduler/scheduler.go @@ -189,7 +189,8 @@ func (c *BaseScheduler) SelfDeliverDelievering(order *model.GoodsOrder) (err err func (c *BaseScheduler) SelfDeliverDelievered(order *model.GoodsOrder) (err error) { globals.SugarLogger.Infof("SelfDeliverDelievered orderID:%s", order.VendorOrderID) - if order.Status == model.OrderStatusDelivering { + // todo + if true { //order.Status == model.OrderStatusDelivering { if c.IsReallyCallPlatformAPI { err = utils.CallFuncLogError(func() error { return c.GetPurchasePlatformFromVendorID(order.VendorID).SelfDeliverDelievered(order) @@ -225,6 +226,7 @@ func (c *BaseScheduler) CancelWaybill(bill *model.Waybill) (err error) { err = utils.CallFuncLogError(func() error { return handlerInfo.Handler.CancelWaybill(bill) }, "CancelWaybill bill:%v", bill) + globals.SugarLogger.Debugf("CancelWaybill bill:%v canceled by myself") } } return err