From e3baeb8c0c2d71dd39ae693155651141d0b8b597 Mon Sep 17 00:00:00 2001 From: XiaoLFeng Date: Fri, 19 Jan 2024 14:33:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20Role=20=E8=A7=92=E8=89=B2=E8=A1=A8?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsl/oa/controllers/RoleController.java | 27 +++++++++++++++++++ src/main/java/com/jsl/oa/dao/RoleDAO.java | 4 +++ .../java/com/jsl/oa/mapper/RoleMapper.java | 3 +++ .../java/com/jsl/oa/services/RoleService.java | 2 ++ .../jsl/oa/services/impl/RoleServiceImpl.java | 22 +++++++++++++++ 5 files changed, 58 insertions(+) diff --git a/src/main/java/com/jsl/oa/controllers/RoleController.java b/src/main/java/com/jsl/oa/controllers/RoleController.java index bb530a4..4a4e648 100755 --- a/src/main/java/com/jsl/oa/controllers/RoleController.java +++ b/src/main/java/com/jsl/oa/controllers/RoleController.java @@ -15,6 +15,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.regex.Pattern; /** *

角色控制器

@@ -65,6 +67,31 @@ public class RoleController { return roleService.roleEdit(request, roleEditVO); } + /** + *

角色删除

+ *
+ * 角色删除接口 + * + * @param request 请求 + * @param id 角色id + * @return {@link BaseResponse} + */ + @DeleteMapping("/role/delete") + public BaseResponse roleDelete(HttpServletRequest request, @RequestParam String id) { + log.info("请求接口[DELETE]: /role/delete"); + // 判断是否有参数错误 + if (id == null) { + return ResultUtil.error(ErrorCode.PARAMETER_ERROR); + } else { + if (Pattern.matches("^[0-9]+$", id)) { + ArrayList error = new ArrayList<>(); + error.add("id 只能为数字"); + return ResultUtil.error(ErrorCode.PARAMETER_ERROR, error); + } + } + return roleService.roleDelete(request, Long.valueOf(id)); + } + /** * 用户权限授予 * diff --git a/src/main/java/com/jsl/oa/dao/RoleDAO.java b/src/main/java/com/jsl/oa/dao/RoleDAO.java index 7292eec..7d58ae0 100644 --- a/src/main/java/com/jsl/oa/dao/RoleDAO.java +++ b/src/main/java/com/jsl/oa/dao/RoleDAO.java @@ -38,4 +38,8 @@ public class RoleDAO { public boolean roleEdit(RoleDO getRole) { return roleMapper.roleEdit(getRole); } + + public boolean roleDelete(Long id) { + return roleMapper.roleDelete(id); + } } diff --git a/src/main/java/com/jsl/oa/mapper/RoleMapper.java b/src/main/java/com/jsl/oa/mapper/RoleMapper.java index 778a14a..920586d 100644 --- a/src/main/java/com/jsl/oa/mapper/RoleMapper.java +++ b/src/main/java/com/jsl/oa/mapper/RoleMapper.java @@ -29,4 +29,7 @@ public interface RoleMapper { @Update("UPDATE organize_oa.oa_role SET role_name=#{roleName},display_name=#{displayName} WHERE id=#{id}") boolean roleEdit(RoleDO getRole); + + @Delete("DELETE FROM organize_oa.oa_role WHERE id=#{id}") + boolean roleDelete(Long id); } diff --git a/src/main/java/com/jsl/oa/services/RoleService.java b/src/main/java/com/jsl/oa/services/RoleService.java index 1c4479c..cd934f3 100644 --- a/src/main/java/com/jsl/oa/services/RoleService.java +++ b/src/main/java/com/jsl/oa/services/RoleService.java @@ -21,4 +21,6 @@ public interface RoleService { BaseResponse roleGet(HttpServletRequest request, String id); BaseResponse roleEdit(HttpServletRequest request, RoleEditVO roleEditVO); + + BaseResponse roleDelete(HttpServletRequest request, Long id); } diff --git a/src/main/java/com/jsl/oa/services/impl/RoleServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/RoleServiceImpl.java index 4fb8853..1d225fc 100644 --- a/src/main/java/com/jsl/oa/services/impl/RoleServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/RoleServiceImpl.java @@ -84,4 +84,26 @@ public class RoleServiceImpl implements RoleService { return ResultUtil.error(ErrorCode.ROLE_NOT_FOUNDED); } } + + @Override + public BaseResponse roleDelete(HttpServletRequest request, Long id) { + // 检查用户权限 + if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { + return ResultUtil.error(ErrorCode.NOT_ADMIN); + } + // 获取 Role 相关信息 + RoleDO getRole = roleDAO.getRoleById(id); + // 判断是否存在该 Role + if (getRole != null) { + // 删除 Role 信息 + if (roleDAO.roleDelete(id)) { + return ResultUtil.success(); + } else { + return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); + } + } else { + return ResultUtil.error(ErrorCode.ROLE_NOT_FOUNDED); + } + + } }