From f9bcba6994b8428ed21f50e1fdbb3136846dcbb2 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Thu, 20 Feb 2025 17:49:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=9C=BA=E6=9E=84=E6=97=B6,=E6=B8=85=E7=90=86=E6=9C=BA?= =?UTF-8?q?=E6=9E=84=E4=B8=8B=E7=9A=84=E7=94=A8=E6=88=B7=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/support/OfficeServiceSupport.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/service/support/OfficeServiceSupport.java b/modules/core/src/main/java/com/jeesite/modules/sys/service/support/OfficeServiceSupport.java index 0ac3eaf7..99f1dc57 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/service/support/OfficeServiceSupport.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/service/support/OfficeServiceSupport.java @@ -7,13 +7,17 @@ package com.jeesite.modules.sys.service.support; import com.jeesite.common.config.Global; import com.jeesite.common.service.ServiceException; import com.jeesite.common.service.TreeService; +import com.jeesite.common.utils.PageUtils; import com.jeesite.common.utils.excel.ExcelImport; import com.jeesite.common.validator.ValidatorUtils; import com.jeesite.modules.sys.dao.OfficeDao; +import com.jeesite.modules.sys.entity.EmpUser; import com.jeesite.modules.sys.entity.Office; import com.jeesite.modules.sys.service.DataScopeService; +import com.jeesite.modules.sys.service.EmpUserService; import com.jeesite.modules.sys.service.OfficeService; import com.jeesite.modules.sys.utils.EmpUtils; +import com.jeesite.modules.sys.utils.UserUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -32,6 +36,8 @@ public class OfficeServiceSupport extends TreeService @Autowired private DataScopeService dataScopeService; + @Autowired + private EmpUserService empUserService; /** * 获取单条数据 @@ -74,7 +80,7 @@ public class OfficeServiceSupport extends TreeService } super.save(office); // 清理部门相关缓存 - clearOfficeCache(); + clearOfficeCache(office); } /** @@ -149,7 +155,7 @@ public class OfficeServiceSupport extends TreeService public void updateStatus(Office office) { super.updateStatus(office); // 清理部门相关缓存 - clearOfficeCache(); + clearOfficeCache(office); } /** @@ -161,15 +167,22 @@ public class OfficeServiceSupport extends TreeService office.sqlMap().markIdDelete(); super.delete(office); // 清理部门相关缓存 - clearOfficeCache(); + clearOfficeCache(office); } /** * 清理部门相关缓存 */ - private void clearOfficeCache(){ -// EmpUtils.removeCache(EmpUtils.CACHE_OFFICE_LIST); + private void clearOfficeCache(Office office){ EmpUtils.removeCache(EmpUtils.CACHE_OFFICE_ALL_LIST); + // 清理组织下的用户缓存 + EmpUser empUserWhere = new EmpUser(); + empUserWhere.setCodes(new String[]{ office.getOfficeCode() }); + PageUtils.findList(empUserWhere, null, e -> { + List empUserList = empUserService.findUserListByOfficeCodes((EmpUser)e); + empUserList.forEach(UserUtils::clearCache); + return !empUserList.isEmpty(); + }); } }