|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.Wrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | 
|---|
|  |  |  | import com.ruoyi.chargingPile.api.feignClient.SiteClient; | 
|---|
|  |  |  | import com.ruoyi.chargingPile.api.model.Site; | 
|---|
|  |  |  | import com.ruoyi.common.core.domain.R; | 
|---|
|  |  |  | import com.ruoyi.common.core.utils.StringUtils; | 
|---|
|  |  |  | import com.ruoyi.common.core.web.page.BasePage; | 
|---|
|  |  |  | import com.ruoyi.common.core.web.page.PageInfo; | 
|---|
|  |  |  | import com.ruoyi.other.api.domain.TRoleSite; | 
|---|
|  |  |  | import com.ruoyi.other.api.feignClient.RoleSiteClient; | 
|---|
|  |  |  | import com.ruoyi.system.api.model.GetSysRoleByIds; | 
|---|
|  |  |  | import com.ruoyi.system.domain.SysMenus; | 
|---|
|  |  |  | import com.ruoyi.system.domain.SysRoleMenu; | 
|---|
|  |  |  | import com.ruoyi.system.domain.SysUserRole; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.ruoyi.system.service.ISysRoleService; | 
|---|
|  |  |  | import com.ruoyi.system.service.ISysUserRoleService; | 
|---|
|  |  |  | import com.ruoyi.system.service.ISysUserService; | 
|---|
|  |  |  | import io.seata.spring.annotation.GlobalTransactional; | 
|---|
|  |  |  | import io.swagger.annotations.Api; | 
|---|
|  |  |  | import io.swagger.annotations.ApiOperation; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 角色信息 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @author ruoyi | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @RequestMapping("/role") | 
|---|
|  |  |  | @Api(tags = "角色模块") | 
|---|
|  |  |  | public class SysRoleController extends BaseController | 
|---|
|  |  |  | { | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ISysRoleService roleService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ISysUserService userService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ISysDeptService deptService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SysRoleMenuMapper sysRoleMenuMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ISysUserRoleService sysUserRoleService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SysMenuMapper menuMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("获取所有角色信息根据公司id") | 
|---|
|  |  |  | @GetMapping("/list") | 
|---|
|  |  |  | public AjaxResult list(Integer companyId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SysRole role = new SysRole(); | 
|---|
|  |  |  | role.setCompanyId(companyId); | 
|---|
|  |  |  | List<SysRole> list = roleService.selectRoleList(role); | 
|---|
|  |  |  | return AjaxResult.success(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("获取所有角色信息根据公司id--分页") | 
|---|
|  |  |  | @GetMapping("/listPage") | 
|---|
|  |  |  | public AjaxResult listPage(Integer companyId,int pageNumber,int pageSize) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | PageInfo<SysRole> pageInfo = new PageInfo<>(pageNumber, pageSize); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | PageInfo<SysRole> page = roleService.page(pageInfo, new LambdaQueryWrapper<SysRole>().eq(SysRole::getCompanyId, companyId).ne(SysRole::getRoleId,20)); | 
|---|
|  |  |  | return AjaxResult.success(page); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("角色启用停用") | 
|---|
|  |  |  | @GetMapping("/roleStart") | 
|---|
|  |  |  | public AjaxResult roleStart(Long roleId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SysRole role = roleService.selectRoleById(roleId); | 
|---|
|  |  |  | if(role.getStatus().equals("1")){ | 
|---|
|  |  |  | role.setStatus("0"); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | role.setStatus("1"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return AjaxResult.success(roleService.updateRole(role)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("添加角色") | 
|---|
|  |  |  | @PostMapping("/roleAdd") | 
|---|
|  |  |  | public AjaxResult roleAdd(@Validated @RequestBody RoleAddDto dto) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SysRole role = new SysRole(); | 
|---|
|  |  |  | role.setRoleName(dto.getRoleName()); | 
|---|
|  |  |  | long count = roleService.count(Wrappers.lambdaQuery(SysRole.class) | 
|---|
|  |  |  | .eq(SysRole::getRoleName,dto.getRoleName()) | 
|---|
|  |  |  | .eq(SysRole::getCompanyId,dto.getCompanyId())); | 
|---|
|  |  |  | if(count>0){ | 
|---|
|  |  |  | return AjaxResult.error("角色已存在,请重新输入"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Long> menuIds1 = dto.getMenuIds(); | 
|---|
|  |  |  | if(CollectionUtils.isEmpty(menuIds1)){ | 
|---|
|  |  |  | return AjaxResult.error("菜单id不能为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | role.setMenuIds(dto.getMenuIds().toArray((new Long[dto.getMenuIds().size()]))); | 
|---|
|  |  |  | // 添加角色 | 
|---|
|  |  |  | role.setCompanyId(dto.getCompanyId()); | 
|---|
|  |  |  | role.setCarDataAuth(dto.getCarDataAuth()); | 
|---|
|  |  |  | role.setCarTrainOperAuth(dto.getCarTrainOperAuth()); | 
|---|
|  |  |  | role.setContractDataAuth(dto.getContractDataAuth()); | 
|---|
|  |  |  | role.setCreateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | role.setCreateTime(new Date()); | 
|---|
|  |  |  | roleService.insertRole(role); | 
|---|
|  |  |  | //        ArrayList<SysRoleMenu> sysRoleMenus = new ArrayList<>(); | 
|---|
|  |  |  | //        List<Long> menuIds = dto.getMenuIds(); | 
|---|
|  |  |  | //        for (Long menuId : menuIds) { | 
|---|
|  |  |  | //            SysRoleMenu sysRoleMenu = new SysRoleMenu(); | 
|---|
|  |  |  | //            sysRoleMenu.setMenuId(menuId); | 
|---|
|  |  |  | //            sysRoleMenu.setRoleId(role.getRoleId()); | 
|---|
|  |  |  | //            sysRoleMenus.add(sysRoleMenu); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        sysRoleMenuMapper.batchRoleMenu(sysRoleMenus); | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("角色详情") | 
|---|
|  |  |  | @GetMapping("/roleInfo") | 
|---|
|  |  |  | public AjaxResult roleInfo( @RequestParam Long id) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SysRole role = roleService.selectRoleById(id); | 
|---|
|  |  |  | RoleInfoVo roleInfoVo = new RoleInfoVo(); | 
|---|
|  |  |  | roleInfoVo.setRoleId(role.getRoleId()); | 
|---|
|  |  |  | roleInfoVo.setCarDataAuth(role.getCarDataAuth()); | 
|---|
|  |  |  | roleInfoVo.setCarTrainOperAuth(role.getCarTrainOperAuth()); | 
|---|
|  |  |  | roleInfoVo.setContractDataAuth(role.getContractDataAuth()); | 
|---|
|  |  |  | roleInfoVo.setRoleName(role.getRoleName()); | 
|---|
|  |  |  | // 获取当前角色的菜单id | 
|---|
|  |  |  | List<Long> menusId = sysRoleMenuMapper.selectList(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, id)).stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); | 
|---|
|  |  |  | if(menusId.size()==0){ | 
|---|
|  |  |  | return AjaxResult.success(new ArrayList<>()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //获取当前的权限菜单 | 
|---|
|  |  |  | List<SysMenus> all = menuMapper.getAllInIds(menusId); | 
|---|
|  |  |  | // 第三级 | 
|---|
|  |  |  | List<SysMenus> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList()); | 
|---|
|  |  |  | // 第二级 | 
|---|
|  |  |  | List<SysMenus> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList()); | 
|---|
|  |  |  | // 第一级 | 
|---|
|  |  |  | List<SysMenus> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (SysMenus menus : s2) { | 
|---|
|  |  |  | List<SysMenus> collect = s3.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); | 
|---|
|  |  |  | menus.setChildren(collect); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (SysMenus menus : s1) { | 
|---|
|  |  |  | List<SysMenus> collect = s2.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); | 
|---|
|  |  |  | menus.setChildren(collect); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | roleInfoVo.setMenus(menusId); | 
|---|
|  |  |  | return AjaxResult.success(roleInfoVo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("用户获取权限菜单") | 
|---|
|  |  |  | @GetMapping("/roleInfoFromUserId") | 
|---|
|  |  |  | public AjaxResult roleInfoFromUserId( @RequestParam Long userId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId)); | 
|---|
|  |  |  | Long id =one.getRoleId(); | 
|---|
|  |  |  | // 获取当前角色的菜单id | 
|---|
|  |  |  | List<Long> menusId = sysRoleMenuMapper.selectList(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, id)).stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); | 
|---|
|  |  |  | if(menusId.size()==0){ | 
|---|
|  |  |  | return AjaxResult.success(new ArrayList<>()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(id!=1){ | 
|---|
|  |  |  | menusId = menusId.stream().filter(e->e!=1074 && e!=1075 && e!=1193 && e!=1194).collect(Collectors.toList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //获取当前的权限菜单 | 
|---|
|  |  |  | List<SysMenus> all = menuMapper.getAllInIds(menusId); | 
|---|
|  |  |  | // 第三级 | 
|---|
|  |  |  | List<SysMenus> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList()); | 
|---|
|  |  |  | // 第二级 | 
|---|
|  |  |  | List<SysMenus> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList()); | 
|---|
|  |  |  | // 第一级 | 
|---|
|  |  |  | List<SysMenus> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (SysMenus menus : s2) { | 
|---|
|  |  |  | List<SysMenus> collect = s3.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); | 
|---|
|  |  |  | menus.setChildren(collect); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (SysMenus menus : s1) { | 
|---|
|  |  |  | List<SysMenus> collect = s2.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); | 
|---|
|  |  |  | menus.setChildren(collect); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return AjaxResult.success(s1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("编辑角色") | 
|---|
|  |  |  | @PostMapping("/roleUpdate") | 
|---|
|  |  |  | public AjaxResult roleUpdate(@Validated @RequestBody RoleUpdateDto dto) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SysRole role = new SysRole(); | 
|---|
|  |  |  | role.setRoleName(dto.getRoleName()); | 
|---|
|  |  |  | SysRole one = roleService.getOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleId, dto.getRoleId())); | 
|---|
|  |  |  | List<SysRole> sysRoles = roleService.isExitUpdate(dto.getRoleName(),dto.getRoleId(),one.getCompanyId()); | 
|---|
|  |  |  | if(sysRoles.size()>0){ | 
|---|
|  |  |  | return AjaxResult.error("角色已存在,请重新输入"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 编辑角色 | 
|---|
|  |  |  | role.setCarDataAuth(dto.getCarDataAuth()); | 
|---|
|  |  |  | role.setCarTrainOperAuth(dto.getCarTrainOperAuth()); | 
|---|
|  |  |  | role.setContractDataAuth(dto.getContractDataAuth()); | 
|---|
|  |  |  | role.setUpdateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | role.setUpdateTime(new Date()); | 
|---|
|  |  |  | role.setRoleId(dto.getRoleId()); | 
|---|
|  |  |  | roleService.updateRole(role); | 
|---|
|  |  |  | ArrayList<SysRoleMenu> sysRoleMenus = new ArrayList<>(); | 
|---|
|  |  |  | List<Long> menuIds = dto.getMenuIds(); | 
|---|
|  |  |  | // 移除原来的权限菜单 | 
|---|
|  |  |  | if(menuIds.contains(1061L)){ | 
|---|
|  |  |  | sysRoleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>() | 
|---|
|  |  |  | .eq(SysRoleMenu::getRoleId,dto.getRoleId())); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | sysRoleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>() | 
|---|
|  |  |  | .eq(SysRoleMenu::getRoleId,dto.getRoleId()) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId,1061L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId,1062L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId,1065L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId,1073L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId,1161L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId,1203L) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (Long menuId : menuIds) { | 
|---|
|  |  |  | SysRoleMenu sysRoleMenu = new SysRoleMenu(); | 
|---|
|  |  |  | sysRoleMenu.setMenuId(menuId); | 
|---|
|  |  |  | sysRoleMenu.setRoleId(role.getRoleId()); | 
|---|
|  |  |  | sysRoleMenus.add(sysRoleMenu); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sysRoleMenuMapper.batchRoleMenu(sysRoleMenus); | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.EXPORT) | 
|---|
|  |  |  | @RequiresPermissions("system:role:export") | 
|---|
|  |  |  | @PostMapping("/export") | 
|---|
|  |  |  | public void export(HttpServletResponse response, SysRole role) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<SysRole> list = roleService.selectRoleList(role); | 
|---|
|  |  |  | ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class); | 
|---|
|  |  |  | util.exportExcel(response, list, "角色数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据角色编号获取详细信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:query") | 
|---|
|  |  |  | @GetMapping(value = "/{roleId}") | 
|---|
|  |  |  | public AjaxResult getInfo(@PathVariable Long roleId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | roleService.checkRoleDataScope(roleId); | 
|---|
|  |  |  | return success(roleService.selectRoleById(roleId)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新增角色 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:add") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.INSERT) | 
|---|
|  |  |  | @PostMapping | 
|---|
|  |  |  | public AjaxResult add(@Validated @RequestBody SysRole role) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (!roleService.checkRoleNameUnique(role)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (!roleService.checkRoleKeyUnique(role)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | role.setCreateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | return toAjax(roleService.insertRole(role)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 修改保存角色 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:edit") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.UPDATE) | 
|---|
|  |  |  | @PutMapping | 
|---|
|  |  |  | public AjaxResult edit(@Validated @RequestBody SysRole role) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | roleService.checkRoleAllowed(role); | 
|---|
|  |  |  | roleService.checkRoleDataScope(role.getRoleId()); | 
|---|
|  |  |  | if (!roleService.checkRoleNameUnique(role)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (!roleService.checkRoleKeyUnique(role)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | role.setUpdateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | return toAjax(roleService.updateRole(role)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 修改保存数据权限 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:edit") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.UPDATE) | 
|---|
|  |  |  | @PutMapping("/dataScope") | 
|---|
|  |  |  | public AjaxResult dataScope(@RequestBody SysRole role) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | roleService.checkRoleAllowed(role); | 
|---|
|  |  |  | roleService.checkRoleDataScope(role.getRoleId()); | 
|---|
|  |  |  | return toAjax(roleService.authDataScope(role)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 状态修改 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:edit") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.UPDATE) | 
|---|
|  |  |  | @PutMapping("/changeStatus") | 
|---|
|  |  |  | public AjaxResult changeStatus(@RequestBody SysRole role) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | roleService.checkRoleAllowed(role); | 
|---|
|  |  |  | roleService.checkRoleDataScope(role.getRoleId()); | 
|---|
|  |  |  | role.setUpdateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | return toAjax(roleService.updateRoleStatus(role)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 删除角色 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:remove") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.DELETE) | 
|---|
|  |  |  | @DeleteMapping("/{roleIds}") | 
|---|
|  |  |  | public AjaxResult remove(@PathVariable Long[] roleIds) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return toAjax(roleService.deleteRoleByIds(roleIds)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 停用角色 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:stop") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.STOP) | 
|---|
|  |  |  | @PutMapping("/stop") | 
|---|
|  |  |  | public AjaxResult stop(@RequestBody Long roleId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SysRole sysRole = roleService.selectRoleById(roleId); | 
|---|
|  |  |  | if(sysRole.getStatus().equals("0")){ | 
|---|
|  |  |  | sysRole.setStatus("1"); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | sysRole.setStatus("0"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return toAjax(roleService.updateRole(sysRole)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取角色选择框列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:query") | 
|---|
|  |  |  | @GetMapping("/optionselect") | 
|---|
|  |  |  | public AjaxResult optionselect() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return success(roleService.selectRoleAll()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询已分配用户角色列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:list") | 
|---|
|  |  |  | @GetMapping("/authUser/allocatedList") | 
|---|
|  |  |  | public TableDataInfo allocatedList(SysUser user) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | startPage(); | 
|---|
|  |  |  | List<SysUser> list = userService.selectAllocatedList(user); | 
|---|
|  |  |  | return getDataTable(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询未分配用户角色列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:list") | 
|---|
|  |  |  | @GetMapping("/authUser/unallocatedList") | 
|---|
|  |  |  | public TableDataInfo unallocatedList(SysUser user) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | startPage(); | 
|---|
|  |  |  | List<SysUser> list = userService.selectUnallocatedList(user); | 
|---|
|  |  |  | return getDataTable(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 取消授权用户 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:edit") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.GRANT) | 
|---|
|  |  |  | @PutMapping("/authUser/cancel") | 
|---|
|  |  |  | public AjaxResult cancelAuthUser(@RequestBody SysUserRole userRole) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return toAjax(roleService.deleteAuthUser(userRole)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 批量取消授权用户 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:edit") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.GRANT) | 
|---|
|  |  |  | @PutMapping("/authUser/cancelAll") | 
|---|
|  |  |  | public AjaxResult cancelAuthUserAll(Long roleId, Long[] userIds) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return toAjax(roleService.deleteAuthUsers(roleId, userIds)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 批量选择用户授权 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:edit") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.GRANT) | 
|---|
|  |  |  | @PutMapping("/authUser/selectAll") | 
|---|
|  |  |  | public AjaxResult selectAuthUserAll(Long roleId, Long[] userIds) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | roleService.checkRoleDataScope(roleId); | 
|---|
|  |  |  | return toAjax(roleService.insertAuthUsers(roleId, userIds)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取对应角色部门树列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:query") | 
|---|
|  |  |  | @GetMapping(value = "/deptTree/{roleId}") | 
|---|
|  |  |  | public AjaxResult deptTree(@PathVariable("roleId") Long roleId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | AjaxResult ajax = AjaxResult.success(); | 
|---|
|  |  |  | ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId)); | 
|---|
|  |  |  | ajax.put("depts", deptService.selectDeptTreeList(new SysDept())); | 
|---|
|  |  |  | return ajax; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public class SysRoleController extends BaseController { | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ISysRoleService roleService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ISysUserService userService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ISysDeptService deptService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SysRoleMenuMapper sysRoleMenuMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ISysUserRoleService sysUserRoleService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SysMenuMapper menuMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private RoleSiteClient roleSiteClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SiteClient siteClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation(value = "获取角色列表", tags = {"管理后台-系统用户管理"}) | 
|---|
|  |  |  | @GetMapping("/list") | 
|---|
|  |  |  | public AjaxResult list() { | 
|---|
|  |  |  | List<SysRole> list = roleService.list(new LambdaQueryWrapper<SysRole>().eq(SysRole::getDelFlag, 0).eq(SysRole::getStatus, 0)); | 
|---|
|  |  |  | return AjaxResult.success(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ResponseBody | 
|---|
|  |  |  | @GetMapping("/listPage") | 
|---|
|  |  |  | @ApiOperation(value = "获取角色列表", tags = {"管理后台-角色管理"}) | 
|---|
|  |  |  | public AjaxResult listPage(String name, BasePage basePage) { | 
|---|
|  |  |  | PageInfo<SysRole> pageInfo = new PageInfo<>(basePage.getPageCurr(), basePage.getPageSize()); | 
|---|
|  |  |  | LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<SysRole>().eq(SysRole::getStatus, 0).eq(SysRole::getDelFlag, 0); | 
|---|
|  |  |  | if (StringUtils.isNotEmpty(name)) { | 
|---|
|  |  |  | wrapper.like(SysRole::getRoleName, name); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | PageInfo<SysRole> page = roleService.page(pageInfo, wrapper.orderByDesc(SysRole::getCreateTime)); | 
|---|
|  |  |  | for (SysRole record : page.getRecords()) { | 
|---|
|  |  |  | List<Integer> data = roleSiteClient.getSiteIds(record.getRoleId()).getData(); | 
|---|
|  |  |  | List<Site> sites = siteClient.getSiteByIds(data).getData(); | 
|---|
|  |  |  | if (null != sites) { | 
|---|
|  |  |  | List<String> collect = sites.stream().map(Site::getName).collect(Collectors.toList()); | 
|---|
|  |  |  | record.setSiteNames(collect); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return AjaxResult.success(page); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ResponseBody | 
|---|
|  |  |  | @PostMapping("/roleAdd") | 
|---|
|  |  |  | @ApiOperation(value = "添加角色", tags = {"管理后台-角色管理"}) | 
|---|
|  |  |  | @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 | 
|---|
|  |  |  | public AjaxResult roleAdd(@Validated @RequestBody RoleAddDto dto) { | 
|---|
|  |  |  | SysRole role = new SysRole(); | 
|---|
|  |  |  | role.setRoleName(dto.getRoleName()); | 
|---|
|  |  |  | long count = roleService.count(Wrappers.lambdaQuery(SysRole.class) | 
|---|
|  |  |  | .eq(SysRole::getRoleName, dto.getRoleName())); | 
|---|
|  |  |  | if (count > 0) { | 
|---|
|  |  |  | return AjaxResult.error("角色已存在,请重新输入"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Long> menuIds1 = dto.getMenuIds(); | 
|---|
|  |  |  | if (CollectionUtils.isEmpty(menuIds1)) { | 
|---|
|  |  |  | return AjaxResult.error("菜单id不能为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | role.setMenuIds(dto.getMenuIds().toArray((new Long[dto.getMenuIds().size()]))); | 
|---|
|  |  |  | // 添加角色 | 
|---|
|  |  |  | role.setRemark(dto.getRemark()); | 
|---|
|  |  |  | role.setCreateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | role.setCreateTime(new Date()); | 
|---|
|  |  |  | roleService.insertRole(role); | 
|---|
|  |  |  | //添加站点权限 | 
|---|
|  |  |  | List<TRoleSite> roleSites = new ArrayList<>(); | 
|---|
|  |  |  | for (Integer siteId : dto.getSiteIds()) { | 
|---|
|  |  |  | TRoleSite roleSite = new TRoleSite(); | 
|---|
|  |  |  | roleSite.setRoleId(role.getRoleId().intValue()); | 
|---|
|  |  |  | roleSite.setSiteId(siteId); | 
|---|
|  |  |  | roleSites.add(roleSite); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | roleSiteClient.addRoleSite(roleSites); | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/roleInfo") | 
|---|
|  |  |  | @ApiOperation(value = "角色详情", tags = {"管理后台-角色管理"}) | 
|---|
|  |  |  | public AjaxResult roleInfo(@RequestParam Long id) { | 
|---|
|  |  |  | SysRole role = roleService.selectRoleById(id); | 
|---|
|  |  |  | RoleInfoVo roleInfoVo = new RoleInfoVo(); | 
|---|
|  |  |  | roleInfoVo.setRoleId(role.getRoleId()); | 
|---|
|  |  |  | roleInfoVo.setRoleName(role.getRoleName()); | 
|---|
|  |  |  | // 获取当前角色的菜单id | 
|---|
|  |  |  | List<Long> menusId = sysRoleMenuMapper.selectList(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, id)).stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); | 
|---|
|  |  |  | if (menusId.size() == 0) { | 
|---|
|  |  |  | return AjaxResult.success(new ArrayList<>()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //获取当前的权限菜单 | 
|---|
|  |  |  | List<SysMenus> all = menuMapper.getAllInIds(menusId); | 
|---|
|  |  |  | // 第三级 | 
|---|
|  |  |  | List<SysMenus> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList()); | 
|---|
|  |  |  | // 第二级 | 
|---|
|  |  |  | List<SysMenus> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList()); | 
|---|
|  |  |  | // 第一级 | 
|---|
|  |  |  | List<SysMenus> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (SysMenus menus : s2) { | 
|---|
|  |  |  | List<SysMenus> collect = s3.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); | 
|---|
|  |  |  | menus.setChildren(collect); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (SysMenus menus : s1) { | 
|---|
|  |  |  | List<SysMenus> collect = s2.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); | 
|---|
|  |  |  | menus.setChildren(collect); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | roleInfoVo.setMenus(menusId); | 
|---|
|  |  |  | roleInfoVo.setRemark(role.getRemark()); | 
|---|
|  |  |  | List<Integer> siteIds = roleSiteClient.getSiteIds(role.getRoleId()).getData(); | 
|---|
|  |  |  | if (null != siteIds && siteIds.size() > 0) { | 
|---|
|  |  |  | List<Site> sites = siteClient.getSiteByIds(siteIds).getData(); | 
|---|
|  |  |  | List<String> siteNames = sites.stream().map(Site::getName).collect(Collectors.toList()); | 
|---|
|  |  |  | roleInfoVo.setSiteNames(siteNames); | 
|---|
|  |  |  | roleInfoVo.setSiteIds(siteIds); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return AjaxResult.success(roleInfoVo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/roleUpdate") | 
|---|
|  |  |  | @ApiOperation(value = "编辑角色", tags = {"管理后台-角色管理"}) | 
|---|
|  |  |  | @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 | 
|---|
|  |  |  | public AjaxResult roleUpdate(@Validated @RequestBody RoleUpdateDto dto) { | 
|---|
|  |  |  | SysRole role = new SysRole(); | 
|---|
|  |  |  | role.setRoleName(dto.getRoleName()); | 
|---|
|  |  |  | SysRole one = roleService.getOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleName, dto.getRoleName())); | 
|---|
|  |  |  | if (null != one && !one.getRoleId().equals(dto.getRoleId())) { | 
|---|
|  |  |  | return AjaxResult.error("角色已存在,请重新输入"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | role.setRemark(dto.getRemark()); | 
|---|
|  |  |  | role.setUpdateBy(SecurityUtils.getUsername()); | 
|---|
|  |  |  | role.setUpdateTime(new Date()); | 
|---|
|  |  |  | role.setRoleId(dto.getRoleId()); | 
|---|
|  |  |  | roleService.updateRole(role); | 
|---|
|  |  |  | ArrayList<SysRoleMenu> sysRoleMenus = new ArrayList<>(); | 
|---|
|  |  |  | List<Long> menuIds = dto.getMenuIds(); | 
|---|
|  |  |  | // 移除原来的权限菜单 | 
|---|
|  |  |  | if (menuIds.contains(1061L)) { | 
|---|
|  |  |  | sysRoleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>() | 
|---|
|  |  |  | .eq(SysRoleMenu::getRoleId, dto.getRoleId())); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | sysRoleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>() | 
|---|
|  |  |  | .eq(SysRoleMenu::getRoleId, dto.getRoleId()) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId, 1061L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId, 1062L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId, 1065L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId, 1073L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId, 1161L) | 
|---|
|  |  |  | .ne(SysRoleMenu::getMenuId, 1203L) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (Long menuId : menuIds) { | 
|---|
|  |  |  | SysRoleMenu sysRoleMenu = new SysRoleMenu(); | 
|---|
|  |  |  | sysRoleMenu.setMenuId(menuId); | 
|---|
|  |  |  | sysRoleMenu.setRoleId(role.getRoleId()); | 
|---|
|  |  |  | sysRoleMenus.add(sysRoleMenu); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sysRoleMenuMapper.batchRoleMenu(sysRoleMenus); | 
|---|
|  |  |  | //删除旧站点数据 | 
|---|
|  |  |  | roleSiteClient.delRoleSite(dto.getRoleId()); | 
|---|
|  |  |  | //添加站点权限 | 
|---|
|  |  |  | List<TRoleSite> roleSites = new ArrayList<>(); | 
|---|
|  |  |  | for (Integer siteId : dto.getSiteIds()) { | 
|---|
|  |  |  | TRoleSite roleSite = new TRoleSite(); | 
|---|
|  |  |  | roleSite.setRoleId(role.getRoleId().intValue()); | 
|---|
|  |  |  | roleSite.setSiteId(siteId); | 
|---|
|  |  |  | roleSites.add(roleSite); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | roleSiteClient.addRoleSite(roleSites); | 
|---|
|  |  |  | return AjaxResult.success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 删除角色 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:remove") | 
|---|
|  |  |  | @Log(title = "角色管理", businessType = BusinessType.DELETE) | 
|---|
|  |  |  | @DeleteMapping("/{roleIds}") | 
|---|
|  |  |  | @ApiOperation(value = "删除角色", tags = {"管理后台-角色管理"}) | 
|---|
|  |  |  | public AjaxResult remove(@PathVariable Long[] roleIds) { | 
|---|
|  |  |  | return toAjax(roleService.deleteRoleByIds(roleIds)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询已分配用户角色列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:list") | 
|---|
|  |  |  | @GetMapping("/authUser/allocatedList") | 
|---|
|  |  |  | public TableDataInfo allocatedList(SysUser user) { | 
|---|
|  |  |  | startPage(); | 
|---|
|  |  |  | List<SysUser> list = userService.selectAllocatedList(user); | 
|---|
|  |  |  | return getDataTable(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询未分配用户角色列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:list") | 
|---|
|  |  |  | @GetMapping("/authUser/unallocatedList") | 
|---|
|  |  |  | public TableDataInfo unallocatedList(SysUser user) { | 
|---|
|  |  |  | startPage(); | 
|---|
|  |  |  | List<SysUser> list = userService.selectUnallocatedList(user); | 
|---|
|  |  |  | return getDataTable(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取对应角色部门树列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequiresPermissions("system:role:query") | 
|---|
|  |  |  | @GetMapping(value = "/deptTree/{roleId}") | 
|---|
|  |  |  | public AjaxResult deptTree(@PathVariable("roleId") Long roleId) { | 
|---|
|  |  |  | AjaxResult ajax = AjaxResult.success(); | 
|---|
|  |  |  | ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId)); | 
|---|
|  |  |  | ajax.put("depts", deptService.selectDeptTreeList(new SysDept())); | 
|---|
|  |  |  | return ajax; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据id集合获取数据 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param ids | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ResponseBody | 
|---|
|  |  |  | @PostMapping(value = "/getSysRoleByIds") | 
|---|
|  |  |  | public R<List<SysRole>> getSysRoleByIds(@RequestBody GetSysRoleByIds ids) { | 
|---|
|  |  |  | List<SysRole> sysRoleByIds = roleService.getSysRoleByIds(ids.getIds()); | 
|---|
|  |  |  | return R.ok(sysRoleByIds); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|