| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- package com.ydtech.modules.admin.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.ydtech.constants.SysConstants;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageRequest;
- import com.ydtech.modules.admin.constants.RoleConstants;
- import com.ydtech.modules.admin.model.SysRole;
- import com.ydtech.modules.admin.model.SysRoleMenu;
- import com.ydtech.modules.admin.model.SysUser;
- import com.ydtech.modules.admin.service.SysRoleMenuService;
- import com.ydtech.modules.admin.service.SysRoleService;
- import com.ydtech.modules.base.controller.BaseController;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.util.ObjectUtils;
- import org.springframework.web.bind.annotation.*;
- import java.lang.reflect.Array;
- import java.util.Arrays;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * 角色控制器
- *
- * @author Yasepix
- * @date Oct 29, 2018
- */
- @RestController
- @RequestMapping("role")
- public class SysRoleController extends BaseController {
- @Autowired
- private SysRoleService sysRoleService;
- @Autowired
- private SysRoleMenuService sysRoleMenuService;
- // @PreAuthorize("hasAuthority('sys:role:add') AND hasAuthority('sys:role:edit')")
- @PostMapping(value = "/save")
- public HttpResult save(@RequestBody SysRole record) {
- SysRole role = sysRoleService.getById(record.getId());
- // SysRole role = sysRoleService.selectByPk(record.getId());
- if (role != null) {
- if (SysConstants.ADMIN.equalsIgnoreCase(role.getName())) {
- return HttpResult.error("超级管理员不允许修改!");
- }
- }
- // 新增角色
- if ((record.getId() == null || record.getId() == 0) && sysRoleService.findByName(record.getName()) != null) {
- return HttpResult.error("角色名已存在!");
- }
- return HttpResult.ok(sysRoleService.saveOrUpdate(record));
- }
- // @PreAuthorize("hasAuthority('sys:role:delete')")
- @PostMapping(value = "/delete")
- @Transactional
- public HttpResult delete(@RequestBody List<SysRole> records) {
- List<Long> sysRoleIds = records.stream().map(SysRole::getId).collect(Collectors.toList());
- //TODO 应该做级联删除,暂时未做
- return HttpResult.ok(sysRoleService.removeBatchByIds(sysRoleIds));
- // return HttpResult.ok(sysRoleService.delete(records));
- }
- // @PreAuthorize("hasAuthority('sys:role:view')")
- @PostMapping(value = "/findPage")
- public HttpResult findPage(@RequestBody PageRequest pageRequest) {
- return HttpResult.ok(sysRoleService.findPage(pageRequest));
- }
- // @PreAuthorize("hasAuthority('sys:role:view')")
- @GetMapping(value = "/findAll")
- public HttpResult findAll() {
- LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
- lqw.eq(SysRole::getDelFlag, "0");
- List<SysRole> list = sysRoleService.list(lqw);
- return HttpResult.ok(list);
- }
- @GetMapping(value = "/findRoleByUserId")
- public HttpResult findRoleByUserId() {
- //获取登录人员该有的角色信息
- SysUser user = getUser();
- LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
- //获取角色的配置信息
- RoleConstants roleConstants = RoleConstants.getRoleConstants(user.getRoleId());
- if (!user.getId().equals("admin")) {
- if(ObjectUtils.isEmpty(roleConstants)){
- lqw.eq(SysRole::getId, RoleConstants.R22.getCode());
- }else if (!"".equals(roleConstants.getRoleIds())) {
- String[] split = roleConstants.getRoleIds().split(",");
- lqw.in(SysRole::getId, Arrays.asList(split));
- }
- }
- lqw.eq(SysRole::getDelFlag, "0");
- List<SysRole> list = sysRoleService.list(lqw);
- return HttpResult.ok(list);
- }
- // @PreAuthorize("hasAuthority('sys:role:view')")
- @GetMapping(value = "/findRoleMenus")
- public HttpResult findRoleMenus(@RequestParam Long roleId) {
- return HttpResult.ok(sysRoleService.findRoleMenus(roleId));
- }
- // @PreAuthorize("hasAuthority('sys:role:view')")
- @PostMapping(value = "/saveRoleMenus")
- public HttpResult saveRoleMenus(@RequestBody List<SysRoleMenu> records) {
- if (null == records || records.isEmpty()) {
- return HttpResult.error("参数空");
- }
- SysRole sysRole = sysRoleService.getById(records.get(0).getRoleId());
- if (SysConstants.ADMIN.equalsIgnoreCase(sysRole.getName())) {
- // 如果是超级管理员,不允许修改
- return HttpResult.error("超级管理员拥有所有菜单权限,不允许修改!");
- }
- // for (SysRoleMenu record : records) {
- // SysRole sysRole = sysRoleService.getById(record.getRoleId());
- //// SysRole sysRole = sysRoleService.selectByPk(record.getRoleId());
- // if (SysConstants.ADMIN.equalsIgnoreCase(sysRole.getName())) {
- // // 如果是超级管理员,不允许修改
- // return HttpResult.error("超级管理员拥有所有菜单权限,不允许修改!");
- // }
- // }
- return HttpResult.ok(sysRoleMenuService.saveRoleMenus(records));
- }
- }
|