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(); }