From 9af6472be6b899bd737bb64843013ac16fcf4577 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 4 Jun 2024 14:40:52 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/HangfireController.cs | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/HangfireController.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/HangfireController.cs index 6669c72c..f52b986a 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/HangfireController.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/HangfireController.cs @@ -62,7 +62,7 @@ public class HangfireController : ControllerBase [IgnoreTenant] [HttpPost("recalc")] - public async Task ReCalc() + public async Task ReCalc() { // select UserCode,Remark, count(1) count from balancerecord // where Status = 'Valid' @@ -77,13 +77,19 @@ public class HangfireController : ControllerBase .Having(x => SqlFunc.IsNull(x.Remark, "") != "" && SqlFunc.AggregateCount(1) > 1 && x.Remark != "用户取消" && x.Remark != "正常发放") .ToListAsync(); - var row = ls.First(); - var code = row.UserCode; - - var data = await _dbContext.Queryable().Where(x => x.UserCode == code).Where(x => x.Remark == row.Remark).ToListAsync(); - - if (data.Count > 1) + foreach (var row in ls) { + var data = await _dbContext.Queryable() + .Where(x => x.UserCode == row.UserCode) + .Where(x => x.ApplicationType == CanteenApplicaitonTypeEnumType.MealSupplement) + .Where(x => x.Remark == row.Remark) + .ToListAsync(); + + if (data.Count <= 1) + { + continue; + } + var f = data.First(); var others = data.Where(x => x.Id != f.Id).ToList(); @@ -93,7 +99,7 @@ public class HangfireController : ControllerBase var sum = await _dbContext.Queryable().Where(x => x.UserCode == f.UserCode) .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) @@ -102,7 +108,5 @@ public class HangfireController : ControllerBase .Where(x => x.UserCode == f.UserCode && x.Version == mealInfo.Version) .ExecuteCommandAsync(); } - - return data; } } \ No newline at end of file