tangjiang 8 tháng trước cách đây
mục cha
commit
26c15d5381

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

@@ -75,7 +75,7 @@ namespace Hotline.Api.Controllers
         public async Task<IReadOnlyList<Hotspot>> GetChildrenHasName([FromQuery]string name)
         {
             var arr = _hotspotTypeRepository.Queryable()
-                .WhereIF(!string.IsNullOrEmpty(name), x => x.HotSpotName.Contains(name)).Select(x=>x.Id).ToList().Cast<object>().ToArray();
+                .WhereIF(!string.IsNullOrEmpty(name), x => x.HotSpotFullName.Contains(name)).Select(x=>x.Id).ToList().Cast<object>().ToArray();
             //.ToTreeAsync(x => x.Children, it => it.ParentId, null);
             return await _hotspotTypeRepository.Queryable().Select(x => new Hotspot
             {
@@ -160,7 +160,7 @@ namespace Hotline.Api.Controllers
         public async Task<IReadOnlyList<EventCategory>> GetEventChildrenHasName([FromQuery]string name)
         {
             var arr = _eventCategoryRepository.Queryable()
-            .WhereIF(!string.IsNullOrEmpty(name), x => x.EventName.Contains(name)).Select(x => x.Id).ToList().Cast<object>().ToArray();
+            .WhereIF(!string.IsNullOrEmpty(name), x => x.EventFullName.Contains(name)).Select(x => x.Id).ToList().Cast<object>().ToArray();
             return await _eventCategoryRepository.Queryable().Select(
                 x=> new EventCategory {
                     Id = x.Id,

+ 65 - 0
src/Hotline.Application/Handlers/Order/AddOrderPushMessageNotifyHandler.cs

@@ -0,0 +1,65 @@
+using DotNetCore.CAP;
+using Hotline.Orders;
+using Hotline.Orders.Notifications;
+using Hotline.Push.Notifies;
+using Hotline.Share.Enums.Push;
+using MediatR;
+using Microsoft.Extensions.Logging;
+
+namespace Hotline.Application.Handlers.Order
+{
+    /// <summary>
+    /// 新增工单发送短信
+    /// </summary>
+    public class AddOrderPushMessageNotifyHandler : INotificationHandler<AddOrderNotify>
+    {
+
+        private readonly ICapPublisher _capPublisher;
+        private readonly ILogger<AddOrderPushMessageNotifyHandler> _logger;
+        private readonly IMediator _mediator;
+        private readonly IOrderRepository _orderRepository;
+
+        public AddOrderPushMessageNotifyHandler(ICapPublisher capPublisher,
+            ILogger<AddOrderPushMessageNotifyHandler> logger,
+            IMediator mediator,
+            IOrderRepository orderRepository)
+        {
+            _capPublisher = capPublisher;
+            _logger = logger;
+            _mediator = mediator;
+            _orderRepository = orderRepository;
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="notification"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task Handle(AddOrderNotify notification, CancellationToken cancellationToken)
+        {
+            var order = notification.Order;
+            if (order.AcceptSms)
+            {
+                _logger.LogInformation($"推送短信: orderNo: {order.No}");
+
+                var messageDto = new Share.Dtos.Push.MessageDto
+                {
+                    PushBusiness = EPushBusiness.OrderAccept,
+                    ExternalId = order.Id,
+                    OrderId = order.Id,
+                    PushPlatform = EPushPlatform.Sms,
+                    Remark = order.Title,
+                    Name = order.FromName,
+                    TemplateCode = "1005",
+                    Params = new List<string>() { order.No, order.Password },
+                    TelNumber = order.Contact,
+                };
+                await _mediator.Publish(new PushMessageNotify(messageDto), cancellationToken);
+
+                order.SmsSended = true;
+                _orderRepository.Updateable(order).UpdateColumns(p => p.SmsSended).ExecuteCommand();
+            }
+        }
+    }
+}

+ 7 - 0
src/Hotline/Orders/Notifications/AddOrderNotify.cs

@@ -0,0 +1,7 @@
+using MediatR;
+
+namespace Hotline.Orders.Notifications
+{
+    public record AddOrderNotify(Orders.Order Order) : INotification;
+
+}