package com.kmall.common.controller; import com.kmall.common.annotation.SysLog; import com.kmall.common.entity.SysRoleEntity; import com.kmall.common.service.SysRoleDeptService; import com.kmall.common.service.SysRoleMenuService; import com.kmall.common.service.SysRoleService; import com.kmall.common.utils.Constant; import com.kmall.common.utils.PageUtils; import com.kmall.common.utils.Query; import com.kmall.common.utils.R; import com.kmall.common.validator.ValidatorUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 角色管理 * * @author Scott * @email * @date 2016年11月8日 下午2:18:33 */ @RestController @RequestMapping("/sys/role") public class SysRoleController extends AbstractController { @Autowired private SysRoleService sysRoleService; @Autowired private SysRoleMenuService sysRoleMenuService; @Autowired private SysRoleDeptService sysRoleDeptService; /** * 角色列表 */ @RequestMapping("/list") @RequiresPermissions("sys:role:list") public R list(@RequestParam Map params) { //如果不是超级管理员,则只查询自己创建的角色列表 if (getUserId() != Constant.SUPER_ADMIN) { params.put("createUserId", getUserId()); } //查询列表数据 Query query = new Query(params); List list = sysRoleService.queryList(query); int total = sysRoleService.queryTotal(query); PageUtils pageUtil = new PageUtils(list, total, query.getLimit(), query.getPage()); return R.ok().put("page", pageUtil); } /** * 角色列表 */ @RequestMapping("/select") @RequiresPermissions("sys:role:select") public R select() { Map map = new HashMap<>(); //如果不是超级管理员,则只查询自己所拥有的角色列表 if (getUserId() != Constant.SUPER_ADMIN) { map.put("createUserId", getUserId()); } List list = sysRoleService.queryList(map); return R.ok().put("list", list); } /** * 角色信息 */ @RequestMapping("/info/{roleId}") @RequiresPermissions("sys:role:info") public R info(@PathVariable("roleId") Long roleId) { SysRoleEntity role = sysRoleService.queryObject(roleId); //查询角色对应的菜单 List menuIdList = sysRoleMenuService.queryMenuIdList(roleId); role.setMenuIdList(menuIdList); //查询角色对应的部门 List deptIdList = sysRoleDeptService.queryDeptIdList(roleId); role.setDeptIdList(deptIdList); return R.ok().put("role", role); } /** * 保存角色 */ @SysLog("保存角色") @RequestMapping("/save") @RequiresPermissions("sys:role:save") public R save(@RequestBody SysRoleEntity role) { // 非空检验 // ValidatorUtils.validateEntity(role); role.setCreateUserId(getUserId()); sysRoleService.save(role); return R.ok(); } /** * 修改角色 */ @SysLog("修改角色") @RequestMapping("/update") @RequiresPermissions("sys:role:update") public R update(@RequestBody SysRoleEntity role) { // ValidatorUtils.validateEntity(role); role.setCreateUserId(getUserId()); sysRoleService.update(role); return R.ok(); } /** * 删除角色 */ @SysLog("删除角色") @RequestMapping("/delete") @RequiresPermissions("sys:role:delete") public R delete(@RequestBody Long[] roleIds) { sysRoleService.deleteBatch(roleIds); return R.ok(); } }