From 031ac2726637355f282c7aa23deade0477b6e8fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 21 Jul 2026 16:04:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=98=E5=85=A5redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BIStatiscialAnalysisController.cs | 71 +++++++++++++++++-- 1 file changed, 67 insertions(+), 4 deletions(-) diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs index e0d57c3..d885048 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -9677,12 +9677,52 @@ namespace APT.SC.WebApi.Controllers.Api.BIController public JsonActionResult> GetDepartmentCompletionSort([FromBody] KeywordFilter filter) { return SafeExecute>(() => - { + { + List completionSorts = new List(); + #region 判断 从Redis中获取数据 有就直接返回到前端 没有就按原来的进行搜索 最后再判断存入Redis中 + + var redisCode = string.Format(RedisCacheKey.HomeJobCompletion, APT.Infrastructure.Api.AppContext.CurrentSession.OrgId); + DateTime dtNow = DateTime.Now; + bool isRedisConfig = true; + var redisConfig = APT.Infrastructure.Api.ConfigurationManager.AppSettings["RedisFormConfig"]; + List listHomeRedis = null; + if (!string.IsNullOrEmpty(redisConfig)) + isRedisConfig = bool.Parse(redisConfig); + + if (isRedisConfig && CsRedisManager.KeyExists(redisCode)) + listHomeRedis = CsRedisManager.StringGet>(redisCode); + + if (listHomeRedis != null && listHomeRedis.Count() > 0) + { + foreach (var item in listHomeRedis) + { + //if (item.MineType == MineType) + { + if (dtNow.ToString("yyyyMMddHH") == item.yyyyMMddHH) + { + completionSorts = item.deptResult; + } + else + { + listHomeRedis.Remove(item);//Key不匹配 过期数据删除 + } + break; + } + } + } + + //redis获取到了数据 + if (completionSorts != null && completionSorts.Count() > 0) + { + return completionSorts; + } + + #endregion var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value; //var mineType = 30; var departmentIds = new List(); List completionLists = new List(); - List completionSorts = new List(); + //if (string.IsNullOrEmpty(filter.Keyword)) // return completionSorts; //var departmentInfo = this.GetEntities(t => t.MineType == int.Parse(filter.Keyword.ToString()), new BaseFilter(orgId)); @@ -9766,7 +9806,29 @@ namespace APT.SC.WebApi.Controllers.Api.BIController { item.NUM = i; i++; + } + #region 搜索结果 判断存入Redis中 + + if (isRedisConfig) + { + try + { + if (listHomeRedis == null) + listHomeRedis = new List(); + + listHomeRedis.Add(new HomeResultMineType() + { + //MineType = MineType, + yyyyMMddHH = dtNow.ToString("yyyyMMddHH"), + deptResult = completionSorts1 + }); + + CsRedisManager.StringSet>(redisCode, listHomeRedis); + } + catch { } } + + #endregion return completionSorts1; }); } @@ -10308,7 +10370,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController List completions = new List(); - BaseFilter baseFilter = new BaseFilter(filter.GetOrgId()); + BaseFilter baseFilter = new BaseFilter(orgId); baseFilter.IgnoreDataRule = true; var startTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-01 00:00:00"); var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59"); @@ -11860,7 +11922,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController /// /// 存储信息 /// - public List result { get; set; } + public List result { get; set; } + public List deptResult { get; set; } } /// /// 系统运行情况报表