From 234f74f8f009a9f164639666d8f3e654f1845b7c Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期六, 04 二月 2023 11:47:11 +0800 Subject: [PATCH] add 新增 翻译模块 部门名称翻译 update 优化 部门业务增加缓存逻辑 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 36 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java index 8206bdc..453d98f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java @@ -8,15 +8,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.core.constant.CacheNames; import com.ruoyi.common.core.constant.UserConstants; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.service.DeptService; +import com.ruoyi.common.core.utils.SpringUtils; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.TreeBuildUtils; +import com.ruoyi.common.mybatis.helper.DataBaseHelper; +import com.ruoyi.common.redis.utils.CacheUtils; +import com.ruoyi.common.satoken.utils.LoginHelper; import com.ruoyi.system.domain.SysDept; import com.ruoyi.system.domain.SysRole; import com.ruoyi.system.domain.SysUser; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.mybatis.helper.DataBaseHelper; -import com.ruoyi.common.satoken.utils.LoginHelper; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.core.utils.TreeBuildUtils; import com.ruoyi.system.domain.bo.SysDeptBo; import com.ruoyi.system.domain.vo.SysDeptVo; import com.ruoyi.system.mapper.SysDeptMapper; @@ -24,6 +28,8 @@ import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.service.ISysDeptService; import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -37,7 +43,7 @@ */ @RequiredArgsConstructor @Service -public class SysDeptServiceImpl implements ISysDeptService { +public class SysDeptServiceImpl implements ISysDeptService, DeptService { private final SysDeptMapper baseMapper; private final SysRoleMapper roleMapper; @@ -117,6 +123,7 @@ * @param deptId 閮ㄩ棬ID * @return 閮ㄩ棬淇℃伅 */ + @Cacheable(cacheNames = CacheNames.SYS_DEPT, key = "#deptId") @Override public SysDeptVo selectDeptById(Long deptId) { SysDeptVo dept = baseMapper.selectVoById(deptId); @@ -124,6 +131,24 @@ .select(SysDept::getDeptName).eq(SysDept::getDeptId, dept.getParentId())); dept.setParentName(ObjectUtil.isNotNull(parentDept) ? parentDept.getDeptName() : null); return dept; + } + + /** + * 閫氳繃閮ㄩ棬ID鏌ヨ閮ㄩ棬鍚嶇О + * + * @param deptIds 閮ㄩ棬ID涓查�楀彿鍒嗛殧 + * @return 閮ㄩ棬鍚嶇О涓查�楀彿鍒嗛殧 + */ + @Override + public String selectDeptNameByIds(String deptIds) { + List<String> list = new ArrayList<>(); + for (Long id : Arrays.stream(deptIds.split(",")).map(Long::parseLong).toList()) { + SysDeptVo vo = SpringUtils.getAopProxy(this).selectDeptById(id); + if (ObjectUtil.isNotNull(vo)) { + list.add(vo.getDeptName()); + } + } + return String.join(",", list); } /** @@ -222,6 +247,7 @@ * @param bo 閮ㄩ棬淇℃伅 * @return 缁撴灉 */ + @CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#bo.deptId") @Override public int updateDept(SysDeptBo bo) { SysDept dept = BeanUtil.toBean(bo, SysDept.class); @@ -273,7 +299,9 @@ list.add(dept); } if (CollUtil.isNotEmpty(list)) { - baseMapper.updateBatchById(list); + if (baseMapper.updateBatchById(list)) { + list.forEach(dept -> CacheUtils.evict(CacheNames.SYS_DEPT, dept.getDeptId())); + } } } @@ -283,6 +311,7 @@ * @param deptId 閮ㄩ棬ID * @return 缁撴灉 */ + @CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#deptId") @Override public int deleteDeptById(Long deptId) { return baseMapper.deleteById(deptId); -- Gitblit v1.9.3