diff --git a/schoolNewsServ/.bin/mysql/sql/createTablePermission.sql b/schoolNewsServ/.bin/mysql/sql/createTablePermission.sql index 0ce380a..aeec940 100644 --- a/schoolNewsServ/.bin/mysql/sql/createTablePermission.sql +++ b/schoolNewsServ/.bin/mysql/sql/createTablePermission.sql @@ -57,9 +57,9 @@ CREATE TABLE `tb_sys_dept_role` ( UNIQUE KEY `uk_dept_role` (`dept_id`, `role_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -INSERT INTO `tb_sys_dept_role` (id, dept_id, role_id) VALUES -('1', 'root_department', 'admin'), -('2', 'default_department', 'freedom'); +INSERT INTO `tb_sys_dept_role` (id, dept_id, role_id, creator, create_time) VALUES +('1', 'root_department', 'admin', '1', now()), +('2', 'default_department', 'freedom', '1', now()); -- 用户-角色关联 DROP TABLE IF EXISTS `tb_sys_user_dept_role`; @@ -78,7 +78,7 @@ CREATE TABLE `tb_sys_user_dept_role` ( UNIQUE KEY `uk_user_dept_role` (`user_id`, `dept_id`, `role_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -INSERT INTO `tb_sys_user_dept_role` (id, user_id, dept_id, role_id) VALUES ('1', '1', 'root_department', 'admin'); +INSERT INTO `tb_sys_user_dept_role` (id, user_id, dept_id, role_id, creator, create_time) VALUES ('1', '1', 'root_department', 'admin', '1', now()); -- 权限表 DROP TABLE IF EXISTS `tb_sys_permission`; @@ -98,12 +98,12 @@ CREATE TABLE `tb_sys_permission` ( UNIQUE KEY `uk_permission_id` (`permission_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -INSERT INTO `tb_sys_permission` (id,permission_id, name, code, description) VALUES -('1','perm_system_manage', '系统管理', 'system:manage', '系统管理权限'), -('2','perm_system_dept_manage', '系统部门查看', 'system:dept:manage', '系统部门查看权限'), -('3','perm_system_menu_manage', '系统菜单查看', 'system:menu:manage', '系统菜单查看权限'), -('4','perm_system_permission_manage', '系统权限查看', 'system:permission:manage', '系统权限查看权限'), -('5','perm_system_role_manage', '系统角色查看', 'system:role:manage', '系统角色查看权限'); +INSERT INTO `tb_sys_permission` (id,permission_id, name, code, description, creator, create_time) VALUES +('1','perm_system_manage', '系统管理', 'system:manage', '系统管理权限', '1', now()), +('2','perm_system_dept_manage', '系统部门查看', 'system:dept:manage', '系统部门查看权限', '1', now()), +('3','perm_system_menu_manage', '系统菜单查看', 'system:menu:manage', '系统菜单查看权限', '1', now()), +('4','perm_system_permission_manage', '系统权限查看', 'system:permission:manage', '系统权限查看权限', '1', now()), +('5','perm_system_role_manage', '系统角色查看', 'system:role:manage', '系统角色查看权限', '1', now()); -- 角色-权限关联 DROP TABLE IF EXISTS `tb_sys_role_permission`; @@ -121,12 +121,12 @@ CREATE TABLE `tb_sys_role_permission` ( UNIQUE KEY `uk_role_permission` (`role_id`, `permission_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -INSERT INTO `tb_sys_role_permission` (id, role_id, permission_id) VALUES -('1', 'admin', 'perm_system_manage'), -('2', 'admin', 'perm_system_dept_manage'), -('3', 'admin', 'perm_system_menu_manage'), -('4', 'admin', 'perm_system_permission_manage'), -('5', 'admin', 'perm_system_role_manage'); +INSERT INTO `tb_sys_role_permission` (id, role_id, permission_id, creator, create_time) VALUES +('1', 'admin', 'perm_system_manage', '1', now()), +('2', 'admin', 'perm_system_dept_manage', '1', now()), +('3', 'admin', 'perm_system_menu_manage', '1', now()), +('4', 'admin', 'perm_system_permission_manage', '1', now()), +('5', 'admin', 'perm_system_role_manage', '1', now()); -- 菜单表 DROP TABLE IF EXISTS `tb_sys_menu`; @@ -152,12 +152,12 @@ CREATE TABLE `tb_sys_menu` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- Insert default menus -INSERT INTO `tb_sys_menu` (id,menu_id, name, parent_id, url, component, icon, order_num, type) VALUES -('1','menu_system_manage', '系统管理', NULL, '/manage/system/manage', 'manage/system/ManageView', 'el-icon-setting', 1, 1), -('2','menu_system_dept', '部门管理', 'menu_system_manage', '/manage/system/dept', 'manage/system/DeptManageView', 'el-icon-office-building', 2, 1), -('3','menu_system_menu', '菜单管理', 'menu_system_manage', '/manage/system/menu', 'manage/system/MenuManageView', 'el-icon-menu', 2, 1), -('4','menu_system_permission', '权限管理', 'menu_system_manage', '/manage/system/permission', 'manage/system/PermissionManageView', 'el-icon-key', 3, 1), -('5','menu_system_role', '角色管理', 'menu_system_manage', '/manage/system/role', 'manage/system/RoleManageView', 'el-icon-user', 4, 1); +INSERT INTO `tb_sys_menu` (id,menu_id, name, parent_id, url, component, icon, order_num, type, creator, create_time) VALUES +('1','menu_system_manage', '系统管理', NULL, '/manage/system/manage', 'manage/system/ManageView', 'el-icon-setting', 1, 1, '1', now()), +('2','menu_system_dept', '部门管理', 'menu_system_manage', '/manage/system/dept', 'manage/system/DeptManageView', 'el-icon-office-building', 2, 1, '1', now()), +('3','menu_system_menu', '菜单管理', 'menu_system_manage', '/manage/system/menu', 'manage/system/MenuManageView', 'el-icon-menu', 2, 1, '1', now()), +('4','menu_system_permission', '权限管理', 'menu_system_manage', '/manage/system/permission', 'manage/system/PermissionManageView', 'el-icon-key', 3, 1, '1', now()), +('5','menu_system_role', '角色管理', 'menu_system_manage', '/manage/system/role', 'manage/system/RoleManageView', 'el-icon-user', 4, 1, '1', now()); DROP TABLE IF EXISTS `tb_sys_menu_permission`; CREATE TABLE `tb_sys_menu_permission` ( @@ -174,9 +174,9 @@ CREATE TABLE `tb_sys_menu_permission` ( UNIQUE KEY `uk_menu_permission` (`menu_id`, `permission_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; -- Insert menu-permission associations -INSERT INTO `tb_sys_menu_permission` (id, permission_id, menu_id) VALUES -('1', 'perm_system_manage', 'menu_system_manage'), -('2', 'perm_system_dept_manage', 'menu_system_dept'), -('3', 'perm_system_menu_manage', 'menu_system_menu'), -('4', 'perm_system_permission_manage', 'menu_system_permission'), -('5', 'perm_system_role_manage', 'menu_system_role'); \ No newline at end of file +INSERT INTO `tb_sys_menu_permission` (id, permission_id, menu_id, creator, create_time) VALUES +('1', 'perm_system_manage', 'menu_system_manage', '1', now()), +('2', 'perm_system_dept_manage', 'menu_system_dept', '1', now()), +('3', 'perm_system_menu_manage', 'menu_system_menu', '1', now()), +('4', 'perm_system_permission_manage', 'menu_system_permission', '1', now()), +('5', 'perm_system_role_manage', 'menu_system_role', '1', now()); \ No newline at end of file diff --git a/schoolNewsServ/api/api-system/src/main/java/org/xyzh/api/system/permission/PermissionService.java b/schoolNewsServ/api/api-system/src/main/java/org/xyzh/api/system/permission/PermissionService.java index a598b0a..597e954 100644 --- a/schoolNewsServ/api/api-system/src/main/java/org/xyzh/api/system/permission/PermissionService.java +++ b/schoolNewsServ/api/api-system/src/main/java/org/xyzh/api/system/permission/PermissionService.java @@ -7,6 +7,7 @@ import java.util.Set; import org.xyzh.common.core.domain.ResultDomain; import org.xyzh.common.dto.permission.TbSysPermission; import org.xyzh.common.dto.role.TbSysRolePermission; +import org.xyzh.common.vo.PermissionVO; import org.xyzh.common.dto.menu.TbSysMenuPermission; /** @@ -19,7 +20,7 @@ import org.xyzh.common.dto.menu.TbSysMenuPermission; public interface PermissionService { - /** + /** * @description 创建权限 * @param permission 权限对象 * @return ResultDomain 创建结果 @@ -28,6 +29,15 @@ public interface PermissionService { */ ResultDomain createPermission(TbSysPermission permission); + /** + * @description 获取权限 + * @param permission 权限对象 + * @return ResultDomain 权限对象 + * @author yslg + * @since 2025-10-08 + */ + ResultDomain getPermissionVO(PermissionVO permission); + /** * @description 更新权限 * @param permission 权限对象 @@ -135,4 +145,23 @@ public interface PermissionService { * @since 2025-09-28 */ ResultDomain getPermissionsByRoleId(String roleId); + + + /** + * @description 查询权限列表 + * @param permission 权限对象 + * @return ResultDomain 权限列表 + * @author yslg + * @since 2025-10-08 + */ + ResultDomain listPermission(PermissionVO permission); + + /** + * @description 查询权限绑定列表 + * @param permission 权限对象 + * @return ResultDomain 权限绑定列表 + * @author yslg + * @since 2025-10-08 + */ + ResultDomain listPermissionBinding(PermissionVO permission); } diff --git a/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/PermissionVO.java b/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/PermissionVO.java new file mode 100644 index 0000000..90a919c --- /dev/null +++ b/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/PermissionVO.java @@ -0,0 +1,182 @@ +package org.xyzh.common.vo; + +import org.xyzh.common.dto.permission.TbSysPermission; +import org.xyzh.common.dto.role.TbSysRole; + +import java.util.List; + +import org.xyzh.common.dto.BaseDTO; +import org.xyzh.common.dto.menu.TbSysMenu; + + +public class PermissionVO extends BaseDTO{ + private static final long serialVersionUID = 1L; + + /** + * @description 权限ID + * @author yslg + * @since 2024-06 + */ + private String permissionID; + + /** + * @description 权限名称 + * @author yslg + * @since 2024-06 + */ + private String name; + + /** + * @description 权限描述 + * @author yslg + * @since 2024-06 + */ + private String description; + + /** + * @description 权限编码 + * @author yslg + * @since 2024-06 + */ + private String code; + + /** + * @description 创建人 + * @author yslg + * @since 2024-06 + */ + private String creator; + + /** + * @description 创建人名称 + * @author yslg + * @since 2024-06 + */ + private String creatorName; + + /** + * @description 更新人 + * @author yslg + * @since 2024-06 + */ + private String updater; + + /** + * @description 绑定类型 + * @author yslg + * @since 2024-06 + */ + private String bindType; + + /** + * @description 绑定菜单 + * @author yslg + * @since 2024-06 + */ + private List menus; + + /** + * @description 绑定角色 + * @author yslg + * @since 2024-06 + */ + private List roles; + + /** + * @description 更新人名称 + * @author yslg + * @since 2024-06 + */ + private String updaterName; + + public String getPermissionID() { + return permissionID; + } + + public void setPermissionID(String permissionID) { + this.permissionID = permissionID; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getCreator() { + return creator; + } + + public void setCreator(String creator) { + this.creator = creator; + } + + public String getCreatorName() { + return creatorName; + } + + public void setCreatorName(String creatorName) { + this.creatorName = creatorName; + } + + public String getUpdater() { + return updater; + } + + public void setUpdater(String updater) { + this.updater = updater; + } + + public String getUpdaterName() { + return updaterName; + } + + public void setUpdaterName(String updaterName) { + this.updaterName = updaterName; + } + + public String getBindType() { + return bindType; + } + + public void setBindType(String bindType) { + this.bindType = bindType; + } + + public List getMenus() { + return menus; + } + + public void setMenus(List menus) { + this.menus = menus; + } + + public List getRoles() { + return roles; + } + + public void setRoles(List roles) { + this.roles = roles; + } + + + +} diff --git a/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/UserVO.java b/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/UserVO.java index 0d70e70..76f9523 100644 --- a/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/UserVO.java +++ b/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/UserVO.java @@ -21,5 +21,6 @@ public class UserVO { private String deleted; private String status; + } diff --git a/schoolNewsServ/system/src/main/java/org/xyzh/system/controller/PermissionController.java b/schoolNewsServ/system/src/main/java/org/xyzh/system/controller/PermissionController.java index 7562339..f13d66c 100644 --- a/schoolNewsServ/system/src/main/java/org/xyzh/system/controller/PermissionController.java +++ b/schoolNewsServ/system/src/main/java/org/xyzh/system/controller/PermissionController.java @@ -3,16 +3,18 @@ package org.xyzh.system.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.RestController; import org.xyzh.api.system.permission.PermissionService; import org.xyzh.common.core.domain.ResultDomain; import org.xyzh.common.dto.permission.TbSysPermission; - -import java.util.List; +import org.xyzh.common.vo.PermissionVO; @RestController @RequestMapping("/permissions") @@ -29,10 +31,21 @@ public class PermissionController { * @ since 2025-10-06 */ @PostMapping("/permission") - public ResultDomain createPermission(TbSysPermission permission) { + public ResultDomain createPermission(@RequestBody TbSysPermission permission) { return permissionService.createPermission(permission); } + /** + * @description 获取权限 + * @param permission + * @author yslg + * @ since 2025-10-06 + */ + @GetMapping("/permission") + public ResultDomain getPermission(@RequestParam PermissionVO permission) { + return permissionService.getPermissionVO(permission); + } + /** * @description 更新权限 * @param permission @@ -40,7 +53,7 @@ public class PermissionController { * @ since 2025-10-06 */ @PutMapping("/permission") - public ResultDomain updatePermission(TbSysPermission permission) { + public ResultDomain updatePermission(@RequestBody TbSysPermission permission) { return permissionService.updatePermission(permission); } @@ -51,8 +64,29 @@ public class PermissionController { * @ since 2025-10-06 */ @DeleteMapping("/permission") - public ResultDomain deletePermission(String permissionID) { + public ResultDomain deletePermission(@RequestBody String permissionID) { return permissionService.deletePermission(permissionID); } + /** + * @description 查询权限列表 + * @param permission + * @author yslg + * @ since 2025-10-06 + */ + @PostMapping("/list") + public ResultDomain listPermission(@RequestBody PermissionVO permission) { + return permissionService.listPermission(permission); + } + + /** + * @description 查询权限绑定列表 + * @param permission + * @author yslg + * @ since 2025-10-06 + */ + @PostMapping("/list/binding") + public ResultDomain listPermissionBinding(@RequestBody PermissionVO permission) { + return permissionService.listPermissionBinding(permission); + } } diff --git a/schoolNewsServ/system/src/main/java/org/xyzh/system/mapper/PermissionMapper.java b/schoolNewsServ/system/src/main/java/org/xyzh/system/mapper/PermissionMapper.java index 9329621..b9c3ce0 100644 --- a/schoolNewsServ/system/src/main/java/org/xyzh/system/mapper/PermissionMapper.java +++ b/schoolNewsServ/system/src/main/java/org/xyzh/system/mapper/PermissionMapper.java @@ -3,7 +3,10 @@ package org.xyzh.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.xyzh.common.dto.menu.TbSysMenu; import org.xyzh.common.dto.permission.TbSysPermission; +import org.xyzh.common.dto.role.TbSysRole; +import org.xyzh.common.vo.PermissionVO; import java.util.List; @@ -17,6 +20,33 @@ import java.util.List; @Mapper public interface PermissionMapper extends BaseMapper { + /** + * @description 插入权限 + * @param permission 权限对象 + * @return int 影响行数 + * @author yslg + * @since 2025-10-08 + */ + int insertPermission(@Param("permission") TbSysPermission permission); + + /** + * @description 根据ID更新权限 + * @param permission 权限对象 + * @return int 影响行数 + * @author yslg + * @since 2025-10-08 + */ + int updatePermission(@Param("permission") TbSysPermission permission); + + /** + * @description 根据ID删除权限(逻辑删除) + * @param permission 权限对象 + * @return int 影响行数 + * @author yslg + * @since 2025-10-08 + */ + int deletePermission(@Param("permission") TbSysPermission permission); + /** * @description 根据用户ID查询权限列表 * @param userId 用户ID @@ -72,7 +102,7 @@ public interface PermissionMapper extends BaseMapper { * @author yslg * @since 2025-09-28 */ - int batchDeleteByIds(@Param("permissionIds") List permissionIds, @Param("updater") String updater); + int batchDeletePermissions(@Param("permissionIds") List permissionIds, @Param("updater") String updater); /** * @description 检查权限是否存在 @@ -82,4 +112,49 @@ public interface PermissionMapper extends BaseMapper { * @since 2025-10-07 */ List checkPermissionExists(@Param("permissionIds") List permissionIds); + + /** + * @description 查询权限 + * @param permission 权限对象 + * @return TbSysPermission 权限对象 + * @author yslg + * @since 2025-10-08 + */ + TbSysPermission selectPermission(@Param("permission") TbSysPermission permission); + + /** + * @description 查询权限列表 + * @param permission 权限对象 + * @return List 权限列表 + * @author yslg + * @since 2025-10-08 + */ + List selectPermissionList(@Param("permission") PermissionVO permission); + + /** + * @description 查询权限 + * @param permission 权限对象 + * @return PermissionVO 权限对象 + * @author yslg + * @since 2025-10-08 + */ + PermissionVO selectPermissionVO(@Param("permission") PermissionVO permission); + + /** + * @description 查询权限绑定菜单 + * @param permission 权限对象 + * @return List 权限绑定菜单列表 + * @author yslg + * @since 2025-10-08 + */ + List selectPermissionBindMenu(PermissionVO permission); + + /** + * @description 查询权限绑定角色 + * @param permission 权限对象 + * @return List 权限绑定角色列表 + * @author yslg + * @since 2025-10-08 + */ + List selectPermissionBindRole(PermissionVO permission); } diff --git a/schoolNewsServ/system/src/main/java/org/xyzh/system/permission/service/SysPermissionService.java b/schoolNewsServ/system/src/main/java/org/xyzh/system/permission/service/SysPermissionService.java index 57759be..4469291 100644 --- a/schoolNewsServ/system/src/main/java/org/xyzh/system/permission/service/SysPermissionService.java +++ b/schoolNewsServ/system/src/main/java/org/xyzh/system/permission/service/SysPermissionService.java @@ -1,6 +1,9 @@ package org.xyzh.system.permission.service; import org.xyzh.api.system.permission.PermissionService; +import org.xyzh.common.core.domain.ResultDomain; +import org.xyzh.common.dto.permission.TbSysPermission; +import org.xyzh.common.vo.PermissionVO; /** * @description SysPermissionService.java文件描述 系统权限服务接口 diff --git a/schoolNewsServ/system/src/main/java/org/xyzh/system/permission/service/impl/SysPermissionServiceImpl.java b/schoolNewsServ/system/src/main/java/org/xyzh/system/permission/service/impl/SysPermissionServiceImpl.java index 2b4905c..7701552 100644 --- a/schoolNewsServ/system/src/main/java/org/xyzh/system/permission/service/impl/SysPermissionServiceImpl.java +++ b/schoolNewsServ/system/src/main/java/org/xyzh/system/permission/service/impl/SysPermissionServiceImpl.java @@ -18,6 +18,7 @@ import org.xyzh.common.dto.role.TbSysRolePermission; import org.xyzh.common.dto.menu.TbSysMenu; import org.xyzh.common.dto.menu.TbSysMenuPermission; import org.xyzh.common.utils.IDUtils; +import org.xyzh.common.vo.PermissionVO; import org.xyzh.system.mapper.MenuPermissionMapper; import org.xyzh.system.mapper.MenuMapper; import org.xyzh.system.mapper.PermissionMapper; @@ -109,7 +110,7 @@ public class SysPermissionServiceImpl implements SysPermissionService { permission.setCreateTime(new Date()); // 插入数据库 - int result = permissionMapper.insert(permission); + int result = permissionMapper.insertPermission(permission); if (result > 0) { logger.info("创建权限成功:{}", permission.getName()); @@ -128,6 +129,19 @@ public class SysPermissionServiceImpl implements SysPermissionService { } } + + @Override + public ResultDomain getPermissionVO(PermissionVO filter) { + ResultDomain resultDomain = new ResultDomain<>(); + PermissionVO permission = permissionMapper.selectPermissionVO(filter); + if (permission == null) { + resultDomain.fail("权限不存在"); + return resultDomain; + } + resultDomain.success("查询成功", permission); + return resultDomain; + } + @Transactional @Override public ResultDomain updatePermission(TbSysPermission permission) { @@ -182,7 +196,7 @@ public class SysPermissionServiceImpl implements SysPermissionService { permission.setUpdateTime(new Date()); // 更新数据库 - int result = permissionMapper.updateById(permission); + int result = permissionMapper.updatePermission(permission); if (result > 0) { logger.info("更新权限成功:{}", permission.getPermissionID()); @@ -205,6 +219,11 @@ public class SysPermissionServiceImpl implements SysPermissionService { @Override public ResultDomain deletePermission(String permissionId) { ResultDomain resultDomain = new ResultDomain<>(); + TbSysUser user = LoginUtil.getCurrentUser(); + if (user == null) { + resultDomain.fail("当前用户不存在"); + return resultDomain; + } try { logger.info("开始删除权限:{}", permissionId); @@ -224,10 +243,13 @@ public class SysPermissionServiceImpl implements SysPermissionService { // 逻辑删除 TbSysPermission permission = existResult.getData(); + Date now = new Date(); permission.setDeleted(true); - permission.setDeleteTime(new Date()); + permission.setDeleteTime(now); + permission.setUpdater(user.getID()); + permission.setUpdateTime(now); - int result = permissionMapper.updateById(permission); + int result = permissionMapper.deletePermission(permission); if (result > 0) { logger.info("删除权限成功:{}", permissionId); @@ -247,6 +269,34 @@ public class SysPermissionServiceImpl implements SysPermissionService { } + /** + * @description 查询权限绑定列表 + * @param permission + * @author yslg + * @ since 2025-10-08 + */ + @Override + public ResultDomain listPermissionBinding(PermissionVO permission) { + ResultDomain resultDomain = new ResultDomain<>(); + if (!permission.getBindType().equals("menu") && !permission.getBindType().equals("role")) { + resultDomain.fail("绑定类型不存在"); + return resultDomain; + } + PermissionVO permissionVO = permissionMapper.selectPermissionVO(permission); + + if (permission.getBindType().equals("menu")) { + List bindMenus = permissionMapper.selectPermissionBindMenu(permission); + permissionVO.setMenus(bindMenus); + resultDomain.success("查询权限绑定列表成功", permissionVO); + return resultDomain; + } else { + List bindRoles = permissionMapper.selectPermissionBindRole(permission); + permissionVO.setRoles(bindRoles); + resultDomain.success("查询权限绑定角色列表成功", permissionVO); + return resultDomain; + } + } + // ----------------------角色权限管理-------------------------- /** * @description 角色权限绑定 @@ -751,11 +801,10 @@ public class SysPermissionServiceImpl implements SysPermissionService { return resultDomain; } - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(TbSysPermission::getPermissionID, permissionId) - .eq(TbSysPermission::getDeleted, false); + TbSysPermission permissionQY = new TbSysPermission(); + permissionQY.setPermissionID(permissionId); - TbSysPermission permission = permissionMapper.selectOne(queryWrapper); + TbSysPermission permission = permissionMapper.selectPermission(permissionQY); if (permission == null) { logger.warn("未找到权限:{}", permissionId); @@ -852,4 +901,23 @@ public class SysPermissionServiceImpl implements SysPermissionService { } } + /** + * @description 查询权限列表 + * @param permission 权限对象 + * @return ResultDomain 权限列表 + * @author yslg + * @ since 2025-10-08 + */ + @Override + public ResultDomain listPermission(PermissionVO permission) { + ResultDomain resultDomain = new ResultDomain<>(); + List permissions = permissionMapper.selectPermissionList(permission); + if (permissions.isEmpty()) { + resultDomain.fail("权限不存在"); + return resultDomain; + } + resultDomain.success("查询成功", permissions); + return resultDomain; + } + } diff --git a/schoolNewsServ/system/src/main/resources/mapper/PermissionMapper.xml b/schoolNewsServ/system/src/main/resources/mapper/PermissionMapper.xml index 2afc5f8..1695a62 100644 --- a/schoolNewsServ/system/src/main/resources/mapper/PermissionMapper.xml +++ b/schoolNewsServ/system/src/main/resources/mapper/PermissionMapper.xml @@ -17,6 +17,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, permission_id, name, code, description, creator, updater, @@ -112,55 +142,57 @@ - + INSERT INTO tb_sys_permission - id, - permission_id, - name, - code, - description, - creator, - create_time, + id, + permission_id, + name, + code, + description, + creator, + create_time, deleted - #{id}, - #{permissionID}, - #{name}, - #{code}, - #{description}, - #{creator}, - #{createTime}, + #{permission.id}, + #{permission.permissionID}, + #{permission.name}, + #{permission.code}, + #{permission.description}, + #{permission.creator}, + #{permission.createTime}, 0 - + UPDATE tb_sys_permission - permission_id = #{permissionID}, - name = #{name}, - code = #{code}, - description = #{description}, - updater = #{updater}, + permission_id = #{permission.permissionID}, + name = #{permission.name}, + code = #{permission.code}, + description = #{permission.description}, + updater = #{permission.updater}, update_time = NOW() - WHERE id = #{id} AND deleted = 0 + WHERE id = #{permission.id} AND deleted = 0 - + UPDATE tb_sys_permission SET deleted = 1, - delete_time = NOW() - WHERE id = #{id} AND deleted = 0 + delete_time = #{permission.deleteTime}, + updater = #{permission.updater}, + update_time = #{permission.updateTime} + WHERE id = #{permission.id} AND deleted = 0 - SELECT FROM tb_sys_permission @@ -170,4 +202,90 @@ #{permissionId} + + + + + + + + + + + + + + + +