package com.yeqifu.sys.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yeqifu.sys.common.Constast; import com.yeqifu.sys.common.DataGridView; import com.yeqifu.sys.common.ResultObj; import com.yeqifu.sys.common.TreeNode; import com.yeqifu.sys.entity.Permission; import com.yeqifu.sys.service.IPermissionService; import com.yeqifu.sys.vo.PermissionVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* InnoDB free: 9216 kB 前端控制器 *

* * @author luoyi- * @since 2019-11-22 */ @RestController @RequestMapping("permission") public class PermissionController { @Autowired private IPermissionService permissionService; /** * 加载权限左边的权限树 * @param permissionVo * @return */ @RequestMapping("loadPermissionManagerLeftTreeJson") public DataGridView loadPermissionManagerLeftTreeJson(PermissionVo permissionVo){ QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("type", Constast.TYPE_MENU); //查询出所有的权限,存放进list中 List list = permissionService.list(queryWrapper); List treeNodes = new ArrayList(); //将权限放入treeNodes中,组装成json for (Permission permission : list) { Boolean open = permission.getOpen()==1?true:false; treeNodes.add(new TreeNode(permission.getId(),permission.getPid(),permission.getTitle(),open)); } return new DataGridView(treeNodes); } /** * 查询所有权限数据 * @param permissionVo * @return */ @RequestMapping("loadAllPermission") public DataGridView loadAllPermission(PermissionVo permissionVo){ IPage page = new Page<>(permissionVo.getPage(),permissionVo.getLimit()); //进行模糊查询 QueryWrapper queryWrapper = new QueryWrapper<>(); //只能查询权限 queryWrapper.eq("type",Constast.TYPE_PERMISSION); queryWrapper.like(StringUtils.isNotBlank(permissionVo.getTitle()),"title",permissionVo.getTitle()); queryWrapper.like(StringUtils.isNotBlank(permissionVo.getPercode()),"percode",permissionVo.getPercode()); queryWrapper.eq(permissionVo.getId()!=null,"pid",permissionVo.getId()); queryWrapper.orderByAsc("ordernum"); //进行查询 permissionService.page(page,queryWrapper); //返回DataGridView return new DataGridView(page.getTotal(),page.getRecords()); } /** * 添加权限 * @param permissionVo * @return */ @RequestMapping("addPermission") public ResultObj addPermission(PermissionVo permissionVo){ try { //设置添加类型为 permission permissionVo.setType(Constast.TYPE_PERMISSION); permissionService.save(permissionVo); return ResultObj.ADD_SUCCESS; } catch (Exception e) { e.printStackTrace(); return ResultObj.ADD_ERROR; } } /** * 加载排序码 * @return */ @RequestMapping("loadPermissionMaxOrderNum") public Map loadPermissionMaxOrderNum(){ Map map = new HashMap(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("ordernum"); IPage page = new Page<>(1,1); List list = permissionService.page(page,queryWrapper).getRecords(); if (list.size()>0){ map.put("value",list.get(0).getOrdernum()+1); }else { map.put("value",1); } return map; } /** * 更新权限 * @param permissionVo * @return */ @RequestMapping("updatePermission") public ResultObj updatePermission(PermissionVo permissionVo){ try { permissionService.updateById(permissionVo); return ResultObj.UPDATE_SUCCESS; } catch (Exception e) { e.printStackTrace(); return ResultObj.UPDATE_ERROR; } } /** * 检查当前权限是否有子权限 * @param permissionVo * @return */ @RequestMapping("checkPermissionHasChildrenNode") public Map checkPermissionHasChildrenNode(PermissionVo permissionVo){ Map map = new HashMap(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("pid",permissionVo.getId()); List list = permissionService.list(queryWrapper); if (list.size()>0){ map.put("value",true); }else { map.put("value",false); } return map; } /** * 删除权限 * @param permissionVo * @return */ @RequestMapping("deletePermission") public ResultObj deletePermission(PermissionVo permissionVo){ try { permissionService.removeById(permissionVo.getId()); return ResultObj.DELETE_SUCCESS; } catch (Exception e) { e.printStackTrace(); return ResultObj.DELETE_ERROR; } } }