!132 优化查询是否存在的方法,替换魔法值为已定义的常量
* fix 替换查询所有子部门数中魔法值为已定义的常量
* fix 1.修改查询是否存在的方法改为baseMapper.exists()方法查询。 2.将部分魔法值改为已定义的常量
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.ruoyi.common.constant.UserConstants; |
| | | import com.ruoyi.common.core.domain.entity.SysDictData; |
| | | import com.ruoyi.common.core.mapper.BaseMapperPlus; |
| | | |
| | |
| | | default List<SysDictData> selectDictDataByType(String dictType) { |
| | | return selectList( |
| | | new LambdaQueryWrapper<SysDictData>() |
| | | .eq(SysDictData::getStatus, "0") |
| | | .eq(SysDictData::getStatus, UserConstants.DICT_NORMAL) |
| | | .eq(SysDictData::getDictType, dictType) |
| | | .orderByAsc(SysDictData::getDictSort)); |
| | | } |
| | |
| | | SysDept selectDeptById(Long deptId); |
| | | |
| | | /** |
| | | * 根据ID查询所有子部门(正常状态) |
| | | * 根据ID查询所有子部门数(正常状态) |
| | | * |
| | | * @param deptId 部门ID |
| | | * @return 子部门数 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 根据ID查询所有子部门(正常状态) |
| | | * 根据ID查询所有子部门数(正常状态) |
| | | * |
| | | * @param deptId 部门ID |
| | | * @return 子部门数 |
| | |
| | | @Override |
| | | public long selectNormalChildrenDeptById(Long deptId) { |
| | | return baseMapper.selectCount(new LambdaQueryWrapper<SysDept>() |
| | | .eq(SysDept::getStatus, 0) |
| | | .eq(SysDept::getStatus, UserConstants.DEPT_NORMAL) |
| | | .apply("find_in_set({0}, ancestors)", deptId)); |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public String checkDeptNameUnique(SysDept dept) { |
| | | Long deptId = ObjectUtil.isNull(dept.getDeptId()) ? -1L : dept.getDeptId(); |
| | | boolean count = baseMapper.exists(new LambdaQueryWrapper<SysDept>() |
| | | boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysDept>() |
| | | .eq(SysDept::getDeptName, dept.getDeptName()) |
| | | .eq(SysDept::getParentId, dept.getParentId()) |
| | | .ne(SysDept::getDeptId, deptId)); |
| | | if (count) { |
| | | .ne(ObjectUtil.isNotNull(dept.getDeptId()), SysDept::getDeptId, dept.getDeptId())); |
| | | if (exist) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | } |
| | | int result = baseMapper.updateById(dept); |
| | | if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors()) |
| | | && !StringUtils.equals("0", dept.getAncestors())) { |
| | | && !StringUtils.equals(UserConstants.DEPT_NORMAL, dept.getAncestors())) { |
| | | // 如果该部门是启用状态,则启用该部门的所有上级部门 |
| | | updateParentDeptStatusNormal(dept); |
| | | } |
| | |
| | | String ancestors = dept.getAncestors(); |
| | | Long[] deptIds = Convert.toLongArray(ancestors); |
| | | baseMapper.update(null, new LambdaUpdateWrapper<SysDept>() |
| | | .set(SysDept::getStatus, "0") |
| | | .set(SysDept::getStatus, UserConstants.DEPT_NORMAL) |
| | | .in(SysDept::getDeptId, Arrays.asList(deptIds))); |
| | | } |
| | | |
| | |
| | | public void deleteDictTypeByIds(Long[] dictIds) { |
| | | for (Long dictId : dictIds) { |
| | | SysDictType dictType = selectDictTypeById(dictId); |
| | | if (dictDataMapper.selectCount(new LambdaQueryWrapper<SysDictData>() |
| | | .eq(SysDictData::getDictType, dictType.getDictType())) > 0) { |
| | | if (dictDataMapper.exists(new LambdaQueryWrapper<SysDictData>() |
| | | .eq(SysDictData::getDictType, dictType.getDictType()))) { |
| | | throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName())); |
| | | } |
| | | RedisUtils.deleteObject(getCacheKey(dictType.getDictType())); |
| | |
| | | @Override |
| | | public void loadingDictCache() { |
| | | List<SysDictData> dictDataList = dictDataMapper.selectList( |
| | | new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getStatus, "0")); |
| | | new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getStatus, UserConstants.DICT_NORMAL)); |
| | | Map<String, List<SysDictData>> dictDataMap = dictDataList.stream().collect(Collectors.groupingBy(SysDictData::getDictType)); |
| | | dictDataMap.forEach((k,v) -> { |
| | | String dictKey = getCacheKey(k); |
| | |
| | | */ |
| | | @Override |
| | | public String checkDictTypeUnique(SysDictType dict) { |
| | | Long dictId = ObjectUtil.isNull(dict.getDictId()) ? -1L : dict.getDictId(); |
| | | long count = baseMapper.selectCount(new LambdaQueryWrapper<SysDictType>() |
| | | boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysDictType>() |
| | | .eq(SysDictType::getDictType, dict.getDictType()) |
| | | .ne(SysDictType::getDictId, dictId)); |
| | | if (count > 0) { |
| | | .ne(ObjectUtil.isNotNull(dict.getDictId()), SysDictType::getDictId, dict.getDictId())); |
| | | if (exist) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | */ |
| | | @Override |
| | | public String checkMenuNameUnique(SysMenu menu) { |
| | | Long menuId = ObjectUtil.isNull(menu.getMenuId()) ? -1L : menu.getMenuId(); |
| | | boolean count = baseMapper.exists(new LambdaQueryWrapper<SysMenu>() |
| | | boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysMenu>() |
| | | .eq(SysMenu::getMenuName, menu.getMenuName()) |
| | | .eq(SysMenu::getParentId, menu.getParentId()) |
| | | .ne(SysMenu::getMenuId, menuId)); |
| | | if (count) { |
| | | .ne(ObjectUtil.isNotNull(menu.getMenuId()), SysMenu::getMenuId, menu.getMenuId())); |
| | | if (exist) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | */ |
| | | @Override |
| | | public String checkPostNameUnique(SysPost post) { |
| | | Long postId = ObjectUtil.isNull(post.getPostId()) ? -1L : post.getPostId(); |
| | | boolean count = baseMapper.exists(new LambdaQueryWrapper<SysPost>() |
| | | boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysPost>() |
| | | .eq(SysPost::getPostName, post.getPostName()) |
| | | .ne(SysPost::getPostId, postId)); |
| | | if (count) { |
| | | .ne(ObjectUtil.isNotNull(post.getPostId()), SysPost::getPostId, post.getPostId())); |
| | | if (exist) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | */ |
| | | @Override |
| | | public String checkPostCodeUnique(SysPost post) { |
| | | Long postId = ObjectUtil.isNull(post.getPostId()) ? -1L : post.getPostId(); |
| | | boolean count = baseMapper.exists(new LambdaQueryWrapper<SysPost>() |
| | | boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysPost>() |
| | | .eq(SysPost::getPostCode, post.getPostCode()) |
| | | .ne(SysPost::getPostId, postId)); |
| | | if (count) { |
| | | .ne(ObjectUtil.isNotNull(post.getPostId()), SysPost::getPostId, post.getPostId())); |
| | | if (exist) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | */ |
| | | @Override |
| | | public String checkRoleNameUnique(SysRole role) { |
| | | Long roleId = ObjectUtil.isNull(role.getRoleId()) ? -1L : role.getRoleId(); |
| | | boolean count = baseMapper.exists(new LambdaQueryWrapper<SysRole>() |
| | | boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysRole>() |
| | | .eq(SysRole::getRoleName, role.getRoleName()) |
| | | .ne(SysRole::getRoleId, roleId)); |
| | | if (count) { |
| | | .ne(ObjectUtil.isNotNull(role.getRoleId()), SysRole::getRoleId, role.getRoleId())); |
| | | if (exist) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |
| | |
| | | */ |
| | | @Override |
| | | public String checkRoleKeyUnique(SysRole role) { |
| | | Long roleId = ObjectUtil.isNull(role.getRoleId()) ? -1L : role.getRoleId(); |
| | | boolean count = baseMapper.exists(new LambdaQueryWrapper<SysRole>() |
| | | boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysRole>() |
| | | .eq(SysRole::getRoleKey, role.getRoleKey()) |
| | | .ne(SysRole::getRoleId, roleId)); |
| | | if (count) { |
| | | .ne(ObjectUtil.isNotNull(role.getRoleId()), SysRole::getRoleId, role.getRoleId())); |
| | | if (exist) { |
| | | return UserConstants.NOT_UNIQUE; |
| | | } |
| | | return UserConstants.UNIQUE; |