Browse Source

Merge branch 'test_feature_task363' into dev

Dun.Jason 1 month ago
parent
commit
9d4e3f30ff

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

@@ -103,7 +103,7 @@ namespace Hotline.Api.Controllers
             var model = await _earlyWarningRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
             if (model == null)
                 throw UserFriendlyException.SameMessage("无效信息");
-            model = _mapper.Map<EarlyWarningSetting>(dto);
+            _mapper.Map(dto, model);
             await _earlyWarningRepository.UpdateAsync(model, HttpContext.RequestAborted);
         }
 
@@ -113,7 +113,7 @@ namespace Hotline.Api.Controllers
         /// <param name="id"></param>
         /// <returns></returns>
         [HttpDelete("del-ealysetting")]
-        public async Task DelEarlySetting(string id)
+        public async Task DelEarlySetting([FromQuery]string id)
         {
             var model = await _earlyWarningRepository.GetAsync(id, HttpContext.RequestAborted);
             if (model == null)

+ 31 - 4
src/Hotline.Application/OrderApp/Handlers/OrderHandler/OrderEarlyWarningNotifyHandler.cs

@@ -1,24 +1,51 @@
-using Hotline.Orders.Notifications;
+using Hotline.Early;
+using Hotline.Orders.Notifications;
 using MediatR;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using XF.Domain.Repository;
 
 namespace Hotline.Application.OrderApp.Handlers.OrderHandler
 {
     public class OrderEarlyWarningNotifyHandler : INotificationHandler<OrderEarlyWarningNotify>
     {
+        private readonly IRepository<EarlyWarningOrder> _orderEarlyWarningRepository;
 
-        public OrderEarlyWarningNotifyHandler()
+        public OrderEarlyWarningNotifyHandler(IRepository<EarlyWarningOrder> orderEarlyWarningRepository)
         {
-            
+            _orderEarlyWarningRepository = orderEarlyWarningRepository;
         }
 
 
-        public Task Handle(OrderEarlyWarningNotify notification, CancellationToken cancellationToken)
+        public async Task Handle(OrderEarlyWarningNotify notification, CancellationToken cancellationToken)
         {
+            var settiingList = notification.settingList;
+            var order = notification.order;
+            var now = DateTime.Now;
+            foreach (var item in settiingList)
+            {
+                switch (item.Frequency)
+                {
+                    //每日
+                    case Share.Enums.Early.EFrequency.Day:
+                        _orderEarlyWarningRepository.Queryable().Where(x => x.StartTime.Date == now.Date);
+                        break;
+                    //每周
+                    case Share.Enums.Early.EFrequency.Week:
+                        break;
+                    //每月
+                    case Share.Enums.Early.EFrequency.Month:
+                        break;
+                    //每年
+                    case Share.Enums.Early.EFrequency.Year:
+                        break;
+                    default:
+                        break;
+                }
+            }
 
             throw new NotImplementedException();
         }