| | |
| | | package com.example.springboot.controller; |
| | | |
| | | import com.example.springboot.entity.Permission; |
| | | import com.example.springboot.entity.Role; |
| | | import com.example.springboot.entity.RolePermission; |
| | | import com.example.springboot.entity.*; |
| | | import com.example.springboot.entity.vo.Result; |
| | | import com.example.springboot.entity.vo.RolePermissionVo; |
| | | import com.example.springboot.mapper.RolePermissionMapper; |
| | | import com.example.springboot.service.PermissionService; |
| | | import com.example.springboot.service.RolePermissionService; |
| | | import com.example.springboot.service.RoleService; |
| | |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.apache.shiro.authz.annotation.RequiresRoles; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.jdbc.core.JdbcTemplate; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @RestController |
| | | @Slf4j |
| | |
| | | private RoleService roleService; |
| | | @Autowired |
| | | private PermissionService permissionService; |
| | | |
| | | |
| | | |
| | | @ApiOperation(value = "添加或者更新角色和权限关系") |
| | | @PostMapping("/saveOrUpdate") |
| | |
| | | rolePermission.setPermission(permission); |
| | | } |
| | | return Result.success(rolePermission); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | @Autowired |
| | | private JdbcTemplate jdbcTemplate; |
| | | |
| | | @Autowired RolePermissionMapper RolePermissionMapper; |
| | | ; |
| | | |
| | | |
| | | @GetMapping("/getByRoleId") |
| | | public com.example.springboot.common.Result selectquanxian(@RequestParam("roleId") int roleId) { |
| | | List<Map<String, Object>> resultSet = RolePermissionMapper.selectquanxian(roleId); |
| | | |
| | | List<Map<String, Object>> permissions = new ArrayList<>(); |
| | | for (Map<String, Object> result : resultSet) { |
| | | |
| | | Long role_id2 = (Long) result.get("role_id"); |
| | | int state = (int) result.get("state"); |
| | | Long permission_id = (Long) result.get("permission_id"); // 注意这里的类型是Long |
| | | String permissionName = (String) result.get("name"); |
| | | |
| | | Map<String, Object> permission = new HashMap<>(); |
| | | permission.put("roleId", role_id2.intValue()); |
| | | permission.put("name", permissionName); |
| | | permission.put("permission_id", permission_id.intValue()); // 将Long类型转换为int类型 |
| | | permission.put("state", state); |
| | | permissions.add(permission); |
| | | } |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("permissionList", permissions); |
| | | return com.example.springboot.common.Result.success(map); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/savePermissions") |
| | | public Result savePermissions(@RequestBody Map<String, Object> requestBody) { |
| | | try { |
| | | // 获取权限数据列表 |
| | | List<Map<String, Object>> permissions = (List<Map<String, Object>>) requestBody.get("permissions"); |
| | | // 遍历接收到的权限数据 |
| | | for (Map<String, Object> permission : permissions) { |
| | | // 获取权限项的roleId、name、state和permission_id |
| | | int roleId = (int) permission.get("roleId"); |
| | | String name = (String) permission.get("name"); |
| | | int state = (int) permission.get("state"); |
| | | int permissionId = (int) permission.get("permission_id"); |
| | | |
| | | // 根据roleId和permissionId查询是否已存在该权限记录 |
| | | boolean exists = RolePermissionMapper.checkExists(roleId, permissionId); |
| | | |
| | | if (exists) { |
| | | // 如果已存在该权限记录,则更新状态 |
| | | RolePermissionMapper.updateState(roleId, permissionId, state); |
| | | } else { |
| | | // 如果不存在该权限记录,则新增一条权限记录 |
| | | RolePermissionMapper.insert(roleId, permissionId, state); |
| | | } |
| | | } |
| | | |
| | | return Result.success(); // 成功保存权限后返回结果 |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return Result.fail("保存权限失败"); // 保存权限失败时返回错误信息 |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |