From 6277b5bdf4df12bec9ae83cc7dd05a6ff1afbad5 Mon Sep 17 00:00:00 2001 From: xuwenbo <717567226@qq.com> Date: Wed, 20 May 2020 17:26:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9D=83=E9=99=90=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=A4=96=E9=94=AE=E7=BA=A6=E6=9D=9F=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=B1=E8=B4=A5=EF=BC=8C=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E5=B2=97=E4=BD=8D=E6=B6=89=E5=8F=8A=E5=88=B0=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yixiang/modules/system/rest/DeptController.java | 2 +- .../yixiang/modules/system/rest/JobController.java | 2 +- .../yixiang/modules/system/rest/RoleController.java | 4 ++-- .../modules/system/rest/SysUserController.java | 2 +- .../yixiang/modules/system/service/RoleService.java | 2 ++ .../yixiang/modules/system/service/UserService.java | 2 ++ .../modules/system/service/dto/JobQueryCriteria.java | 4 ++-- .../system/service/dto/UserQueryCriteria.java | 2 +- .../modules/system/service/impl/RoleServiceImpl.java | 10 ++++++++++ .../system/service/impl/SysUserServiceImpl.java | 12 +++++++++++- 10 files changed, 33 insertions(+), 9 deletions(-) diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/rest/DeptController.java b/yshop-system/src/main/java/co/yixiang/modules/system/rest/DeptController.java index 7a5856f8..03aa2105 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/rest/DeptController.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/rest/DeptController.java @@ -123,7 +123,7 @@ public class DeptController { try { deptService.removeByIds(deptIds); }catch (Throwable e){ - ThrowableUtil.throwForeignKeyException(e, "所选部门中存在岗位或者角色关联,请取消关联后再试"); + throw new BadRequestException( "所选部门中存在岗位或者角色关联,请取消关联后再试"); } return new ResponseEntity<>(HttpStatus.OK); } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/rest/JobController.java b/yshop-system/src/main/java/co/yixiang/modules/system/rest/JobController.java index 0cdada8c..4723d6bb 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/rest/JobController.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/rest/JobController.java @@ -98,7 +98,7 @@ public class JobController { try { jobService.removeByIds(ids); }catch (Throwable e){ - ThrowableUtil.throwForeignKeyException(e, "所选岗位存在用户关联,请取消关联后再试"); + throw new BadRequestException( "所选岗位存在用户关联,请取消关联后再试"); } return new ResponseEntity<>(HttpStatus.OK); } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/rest/RoleController.java b/yshop-system/src/main/java/co/yixiang/modules/system/rest/RoleController.java index ff322ea9..092275cc 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/rest/RoleController.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/rest/RoleController.java @@ -140,9 +140,9 @@ public class RoleController { getLevels(role.getLevel()); } try { - roleService.removeByIds(ids); + roleService.delete(ids); } catch (Throwable e){ - ThrowableUtil.throwForeignKeyException(e, "所选角色存在用户关联,请取消关联后再试"); + throw new BadRequestException("所选角色存在用户关联,请取消关联后再试"); } return new ResponseEntity<>(HttpStatus.OK); } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/rest/SysUserController.java b/yshop-system/src/main/java/co/yixiang/modules/system/rest/SysUserController.java index 2d5a7456..5f50f6f1 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/rest/SysUserController.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/rest/SysUserController.java @@ -166,7 +166,7 @@ public class SysUserController { throw new BadRequestException("角色权限不足,不能删除:" + userService.findByName(SecurityUtils.getUsername()).getUsername()); } } - userService.removeByIds(ids); + userService.delete(ids); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/RoleService.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/RoleService.java index 40d9e81a..bfa9ec87 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/RoleService.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/RoleService.java @@ -107,4 +107,6 @@ public interface RoleService extends BaseService{ * @return 权限信息 */ Collection mapToGrantedAuthorities(UserDto user); + + void delete(Set ids); } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/UserService.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/UserService.java index eff85e40..2d182321 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/UserService.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/UserService.java @@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile; import java.util.Map; import java.util.List; import java.io.IOException; +import java.util.Set; import javax.servlet.http.HttpServletResponse; /** @@ -88,4 +89,5 @@ public interface UserService extends BaseService{ */ void update(User resources); + void delete(Set ids); } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/JobQueryCriteria.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/JobQueryCriteria.java index e66e6084..40193ebb 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/JobQueryCriteria.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/JobQueryCriteria.java @@ -26,10 +26,10 @@ public class JobQueryCriteria { @Query private Boolean enabled; - @Query(propName = "id", joinName = "dept") + @Query private Long deptId; - @Query(propName = "id", joinName = "dept", type = Query.Type.IN) + @Query(propName = "deptIds", type = Query.Type.IN) private Set deptIds; @Query(type = Query.Type.BETWEEN) diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/UserQueryCriteria.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/UserQueryCriteria.java index 98d6082c..7ba1c29e 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/UserQueryCriteria.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/UserQueryCriteria.java @@ -26,7 +26,7 @@ public class UserQueryCriteria{ @Query private Long id; - @Query(propName = "id", type = Query.Type.IN, joinName = "dept") + @Query(propName = "deptId", type = Query.Type.IN) private Set deptIds; @Query(blurry = "email,username,nickName") diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java index 7fa7d952..d6d44744 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java @@ -271,4 +271,14 @@ public class RoleServiceImpl extends BaseServiceImpl implement .collect(Collectors.toList()); } + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(Set ids) { + for (Long id : ids) { + rolesMenusService.lambdaUpdate().eq(RolesMenus::getRoleId, id).remove(); + rolesDeptsService.lambdaUpdate().eq(RolesDepts::getRoleId,id).remove(); + } + this.removeByIds(ids); + } + } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java index 41127e8a..350812ce 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java @@ -20,6 +20,7 @@ import co.yixiang.utils.RedisUtils; import co.yixiang.utils.SecurityUtils; import co.yixiang.utils.StringUtils; import co.yixiang.utils.ValidationUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import co.yixiang.dozer.service.IGenerator; import com.github.pagehelper.PageInfo; @@ -72,7 +73,7 @@ public class SysUserServiceImpl extends BaseServiceImpl imp private final RedisUtils redisUtils; private final UsersRolesService usersRolesService; - public SysUserServiceImpl(IGenerator generator, SysUserMapper userMapper, UserAvatarService userAvatarService, JobService jobService, DeptService deptService, RoleService roleService, RoleMapper roleMapper, RedisUtils redisUtils, UsersRolesService usersRolesService) { + public SysUserServiceImpl(IGenerator generator, SysUserMapper userMapper, UserAvatarService userAvatarService, JobService jobService, DeptService deptService, RoleMapper roleMapper, RedisUtils redisUtils, UsersRolesService usersRolesService) { this.generator = generator; this.userMapper = userMapper; this.userAvatarService = userAvatarService; @@ -271,4 +272,13 @@ public class SysUserServiceImpl extends BaseServiceImpl imp this.saveOrUpdate(user); } + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(Set ids) { + for (Long id : ids) { + usersRolesService.lambdaUpdate().eq(UsersRoles ::getUserId,id).remove(); + } + this.removeByIds(ids); + } + }