From b91163cb18ecfd1fba3891e5a9f78b89cbc3b028 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 27 Nov 2019 21:15:09 +0800 Subject: [PATCH] =?UTF-8?q?addOrderStatus=E4=B8=AD=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=9A=201=EF=BC=8C=E5=8F=AA=E6=9C=89?= =?UTF-8?q?=E7=BB=88=E6=AD=A2=E7=8A=B6=E6=80=81=EF=BC=8C=E6=88=96=E8=A7=A3?= =?UTF-8?q?=E9=94=81=E4=BA=8B=E4=BB=B6=E6=89=8D=E4=BC=9A=E8=A7=A3=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 19a947619..cf2e74274 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -474,20 +474,25 @@ func (c *OrderManager) addOrderStatus(orderStatus *model.OrderStatus, db *dao.Da order.VendorStatus = orderStatus.VendorStatus updateFields := []string{ "VendorStatus", + "UpdatedAt", } if model.IsOrderMainStatus(orderStatus.Status) { order.Status = orderStatus.Status order.StatusTime = orderStatus.StatusTime updateFields = append(updateFields, "Status", "StatusTime") - if order.LockStatus != model.OrderStatusUnknown { - order.LockStatus = model.OrderStatusUnknown - updateFields = append(updateFields, "LockStatus") + if model.IsOrderFinalStatus(orderStatus.Status) { + order.OrderFinishedAt = orderStatus.StatusTime + updateFields = append(updateFields, "OrderFinishedAt") + if order.LockStatus != model.OrderStatusUnknown { + order.LockStatus = model.OrderStatusUnknown + updateFields = append(updateFields, "LockStatus") + } } } else { if model.IsOrderUnlockStatus(orderStatus.Status) { order.LockStatus = model.OrderStatusUnknown updateFields = append(updateFields, "LockStatus") - } else if !model.IsOrderFinalStatus(orderStatus.Status) { + } else if model.IsOrderLockStatus(orderStatus.Status) { if order.LockStatus != model.OrderStatusUnknown { globals.SugarLogger.Warnf("addOrderStatus refOrderID:%s, orderID:%s, order.LockStatus:%d, status.LockStatus:%d", orderStatus.RefVendorOrderID, orderStatus.VendorOrderID, order.LockStatus, orderStatus.Status) } @@ -497,10 +502,6 @@ func (c *OrderManager) addOrderStatus(orderStatus *model.OrderStatus, db *dao.Da updateFields = append(updateFields, "LockStatus", "LockStatusTime", "Flag") } } - if model.IsOrderFinalStatus(orderStatus.Status) { - order.OrderFinishedAt = orderStatus.StatusTime - updateFields = append(updateFields, "OrderFinishedAt") - } utils.CallFuncLogError(func() error { _, err = db.Db.Update(order, updateFields...) return err