mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 22:57:17 +08:00 
			
		
		
		
	优化:优化校验工具类的使用及部分模板文本写法
1.优化校验工具类,支持传入 {} 模板文本
2.校验工具类增加 throwIf 重载方法,适合于 boolean 类型参数的情况
3.优化一些模板文本的写法
4.优化一些其他细节
			
			
This commit is contained in:
		| @@ -67,7 +67,7 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptVO, | ||||
|     public Long add(DeptRequest request) { | ||||
|         String name = request.getName(); | ||||
|         boolean isExists = this.checkNameExists(name, request.getParentId(), null); | ||||
|         CheckUtils.throwIf(() -> isExists, String.format("新增失败,'%s' 已存在", name)); | ||||
|         CheckUtils.throwIf(isExists, "新增失败,[{}] 已存在", name); | ||||
|  | ||||
|         request.setAncestors(this.getAncestors(request.getParentId())); | ||||
|         request.setStatus(DisEnableStatusEnum.ENABLE); | ||||
| @@ -79,20 +79,21 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptVO, | ||||
|     public void update(DeptRequest request, Long id) { | ||||
|         String name = request.getName(); | ||||
|         boolean isExists = this.checkNameExists(name, request.getParentId(), id); | ||||
|         CheckUtils.throwIf(() -> isExists, String.format("修改失败,'%s' 已存在", name)); | ||||
|         DeptDO oldDept = this.getById(id); | ||||
|         CheckUtils.throwIf( | ||||
|             () -> DisEnableStatusEnum.DISABLE.equals(request.getStatus()) | ||||
|                 && DataTypeEnum.SYSTEM.equals(oldDept.getType()), | ||||
|             String.format("'%s' 是系统内置部门,不允许禁用", oldDept.getName())); | ||||
|         CheckUtils.throwIf(isExists, "修改失败,[{}] 已存在", name); | ||||
|         DeptDO oldDept = super.getById(id); | ||||
|         if (DataTypeEnum.SYSTEM.equals(oldDept.getType())) { | ||||
|             CheckUtils.throwIf(DisEnableStatusEnum.DISABLE.equals(request.getStatus()), "[{}] 是系统内置部门,不允许禁用", | ||||
|                 oldDept.getName()); | ||||
|             CheckUtils.throwIf(ObjectUtil.notEqual(oldDept.getParentId(), request.getParentId()), | ||||
|                 "[{}] 是系统内置部门,不允许变更上级部门", oldDept.getName()); | ||||
|         } | ||||
|  | ||||
|         // 变更上级部门 | ||||
|         if (ObjectUtil.notEqual(oldDept.getParentId(), request.getParentId())) { | ||||
|             CheckUtils.throwIf(() -> DataTypeEnum.SYSTEM.equals(oldDept.getType()), | ||||
|                 String.format("'%s' 是系统内置部门,不允许变更上级部门", oldDept.getName())); | ||||
|             // 更新祖级列表 | ||||
|             String newAncestors = this.getAncestors(request.getParentId()); | ||||
|             request.setAncestors(newAncestors); | ||||
|             // 更新子级的祖级列表 | ||||
|             this.updateChildrenAncestors(newAncestors, oldDept.getAncestors(), id); | ||||
|         } | ||||
|         super.update(request, id); | ||||
| @@ -104,9 +105,9 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptVO, | ||||
|         List<DeptDO> list = | ||||
|             baseMapper.lambdaQuery().select(DeptDO::getName, DeptDO::getType).in(DeptDO::getId, ids).list(); | ||||
|         Optional<DeptDO> isSystemData = list.stream().filter(d -> DataTypeEnum.SYSTEM.equals(d.getType())).findFirst(); | ||||
|         CheckUtils.throwIf(isSystemData::isPresent, | ||||
|             String.format("所选部门 '%s' 是系统内置部门,不允许删除", isSystemData.orElseGet(DeptDO::new).getName())); | ||||
|         CheckUtils.throwIf(() -> userService.countByDeptIds(ids) > 0, "所选部门存在用户关联,请解除关联后重试"); | ||||
|         CheckUtils.throwIf(isSystemData::isPresent, "所选部门 [{}] 是系统内置部门,不允许删除", | ||||
|             isSystemData.orElseGet(DeptDO::new).getName()); | ||||
|         CheckUtils.throwIf(userService.countByDeptIds(ids) > 0, "所选部门存在用户关联,请解除关联后重试"); | ||||
|  | ||||
|         // 删除部门 | ||||
|         super.delete(ids); | ||||
|   | ||||
| @@ -51,7 +51,7 @@ public class MenuServiceImpl extends BaseServiceImpl<MenuMapper, MenuDO, MenuVO, | ||||
|     public Long add(MenuRequest request) { | ||||
|         String title = request.getTitle(); | ||||
|         boolean isExists = this.checkNameExists(title, request.getParentId(), null); | ||||
|         CheckUtils.throwIf(() -> isExists, String.format("新增失败,'%s'已存在", title)); | ||||
|         CheckUtils.throwIf(isExists, "新增失败,[{}] 已存在", title); | ||||
|  | ||||
|         request.setStatus(DisEnableStatusEnum.ENABLE); | ||||
|         return super.add(request); | ||||
| @@ -62,7 +62,7 @@ public class MenuServiceImpl extends BaseServiceImpl<MenuMapper, MenuDO, MenuVO, | ||||
|     public void update(MenuRequest request, Long id) { | ||||
|         String title = request.getTitle(); | ||||
|         boolean isExists = this.checkNameExists(title, request.getParentId(), id); | ||||
|         CheckUtils.throwIf(() -> isExists, String.format("修改失败,'%s'已存在", title)); | ||||
|         CheckUtils.throwIf(isExists, "修改失败,[{}] 已存在", title); | ||||
|  | ||||
|         super.update(request, id); | ||||
|     } | ||||
|   | ||||
| @@ -63,9 +63,9 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleVO, | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public Long add(RoleRequest request) { | ||||
|         String name = request.getName(); | ||||
|         CheckUtils.throwIf(() -> this.checkNameExists(name, null), String.format("新增失败,'%s'已存在", name)); | ||||
|         CheckUtils.throwIf(this.checkNameExists(name, null), "新增失败,[{}] 已存在", name); | ||||
|         String code = request.getCode(); | ||||
|         CheckUtils.throwIf(() -> this.checkCodeExists(code, null), String.format("新增失败,'%s'已存在", code)); | ||||
|         CheckUtils.throwIf(this.checkCodeExists(code, null), "新增失败,[{}] 已存在", code); | ||||
|  | ||||
|         // 新增信息 | ||||
|         request.setStatus(DisEnableStatusEnum.ENABLE); | ||||
| @@ -81,17 +81,17 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleVO, | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void update(RoleRequest request, Long id) { | ||||
|         String name = request.getName(); | ||||
|         CheckUtils.throwIf(() -> this.checkNameExists(name, id), String.format("修改失败,'%s'已存在", name)); | ||||
|         CheckUtils.throwIf(this.checkNameExists(name, id), "修改失败,[{}] 已存在", name); | ||||
|         String code = request.getCode(); | ||||
|         CheckUtils.throwIf(() -> this.checkCodeExists(code, id), String.format("修改失败,'%s'已存在", code)); | ||||
|         RoleDO oldRole = this.getById(id); | ||||
|         CheckUtils.throwIf(this.checkCodeExists(code, id), "修改失败,[{}] 已存在", code); | ||||
|         RoleDO oldRole = super.getById(id); | ||||
|         if (DataTypeEnum.SYSTEM.equals(oldRole.getType())) { | ||||
|             CheckUtils.throwIf(() -> DisEnableStatusEnum.DISABLE.equals(request.getStatus()), | ||||
|                 String.format("'%s' 是系统内置角色,不允许禁用", oldRole.getName())); | ||||
|             CheckUtils.throwIfNotEqual(request.getCode(), oldRole.getCode(), | ||||
|                 String.format("'%s' 是系统内置角色,不允许修改角色编码", oldRole.getName())); | ||||
|             CheckUtils.throwIfNotEqual(request.getDataScope(), oldRole.getDataScope(), | ||||
|                 String.format("'%s' 是系统内置角色,不允许修改角色数据权限", oldRole.getName())); | ||||
|             CheckUtils.throwIf(DisEnableStatusEnum.DISABLE.equals(request.getStatus()), "[{}] 是系统内置角色,不允许禁用", | ||||
|                 oldRole.getName()); | ||||
|             CheckUtils.throwIfNotEqual(request.getCode(), oldRole.getCode(), "[{}] 是系统内置角色,不允许修改角色编码", | ||||
|                 oldRole.getName()); | ||||
|             CheckUtils.throwIfNotEqual(request.getDataScope(), oldRole.getDataScope(), "[{}] 是系统内置角色,不允许修改角色数据权限", | ||||
|                 oldRole.getName()); | ||||
|         } | ||||
|  | ||||
|         // 更新信息 | ||||
| @@ -110,9 +110,9 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleVO, | ||||
|         List<RoleDO> list = | ||||
|             baseMapper.lambdaQuery().select(RoleDO::getName, RoleDO::getType).in(RoleDO::getId, ids).list(); | ||||
|         Optional<RoleDO> isSystemData = list.stream().filter(r -> DataTypeEnum.SYSTEM.equals(r.getType())).findFirst(); | ||||
|         CheckUtils.throwIf(isSystemData::isPresent, | ||||
|             String.format("所选角色 '%s' 是系统内置角色,不允许删除", isSystemData.orElseGet(RoleDO::new).getName())); | ||||
|         CheckUtils.throwIf(() -> userRoleService.countByRoleIds(ids) > 0, "所选角色存在用户关联,请解除关联后重试"); | ||||
|         CheckUtils.throwIf(isSystemData::isPresent, "所选角色 [{}] 是系统内置角色,不允许删除", | ||||
|             isSystemData.orElseGet(RoleDO::new).getName()); | ||||
|         CheckUtils.throwIf(userRoleService.countByRoleIds(ids) > 0, "所选角色存在用户关联,请解除关联后重试"); | ||||
|  | ||||
|         // 删除角色 | ||||
|         super.delete(ids); | ||||
|   | ||||
| @@ -80,7 +80,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO, | ||||
|     public Long add(UserRequest request) { | ||||
|         String username = request.getUsername(); | ||||
|         boolean isExists = this.checkNameExists(username, null); | ||||
|         CheckUtils.throwIf(() -> isExists, String.format("新增失败,'%s'已存在", username)); | ||||
|         CheckUtils.throwIf(isExists, "新增失败,[{}] 已存在", username); | ||||
|  | ||||
|         // 新增信息 | ||||
|         request.setStatus(DisEnableStatusEnum.ENABLE); | ||||
| @@ -98,16 +98,16 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO, | ||||
|     public void update(UserRequest request, Long id) { | ||||
|         String username = request.getUsername(); | ||||
|         boolean isExists = this.checkNameExists(username, id); | ||||
|         CheckUtils.throwIf(() -> isExists, String.format("修改失败,'%s'已存在", username)); | ||||
|         CheckUtils.throwIf(isExists, "修改失败,[{}] 已存在", username); | ||||
|         UserDO oldUser = super.getById(id); | ||||
|         if (DataTypeEnum.SYSTEM.equals(oldUser.getType())) { | ||||
|             CheckUtils.throwIf(() -> DisEnableStatusEnum.DISABLE.equals(request.getStatus()), | ||||
|                 String.format("'%s' 是系统内置用户,不允许禁用", oldUser.getNickname())); | ||||
|             CheckUtils.throwIf(DisEnableStatusEnum.DISABLE.equals(request.getStatus()), "[{}] 是系统内置用户,不允许禁用", | ||||
|                 oldUser.getNickname()); | ||||
|             List<Long> oldRoleIdList = | ||||
|                 userRoleService.listRoleIdByUserId(id).stream().sorted().collect(Collectors.toList()); | ||||
|             List<Long> newRoleIdList = request.getRoleIds().stream().sorted().collect(Collectors.toList()); | ||||
|             CheckUtils.throwIf(() -> !CollUtil.isEqualList(newRoleIdList, oldRoleIdList), | ||||
|                 String.format("'%s' 是系统内置用户,不允许变更所属角色", oldUser.getNickname())); | ||||
|             CheckUtils.throwIf(!CollUtil.isEqualList(newRoleIdList, oldRoleIdList), "[{}] 是系统内置用户,不允许变更所属角色", | ||||
|                 oldUser.getNickname()); | ||||
|         } | ||||
|  | ||||
|         // 更新信息 | ||||
| @@ -122,8 +122,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO, | ||||
|         List<UserDO> list = | ||||
|             baseMapper.lambdaQuery().select(UserDO::getNickname, UserDO::getType).in(UserDO::getId, ids).list(); | ||||
|         Optional<UserDO> isSystemData = list.stream().filter(u -> DataTypeEnum.SYSTEM.equals(u.getType())).findFirst(); | ||||
|         CheckUtils.throwIf(isSystemData::isPresent, | ||||
|             String.format("所选用户 '%s' 是系统内置用户,不允许删除", isSystemData.orElseGet(UserDO::new).getNickname())); | ||||
|         CheckUtils.throwIf(isSystemData::isPresent, "所选用户 [{}] 是系统内置用户,不允许删除", | ||||
|             isSystemData.orElseGet(UserDO::new).getNickname()); | ||||
|  | ||||
|         // 删除用户 | ||||
|         super.delete(ids); | ||||
| @@ -147,12 +147,11 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO, | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public String uploadAvatar(MultipartFile avatarFile, Long id) { | ||||
|         Long avatarMaxSizeInMb = localStorageProperties.getAvatarMaxSizeInMb(); | ||||
|         CheckUtils.throwIf(() -> avatarFile.getSize() > avatarMaxSizeInMb * 1024 * 1024, | ||||
|             String.format("请上传小于 %s MB 的图片", avatarMaxSizeInMb)); | ||||
|         CheckUtils.throwIf(avatarFile.getSize() > avatarMaxSizeInMb * 1024 * 1024, "请上传小于 {}MB 的图片", avatarMaxSizeInMb); | ||||
|         String avatarImageType = FileNameUtil.extName(avatarFile.getOriginalFilename()); | ||||
|         String[] avatarSupportImgTypes = FileConsts.AVATAR_SUPPORTED_IMG_TYPES; | ||||
|         CheckUtils.throwIf(() -> !StrUtil.equalsAnyIgnoreCase(avatarImageType, avatarSupportImgTypes), | ||||
|             String.format("头像仅支持 %s 格式的图片", String.join(StringConsts.CHINESE_COMMA, avatarSupportImgTypes))); | ||||
|         CheckUtils.throwIf(!StrUtil.equalsAnyIgnoreCase(avatarImageType, avatarSupportImgTypes), "头像仅支持 {} 格式的图片", | ||||
|             String.join(StringConsts.CHINESE_COMMA, avatarSupportImgTypes)); | ||||
|  | ||||
|         // 上传新头像 | ||||
|         String avatarPath = localStorageProperties.getPath().getAvatar(); | ||||
| @@ -201,7 +200,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO, | ||||
|         UserDO userDO = super.getById(id); | ||||
|         CheckUtils.throwIfNotEqual(SecureUtils.md5Salt(currentPassword, id.toString()), userDO.getPassword(), "当前密码错误"); | ||||
|         Long count = baseMapper.lambdaQuery().eq(UserDO::getEmail, newEmail).count(); | ||||
|         CheckUtils.throwIf(() -> count > 0, "邮箱已绑定其他账号,请更换其他邮箱"); | ||||
|         CheckUtils.throwIf(count > 0, "邮箱已绑定其他账号,请更换其他邮箱"); | ||||
|         CheckUtils.throwIfEqual(newEmail, userDO.getEmail(), "新邮箱不能与当前邮箱相同"); | ||||
|  | ||||
|         // 更新邮箱 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user