Dun.Jason 1 月之前
父節點
當前提交
0751cdd6e2
共有 1 個文件被更改,包括 12 次插入9 次删除
  1. 12 9
      src/Hotline/Orders/DatabaseEventHandler/OrderVisitDetailEventHandler.cs

+ 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)