package com.crm.controller;
|
|
import com.crm.domain.SysRole;
|
import com.crm.service.ISysRoleService;
|
import com.crm.service.impl.SysPermissionService;
|
import com.crm.service.impl.TokenService;
|
import com.crm.vo.AjaxResult;
|
import com.crm.vo.LoginInfo;
|
import com.nq.common.constant.UserConstants;
|
import com.nq.common.controller.BaseController;
|
import com.nq.common.page.TableDataInfo;
|
import com.nq.pojo.User;
|
import com.nq.utils.BeanUtils;
|
import com.nq.utils.ServletUtils;
|
import com.nq.utils.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* 角色信息
|
*
|
* @author ruoyi
|
*/
|
@RestController
|
@RequestMapping("/system/roles")
|
public class SysRoleController extends BaseController
|
{
|
@Autowired
|
private ISysRoleService roleService;
|
|
@Autowired
|
private TokenService tokenService;
|
|
@Autowired
|
private SysPermissionService permissionService;
|
|
|
@GetMapping("/list")
|
public TableDataInfo list(SysRole role)
|
{
|
|
startPage();
|
List<SysRole> list = roleService.selectRoleList(role);
|
return getDataTable(list);
|
}
|
|
|
/**
|
* 根据角色编号获取详细信息
|
*/
|
@GetMapping(value = "/{roleId}")
|
public AjaxResult getInfo(@PathVariable Long roleId)
|
{
|
return AjaxResult.success(roleService.selectRoleById(roleId));
|
}
|
|
/**
|
* 新增角色
|
*/
|
@PostMapping
|
public AjaxResult add(@Validated @RequestBody SysRole role)
|
{
|
if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role)))
|
{
|
return AjaxResult.error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
|
}
|
else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role)))
|
{
|
return AjaxResult.error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
|
}
|
// role.setCreateBy(SecurityUtils.getUsername());
|
return toAjax(roleService.insertRole(role));
|
|
}
|
|
/**
|
* 修改保存角色
|
*/
|
@PutMapping
|
public AjaxResult edit(@Validated @RequestBody SysRole role)
|
{
|
roleService.checkRoleAllowed(role);
|
if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role)))
|
{
|
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");
|
}
|
else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role)))
|
{
|
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
|
}
|
// role.setUpdateBy(SecurityUtils.getUsername());
|
|
if (roleService.updateRole(role) > 0)
|
{
|
// 更新缓存用户权限
|
LoginInfo loginUser = tokenService.getLoginInfo(ServletUtils.getRequest());
|
User user = new User();
|
BeanUtils.copyBeanProp(user,loginUser);
|
if (StringUtils.isNotNull(user) && !user.isAdmin())
|
{
|
loginUser.setPermissions(permissionService.getMenuPermission(user));
|
}
|
return AjaxResult.success();
|
}
|
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,请联系管理员");
|
}
|
|
/**
|
* 修改保存数据权限
|
*/
|
@PutMapping("/dataScope")
|
public AjaxResult dataScope(@RequestBody SysRole role)
|
{
|
roleService.checkRoleAllowed(role);
|
return toAjax(roleService.authDataScope(role));
|
}
|
|
/**
|
* 状态修改
|
*/
|
@PutMapping("/changeStatus")
|
public AjaxResult changeStatus(@RequestBody SysRole role)
|
{
|
roleService.checkRoleAllowed(role);
|
// role.setUpdateBy(SecurityUtils.getUsername());
|
return toAjax(roleService.updateRoleStatus(role));
|
}
|
|
/**
|
* 删除角色
|
*/
|
@DeleteMapping("/{roleIds}")
|
public AjaxResult remove(@PathVariable Long[] roleIds)
|
{
|
return toAjax(roleService.deleteRoleByIds(roleIds));
|
}
|
|
/**
|
* 获取角色选择框列表
|
*/
|
@GetMapping("/optionselect")
|
public AjaxResult optionselect()
|
{
|
return AjaxResult.success(roleService.selectRoleAll());
|
}
|
}
|