diff --git a/business/jxcallback/orderman/order_afs.go b/business/jxcallback/orderman/order_afs.go index c76a047b5..9d2105ebb 100644 --- a/business/jxcallback/orderman/order_afs.go +++ b/business/jxcallback/orderman/order_afs.go @@ -84,16 +84,16 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode } if existAfsOrder != nil { - if afsOrder.Status != existAfsOrder.Status && existAfsOrder.Status >= model.AfsOrderStatusFinished { - return nil + if existAfsOrder.Status < model.AfsOrderStatusFinished { + // todo 可能导致状态回绕 + existAfsOrder.Status = afsOrder.Status + existAfsOrder.VendorStatus = afsOrder.VendorStatus + if _, err = dao.UpdateEntity(db, existAfsOrder, "Status", "VendorStatus", "AfsFinishedAt"); err != nil { + return err + } + afsOrder = existAfsOrder } - // todo 可能导致状态回绕 - existAfsOrder.Status = afsOrder.Status - existAfsOrder.VendorStatus = afsOrder.VendorStatus - if _, err = dao.UpdateEntity(db, existAfsOrder, "Status", "VendorStatus", "AfsFinishedAt"); err != nil { - return err - } - afsOrder = existAfsOrder + } else { // 全退都要先全删除再建 if afsOrder.RefundType == model.AfsTypeFullRefund {