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); + } + }