Przeglądaj źródła

修复随手拍发送回访短信用错模板问题

qinchaoyue 2 tygodni temu
rodzic
commit
20d5713a2f

+ 16 - 4
src/Hotline.Application/OrderApp/OrderApplication.cs

@@ -46,6 +46,7 @@ using Hotline.Share.Enums.Settings;
 using Hotline.Share.Mq;
 using Hotline.Share.Requests;
 using Hotline.Share.Tools;
+using Hotline.Snapshot.IRepository;
 using Hotline.Statistics;
 using Hotline.Tools;
 using Hotline.Users;
@@ -71,6 +72,7 @@ namespace Hotline.Application.OrderApp;
 
 public class OrderApplication : IOrderApplication, IScopeDependency
 {
+    private readonly IOrderSnapshotRepository _orderSnapshotRepository;
     private readonly IMediator _mediator;
     private readonly IRepository<TranspondCityRawData> _transpondCityRawDataRepository;
     private readonly ISessionContextProvider _sessionContextProvider;
@@ -181,7 +183,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         IRepository<OrderVisitDetailCopy> orderVisitDetailCopyRepository,
         IRepository<OrderDelayAutomatic> orderDelayAutomaticRepository,
         IRepository<Hotline.Orders.ObservationPiece> observationPieceRepository
-        )
+,
+        IOrderSnapshotRepository orderSnapshotRepository)
     {
         _orderDomainService = orderDomainService;
         _workflowDomainService = workflowDomainService;
@@ -236,6 +239,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         _orderVisitDetailCopyRepository = orderVisitDetailCopyRepository;
         _orderDelayAutomaticRepository = orderDelayAutomaticRepository;
         _observationPieceRepository = observationPieceRepository;
+        _orderSnapshotRepository = orderSnapshotRepository;
     }
 
     /// <summary>
@@ -1764,15 +1768,23 @@ public class OrderApplication : IOrderApplication, IScopeDependency
     {
         var orderVisitList = await _orderVisitRepository.Queryable()
             .Includes(d => d.Order)
-            .Where(d => dto.Ids.Contains(d.Id) && (d.VisitState == EVisitState.WaitForVisit || d.VisitState == EVisitState.NoSatisfiedWaitForVisit ||
-                                                   d.VisitState == EVisitState.SMSUnsatisfied))
+            .Where(d => dto.Ids.Contains(d.Id) && (d.VisitState == EVisitState.WaitForVisit || d.VisitState == EVisitState.NoSatisfiedWaitForVisit || d.VisitState == EVisitState.SMSUnsatisfied))
             .Select(d => new { d.Id, d.Order.SourceChannelCode, d.Order.Contact, d.Order.Password, d.No, d.OrderId, d.Order.Title, d.Order.FromName })
             .ToListAsync(cancellationToken);
 
         foreach (var item in orderVisitList)
         {
             var code = "1013";
-            if (item.SourceChannelCode == "ZGSSP") code = "1012";
+            if (_systemSettingCacheManager.Snapshot && item.SourceChannelCode == "ZGSSP")
+            {
+                await _orderSnapshotRepository.Queryable().Where(m => m.Id == item.OrderId)
+                    .Select(m => m.IndustryName)
+                    .FirstAsync()
+                    .Then(name => 
+                    {
+                        if (name.Trim() == "电气焊作业申报") code = "1012";
+                    });
+            }
             var messageDto = new Share.Dtos.Push.MessageDto
             {
                 PushBusiness = EPushBusiness.VisitSms,