소스 검색

合并提交

Dun.Jason 1 개월 전
부모
커밋
dca0747eef
1개의 변경된 파일10개의 추가작업 그리고 6개의 파일을 삭제
  1. 10 6
      src/Hotline.Application/OrderApp/Handlers/OrderHandler/OrderEarlyWarningNotifyHandler.cs

+ 10 - 6
src/Hotline.Application/OrderApp/Handlers/OrderHandler/OrderEarlyWarningNotifyHandler.cs

@@ -38,22 +38,26 @@ namespace Hotline.Application.OrderApp.Handlers.OrderHandler
                     Sensitive = order.Sensitive,
                     OrderPushStatus = Share.Enums.Early.EOrderPushStatus.NoPush,
                 };
-                var orderEarly = await _orderEarlyWarningRepository.Queryable().Where(x => x.StartTime<= now && x.EndTime>= now && x.AreaCode == order.AreaCode && x.EarlyWarningSettingId == item.Id).FirstAsync();
+                var orderEarly = await _orderEarlyWarningRepository.Queryable().Where(x => x.StartTime <= now && x.EndTime >= now && x.AreaCode == order.AreaCode && x.EarlyWarningSettingId == item.Id).FirstAsync();
                 if (orderEarly != null)
                 {
                     model.EarlyWarningOrderId = orderEarly.Id;
-                    await _orderEarlyWarningDetailRepository.AddAsync(model);
-                    await _orderEarlyWarningRepository.Updateable().SetColumns(x => new EarlyWarningOrder()
+                    var isHas = await _orderEarlyWarningDetailRepository.AnyAsync(x => x.EarlyWarningOrderId == orderEarly.Id && x.OrderId == order.Id);
+                    if (!isHas)
                     {
-                        LastEarlyTime = now,
-                    }).Where(x=>x.Id == orderEarly.Id).ExecuteCommandAsync(cancellationToken);
+                        await _orderEarlyWarningDetailRepository.AddAsync(model);
+                        await _orderEarlyWarningRepository.Updateable().SetColumns(x => new EarlyWarningOrder()
+                        {
+                            LastEarlyTime = now,
+                        }).Where(x => x.Id == orderEarly.Id).ExecuteCommandAsync(cancellationToken);
+                    }
                 }
                 else
                 {
                     orderEarly = new EarlyWarningOrder()
                     {
                         EarlyWarningSettingId = item.Id,
-                        LastEarlyTime= now,
+                        LastEarlyTime = now,
                         AreaCode = order.AreaCode,
                         Province = order.Province,
                         City = order.City,