Selaa lähdekoodia

即将超期短信

Dun.Jason 9 kuukautta sitten
vanhempi
commit
13949d3580

+ 1 - 1
src/Hotline.Api/Controllers/AiController.cs

@@ -710,7 +710,7 @@ namespace Hotline.Api.Controllers
                                 {
                                     aiOrderVisitDetail.OrderVisit.NowEvaluate = orgProcessingResults;
                                 }
-                                //处理是否回访完成TODO
+                                //处理是否回访完成
 
 
                                 await _orderVisitRepository.UpdateAsync(aiOrderVisitDetail.OrderVisit, HttpContext.RequestAborted);

+ 6 - 4
src/Hotline.Api/Controllers/OrderController.cs

@@ -41,6 +41,7 @@ using Hotline.Share.Enums.Order;
 using Hotline.Share.Enums.Push;
 using Hotline.Share.Enums.Quality;
 using Hotline.Share.Enums.Settings;
+using Hotline.Share.Mq;
 using Hotline.Share.Requests;
 using Hotline.Tools;
 using Hotline.Users;
@@ -3247,8 +3248,8 @@ public class OrderController : BaseController
                 expiredTimeConfig.NearlyExpiredTime, expiredTimeConfig.NearlyExpiredTimeOne, dto.Opinion,
                 _sessionContext.RequiredUserId, _sessionContext.UserName,
                 canUpdateOrderSender);
-            //TODO 发送短信超期和即将超期
-
+            //发送短信即将超期
+            _capPublisher.PublishDelay(expiredTimeConfig.NearlyExpiredTime - DateTime.Now, EventNames.HotlineOrderNearlyExpiredTimeSms, new PublishNearlyExpiredTimeSmsDto() { OrderId = order.Id });
         }
         else if (dto.FlowDirection is EFlowDirection.CenterToOrg)
         {
@@ -3260,8 +3261,8 @@ public class OrderController : BaseController
                 expiredTimeConfig.NearlyExpiredTime, expiredTimeConfig.NearlyExpiredTimeOne, dto.Opinion,
                 _sessionContext.RequiredUserId, _sessionContext.UserName,
                 canUpdateOrderSender);
-            //TODO 发送短信超期和即将超期
-
+            //发送短信即将超期
+           _capPublisher.PublishDelay(expiredTimeConfig.NearlyExpiredTime - DateTime.Now, EventNames.HotlineOrderNearlyExpiredTimeSms, new PublishNearlyExpiredTimeSmsDto() { OrderId = order.Id });
             //写入质检
             await _qualityApplication.AddQualityAsync(EQualitySource.Send, order.Id, HttpContext.RequestAborted);
         }
@@ -3270,6 +3271,7 @@ public class OrderController : BaseController
             expiredTimeConfig = _timeLimitDomainService.CalcExpiredTime(DateTime.Now, EFlowDirection.CenterToCenter, order.AcceptTypeCode);
             order.CenterToCenter(expiredTimeConfig.TimeText, expiredTimeConfig.Count,
                 expiredTimeConfig.TimeType, expiredTimeConfig.ExpiredTime, expiredTimeConfig.NearlyExpiredTime, expiredTimeConfig.NearlyExpiredTimeOne);
+            _capPublisher.PublishDelay(expiredTimeConfig.NearlyExpiredTime - DateTime.Now, EventNames.HotlineOrderNearlyExpiredTimeSms, new PublishNearlyExpiredTimeSmsDto() { OrderId = order.Id });
         }
 
         _mapper.Map(expiredTimeConfig, order);

+ 2 - 2
src/Hotline.Api/Controllers/TestController.cs

