From a2c121eadcffe81c2af3e998234a10cdec7228ce Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 19 Apr 2024 16:10:18 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=97=B6=E9=97=B4=E5=8F=98=E6=9B=B4,?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E8=AE=A2=E5=8D=95=E8=BD=AC=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Order/Services/Implements/OrderService.cs | 22 ++++++++++++++++++- .../Implements/DeviceTaskAssignmentService.cs | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs index bcf897c1..ef632585 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs @@ -61,7 +61,7 @@ public class OrderService : BaseOrderService, IOrderService { if (handler.Acquired) { - if (!await DbContext.Queryable().Where(x => x.ThirdNo == request.ThirdNo).AnyAsync()) + if (await ToCheckAsync(request.ThirdNo)) { try { @@ -128,6 +128,26 @@ public class OrderService : BaseOrderService, IOrderService }; } + private async Task ToCheckAsync(string thirdNo) + { + var order = await DbContext.Queryable() + .Where(x => x.ThirdNo == thirdNo) + .OrderBy(x => x.CreateTime, OrderByType.Desc) + .FirstAsync(); + + if (order == null) + { + return true; + } + + if (!order.IsOffline && order.OrderStatus != CanteenOrderStatusEnumType.Success) + { + return true; + } + + return false; + } + private async Task HandleOfflineAsync(ConsumeRequest request, GainfoEntity gainfo) { diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs index cbbd63da..2c2732cc 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs @@ -59,7 +59,6 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService }) .ToPageListAsync(request); - try { var tenantResult = await _tenantApi.GetTenantsInternalAsync(); @@ -94,6 +93,7 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService //更新任务状态 await _dbContext.Updateable() .SetColumns(x => x.Status == DeviceTaskStatusEnumType.Wait) + .SetColumns(x => x.ModifiedTime == DateTime.Now) .Where(x => request.Ids.Contains(x.Id)) .ExecuteCommandAsync(); }