From 2be42f3c0d9dc15e564d77f543a43323324277e1 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Thu, 24 Jul 2025 14:18:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E7=BB=84=E7=BB=87=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E6=9C=AC=E5=9C=B0=E7=BC=93=E5=AD=98=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=83=A8=E9=97=A8=E6=A0=A1=E9=AA=8C=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/OrganFrameworkServiceImpl.java | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/service/OrganFrameworkServiceImpl.java b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/service/OrganFrameworkServiceImpl.java index efd36bbf7..141ef768c 100644 --- a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/service/OrganFrameworkServiceImpl.java +++ b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/service/OrganFrameworkServiceImpl.java @@ -1,5 +1,6 @@ package com.cf.imes.framework.organ.core.service; +import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.util.cache.CacheUtils; import com.cf.imes.module.system.api.dept.DeptApi; import com.cf.imes.module.system.api.organ.OrganApi; @@ -37,6 +38,34 @@ public class OrganFrameworkServiceImpl implements OrganFrameworkService { }); + /** + * 针对 {@link #validOrgan(Long)} 的缓存 + */ + private final LoadingCache> validOrganCache = CacheUtils.buildAsyncReloadingCache( + Duration.ofMinutes(1L), // 过期时间 1 分钟 + new CacheLoader<>() { + + @Override + public CommonResult load(Long id) { + return organApi.validOrgan(id); + } + + }); + + /** + * 针对 {@link #validDept(Long)} 的缓存 + */ + private final LoadingCache> validOrganDept = CacheUtils.buildAsyncReloadingCache( + Duration.ofMinutes(1L), // 过期时间 1 分钟 + new CacheLoader<>() { + + @Override + public CommonResult load(Long id) { + return deptApi.validateDept(id); + } + + }); + @Override @SneakyThrows public List getOrganIds() { @@ -46,11 +75,12 @@ public class OrganFrameworkServiceImpl implements OrganFrameworkService { @Override @SneakyThrows public void validOrgan(Long id) { - organApi.validOrgan(id).checkError(); + validOrganCache.get(id).checkError(); } @Override + @SneakyThrows public void validDept(Long id) { - deptApi.validateDept(id).checkError(); + validOrganDept.get(id).checkError(); } }