@@ -1143,8 +1143,8 @@ IRepository<Hotspot> hotspotRepository
             //ISessionContext current
             ISessionContext current = new ProvinceSessionContext
             {
-                UserId = startStep.HandlerId,
-                UserName = startStep.HandlerName,
+                //UserId = startStep.HandlerId,
+                //UserName = startStep.HandlerName,
                 OrgId = startStep.HandlerOrgId,
                 OrgName = startStep.HandlerOrgName,
                 OrgAreaCode = startStep.HandlerOrgAreaCode,

+ 1 - 1
src/Hotline.Application/Orders/OrderApplication.cs

@@ -131,7 +131,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         order.TimeLimitUnit = expiredTimeConfig.TimeType;
         order.ExpiredTime = expiredTimeConfig.ExpiredTime;
         order.NearlyExpiredTime = expiredTimeConfig.NearlyExpiredTime;
-        //TODO发送即将超期和超期短信
+        //发送即将超期(延时发送)
         _capPublisher.PublishDelay(expiredTimeConfig.NearlyExpiredTime - DateTime.Now, EventNames.HotlineOrderNearlyExpiredTimeSms,new PublishNearlyExpiredTimeSmsDto() { OrderId= order.Id }) ;
         if (IsProDelay)
         {

+ 5 - 1
src/Hotline.Application/Subscribers/InternalCapSubscriber.cs

@@ -17,12 +17,14 @@ namespace Hotline.Application.Subscribers
         private readonly IOrderRepository _orderRepository;
         private readonly IMediator _mediator;
         private readonly IRepository<User> _userRepository;
+        private readonly ICapPublisher _capPublisher;
 
-        public InternalCapSubscriber(IOrderRepository orderRepository,IMediator mediator,IRepository<User> userRepository)
+        public InternalCapSubscriber(IOrderRepository orderRepository,IMediator mediator,IRepository<User> userRepository,ICapPublisher capPublisher)
         {
             _orderRepository = orderRepository;
             _mediator = mediator;
             _userRepository = userRepository;
+            _capPublisher = capPublisher;
         }
 
         /// <summary>
@@ -88,6 +90,8 @@ namespace Hotline.Application.Subscribers
                         }
                     }
                 }
+                //发送超期短信(延时发送)
+                _capPublisher.PublishDelay(order.ExpiredTime.Value- DateTime.Now, EventNames.HotlineOrderExpiredTimeSms, new PublishNearlyExpiredTimeSmsDto() { OrderId = order.Id });
             }
         }
 

+ 4 - 4
src/Hotline/Authentications/ProvinceSessionContext.cs

@@ -13,19 +13,19 @@ namespace Hotline.Authentications
             OrgLevel = 1;
         }
 
-        //TODO 取消写入
+        //取消写入
         /// <summary>
         /// Id of current tenant or null for host
         /// </summary>
-        public string? UserId { get; set; }
+        public string? UserId { get; }
 
         /// <summary>
         /// Id of current user or throw Exception for guest
         /// </summary>
         /// <exception cref="AuthenticationException"></exception>
         public string RequiredUserId => UserId ?? throw new ArgumentNullException();
-        //TODO 取消写入
-		public string? UserName { get; set; }
+        //取消写入
+		public string? UserName { get; }
         public string? Phone { get; }
 
         /// <summary>

+ 3 - 3
src/Hotline/CallCenter/Calls/CallDomainService.cs

@@ -69,7 +69,7 @@ namespace Hotline.CallCenter.Calls
         {
             //调用设备接口转外线
             await _deviceManager.VisitorToOuterAsync(_options.Value.NewRock, request.VisitorId, request.OuterPhoneNum, cancellationToken);
-            //TODO 写入数据库通话记录
+            //写入数据库通话记录
         }
 
         /// <summary>
@@ -82,7 +82,7 @@ namespace Hotline.CallCenter.Calls
         {
             //调用设备接口转语音菜单
             await _deviceManager.VisitorToMenuAsync(_options.Value.NewRock, request.VisitorId, request.MenuId, cancellationToken);
-            //TODO 写入数据库通话记录
+            //写入数据库通话记录
         }
 
         /// <summary>
@@ -94,7 +94,7 @@ namespace Hotline.CallCenter.Calls
         public async Task VisitorToTelGroupAsync(VisitorToTelGroupRequest request, CancellationToken cancellationToken)
         {
             await _deviceManager.VisitorToGroupAsync(_options.Value.NewRock, request.VisitorId, request.GroupId, cancellationToken);
-            //TODO 写入数据库通话记录
+            //写入数据库通话记录
         }
 
         #endregion