From 2c2d541aa1c5060b47c1ba5c6e3d192b2ff82fef Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期日, 28 四月 2024 14:15:21 +0800 Subject: [PATCH] fixbug:权限功能实现用户重复登录异常 --- hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java | 117 ++-------------------------------------------------------- 1 files changed, 4 insertions(+), 113 deletions(-) diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java index 18ee6a6..8cb18bf 100644 --- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java +++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java @@ -1,23 +1,9 @@ package com.mes.role.controller; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.mes.role.entity.SysRole; -import com.mes.role.entity.SysRoleMenu; -import com.mes.userinfo.entity.SysUserRole; -import com.mes.utils.Result; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; +import com.mes.base.BaseController; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * <p> @@ -29,101 +15,6 @@ */ @RestController @RequestMapping("/role/sys-role") -public class SysRoleController { - @PreAuthorize("hasAuthority('sys:role:list')") - @GetMapping("/info/{id}") - public Result info(@PathVariable("id") Long id) { - - SysRole sysRole = sysRoleService.getById(id); - - // 鑾峰彇瑙掕壊鐩稿叧鑱旂殑鑿滃崟id - List<SysRoleMenu> roleMenus = sysRoleMenuService.list(new QueryWrapper<SysRoleMenu>().eq("role_id", id)); - List<Long> menuIds = roleMenus.stream().map(p -> p.getMenuId()).collect(Collectors.toList()); - - sysRole.setMenuIds(menuIds); - return Result.success(sysRole); - } - - @PreAuthorize("hasAuthority('sys:role:list')") - @GetMapping("/list") - public Result list(String name) { - - Page<SysRole> pageData = sysRoleService.page(getPage(), - new QueryWrapper<SysRole>() - .like(StrUtil.isNotBlank(name), "name", name) - ); - - return Result.success(pageData); - } - - @PostMapping("/save") - @PreAuthorize("hasAuthority('sys:role:save')") - public Result save(@Validated @RequestBody SysRole sysRole) { - - sysRole.setCreated(LocalDateTime.now()); - sysRole.setStatu(Const.STATUS_ON); - - sysRoleService.save(sysRole); - return Result.success(sysRole); - } - - @PostMapping("/update") - @PreAuthorize("hasAuthority('sys:role:update')") - public Result update(@Validated @RequestBody SysRole sysRole) { - - sysRole.setUpdated(LocalDateTime.now()); - - sysRoleService.updateById(sysRole); - - // 鏇存柊缂撳瓨 - sysUserService.clearUserAuthorityInfoByRoleId(sysRole.getId()); - - return Result.success(sysRole); - } - - @PostMapping("/delete") - @PreAuthorize("hasAuthority('sys:role:delete')") - @Transactional - public Result info(@RequestBody Long[] ids) { - - sysRoleService.removeByIds(Arrays.asList(ids)); - - // 鍒犻櫎涓棿琛� - sysUserRoleService.remove(new QueryWrapper<SysUserRole>().in("role_id", ids)); - sysRoleMenuService.remove(new QueryWrapper<SysRoleMenu>().in("role_id", ids)); - - // 缂撳瓨鍚屾鍒犻櫎 - Arrays.stream(ids).forEach(id -> { - // 鏇存柊缂撳瓨 - sysUserService.clearUserAuthorityInfoByRoleId(id); - }); - - return Result.success(""); - } - - @Transactional - @PostMapping("/perm/{roleId}") - @PreAuthorize("hasAuthority('sys:role:perm')") - public Result info(@PathVariable("roleId") Long roleId, @RequestBody Long[] menuIds) { - - List<SysRoleMenu> sysRoleMenus = new ArrayList<>(); - - Arrays.stream(menuIds).forEach(menuId -> { - SysRoleMenu roleMenu = new SysRoleMenu(); - roleMenu.setMenuId(menuId); - roleMenu.setRoleId(roleId); - - sysRoleMenus.add(roleMenu); - }); - - // 鍏堝垹闄ゅ師鏉ョ殑璁板綍锛屽啀淇濆瓨鏂扮殑 - sysRoleMenuService.remove(new QueryWrapper<SysRoleMenu>().eq("role_id", roleId)); - sysRoleMenuService.saveBatch(sysRoleMenus); - - // 鍒犻櫎缂撳瓨 - sysUserService.clearUserAuthorityInfoByRoleId(roleId); - - return Result.success(menuIds); - } +public class SysRoleController extends BaseController { } -- Gitblit v1.8.0