package com.sqx.modules.sys.controller; import cn.hutool.core.util.StrUtil; import com.sqx.common.annotation.SysLog; import com.sqx.common.utils.Constant; import com.sqx.common.utils.Result; import com.sqx.common.validator.ValidatorUtils; import com.sqx.modules.sys.entity.SysRoleEntity; import com.sqx.modules.sys.service.SysRoleMenuService; import com.sqx.modules.sys.service.SysRoleService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; 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 java.util.HashMap; import java.util.List; import java.util.Map; /** * 角色管理 * */ @RestController @RequestMapping("/sys/role") public class SysRoleController extends AbstractController { @Autowired private SysRoleService sysRoleService; @Autowired private SysRoleMenuService sysRoleMenuService; /** * 角色列表 */ @GetMapping("/list") @RequiresPermissions("sys:role:list") public Result list(String page, String limit, String roleName){ Map params = new HashMap<>(); if (StrUtil.isNotBlank(roleName)) { params.put("roleName", roleName); } if (StrUtil.isNotBlank(page)) { params.put(Constant.PAGE, page); } if (StrUtil.isNotBlank(limit)) { params.put(Constant.LIMIT, page); } return Result.success().put("page", sysRoleService.queryPage(params)); } /** * 角色列表 */ @GetMapping("/select") @RequiresPermissions("sys:role:select") public Result select(){ Map map = new HashMap<>(); //如果不是超级管理员,则只查询自己所拥有的角色列表 /*if(getUserId() != Constant.SUPER_ADMIN){ map.put("create_user_id", getUserId()); }*/ List list = (List) sysRoleService.listByMap(map); return Result.success().put("list", list); } /** * 角色信息 */ @GetMapping("/info/{roleId}") @RequiresPermissions("sys:role:info") public Result info(@PathVariable("roleId") Long roleId){ SysRoleEntity role = sysRoleService.getById(roleId); //查询角色对应的菜单 List menuIdList = sysRoleMenuService.queryMenuIdList(roleId); role.setMenuIdList(menuIdList); return Result.success().put("role", role); } /** * 保存角色 */ @SysLog("保存角色") @PostMapping("/save") @RequiresPermissions("sys:role:save") public Result save(@RequestBody SysRoleEntity role){ ValidatorUtils.validateEntity(role); role.setCreateUserId(getUserId()); sysRoleService.saveRole(role); return Result.success(); } /** * 修改角色 */ @SysLog("修改角色") @PostMapping("/update") @RequiresPermissions("sys:role:update") public Result update(@RequestBody SysRoleEntity role){ ValidatorUtils.validateEntity(role); role.setCreateUserId(getUserId()); sysRoleService.update(role); return Result.success(); } /** * 删除角色 */ @SysLog("删除角色") @PostMapping("/delete") @RequiresPermissions("sys:role:delete") public Result delete(@RequestBody Long[] roleIds){ sysRoleService.deleteBatch(roleIds); return Result.success(); } }