Dun.Jason 1 tháng trước cách đây
mục cha
commit
0751cdd6e2

+ 12 - 9
src/Hotline/Orders/DatabaseEventHandler/OrderVisitDetailEventHandler.cs

@@ -45,12 +45,13 @@ public class OrderVisitDetailEventHandler : IUpdateDatabaseEvent<OrderVisitDetai
         var name = "回填Order回访字段";
         if (visit.VisitTarget == EVisitTarget.Org && visit.OrgProcessingResults != null)
         {
-            if (visit.OrgProcessingResults.Value == "不满意") return;
-
             var orderId = _orderVisitRepository.Queryable()
-                .Where(m => m.Id == visit.VisitId)
-                .Select(m => new { m.OrderId, m.No })
-                .First();
+               .Where(m => m.Id == visit.VisitId)
+               .Select(m => new { m.OrderId, m.No, m.VisitState })
+               .First();
+
+            if (visit.OrgProcessingResults.Value == "不满意" && orderId.VisitState!= EVisitState.Visited) return;
+           
             _orderRepository.Updateable()
                 .SetColumns(m => m.OrgProcessingResults == visit.OrgProcessingResults)
                 .Where(m => m.Id == orderId.OrderId && m.Status == EOrderStatus.Visited)
@@ -60,11 +61,13 @@ public class OrderVisitDetailEventHandler : IUpdateDatabaseEvent<OrderVisitDetai
 
         if (visit.VisitTarget == EVisitTarget.Seat && visit.SeatEvaluate != null)
         {
-            if (visit.SeatEvaluate == ESeatEvaluate.NoSatisfied || visit.SeatEvaluate == ESeatEvaluate.VeryNoSatisfied) return;
             var orderId = _orderVisitRepository.Queryable()
-                .Where(m => m.Id == visit.VisitId)
-                .Select(m => new { m.OrderId, m.No })
-                .First();
+               .Where(m => m.Id == visit.VisitId)
+               .Select(m => new { m.OrderId, m.No,m.VisitState })
+               .First();
+
+            if ((visit.SeatEvaluate == ESeatEvaluate.NoSatisfied || visit.SeatEvaluate == ESeatEvaluate.VeryNoSatisfied) && orderId.VisitState!= EVisitState.Visited) return;
+           
             _orderRepository.Updateable()
                 .SetColumns(m => m.SeatEvaluate == visit.SeatEvaluate)
                 .Where(m => m.Id == orderId.OrderId && m.Status == EOrderStatus.Visited)