From 0a7fc847f0f3d87ce00ffdea61215d3d6329be3e Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 4 Jun 2024 14:23:51 +0800 Subject: [PATCH] =?UTF-8?q?test=20=E5=A4=84=E7=90=86=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E6=95=B0=E6=8D=AE=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/HangfireController.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/HangfireController.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/HangfireController.cs index 603f905d..c621f698 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/HangfireController.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/HangfireController.cs @@ -1,4 +1,5 @@ using Dlhis.Basic.Api.Request; +using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Canteen.Entities; using Dlhis.Entity.Canteen.Enums; using Dlhis.ScheduledTask.Common.Request; @@ -81,6 +82,24 @@ public class HangfireController : ControllerBase var data = await _dbContext.Queryable().Where(x => x.UserCode == code).Where(x => x.Remark == row.Remark).ToListAsync(); + if (data.Count > 1) + { + var f = data.First(); + var others = data.Where(x => x.Id != f.Id).ToList(); + + others.ForEach(x => x.Status = BalanceRecordStatusEnumType.Obsolute); + await _dbContext.UpdateAsync(others); + + var sum = await _dbContext.Queryable().Where(x => x.Status == BalanceRecordStatusEnumType.Valid).SumAsync(x => x.Amount); + var mealInfo = await _dbContext.Queryable().Where(x => x.UserCode == f.UserCode).SingleAsync(); + await _dbContext.Updateable() + .SetColumns(x => x.Balance == sum) + .SetColumns(x => x.Version == x.Version + 1) + .SetColumns(x => x.ModifiedTime == DateTime.Now) + .Where(x => x.UserCode == f.UserCode && x.Version == mealInfo.Version) + .ExecuteCommandAsync(); + } + return data; } } \ No newline at end of file