package com.system.permission.controller; import java.util.Date; import java.util.List; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.app.base.control.WebController; import com.app.base.data.ApiResponseResult; import com.system.permission.entity.SysPermission; import com.system.permission.service.SysPermissionService; import com.system.user.entity.SysUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @Api(description = "菜单管理模块") @CrossOrigin @ControllerAdvice //@RestController @Controller @RequestMapping(value = "/sysPermission") public class SysPermissionController extends WebController { @Autowired private SysPermissionService sysPermissionService; /** * 权限列表 * @return ok/fail */ @RequestMapping(value = "/toPermList", method = RequestMethod.GET) @ResponseBody public ModelAndView permList() { String method = "/sysPermission/permList";String methodName ="权限列表"; //getSysLogService().debug(method,methodName); logger.debug("/sysPermission/permList"); ModelAndView mav = new ModelAndView("/system/permission/permList"); try { List permList = sysPermissionService.permList(); logger.debug("权限列表查询=permList:" + permList); getSysLogService().success(method,methodName,permList); mav.addObject("permList", permList); mav.addObject("msg", "ok"); } catch (Exception e) { e.printStackTrace(); logger.error("权限查询异常!", e); getSysLogService().error(method,methodName,e.toString()); } return mav; } /** * 获取权限 * @param id * @return */ @RequestMapping(value = "/getPerm", method = RequestMethod.GET) @ResponseBody public ApiResponseResult getPerm( @RequestParam("id") Long id) { logger.debug("获取权限--id-" + id); String method = "/sysPermission/getPerm";String methodName ="获取权限"; getSysLogService().debug(method,methodName); try { ApiResponseResult api = sysPermissionService.getPermission(id); getSysLogService().success(method,methodName,"权限实体"); return api; } catch (Exception e) { e.printStackTrace(); logger.error("获取权限异常!", e); getSysLogService().error(method,methodName,e.toString()); return ApiResponseResult.failure("获取权限操作失败,请联系管理员!"); } } @ApiOperation(value = "删除", notes = "删除") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public ApiResponseResult delete(@RequestParam(value = "id", required = false) Long id){ String method = "/sysPermission/delete";String methodName ="删除权限"; try{ ApiResponseResult api = sysPermissionService.delete(id); getSysLogService().success(method,methodName,id); return api; }catch(Exception e){ logger.error(e.getMessage(), e); getSysLogService().error(method,methodName,e.toString()); return ApiResponseResult.failure("删除权限操作失败,请联系管理员!"); } } /** * 添加权限 * @param type [0:编辑;1:新增子节点权限] * @param permission * @return ModelAndView ok/fail */ @RequestMapping(value = "/add", method = RequestMethod.POST) @ResponseBody public ApiResponseResult add( @RequestParam("type") int type, SysPermission permission) { logger.debug("设置权限--区分type-" + type + "【0:编辑;1:新增子节点权限】,权限--permission-" + permission); String method = "/sysPermission/add";String methodName ="添加权限"; try { ApiResponseResult api = sysPermissionService.savePerm(permission); getSysLogService().success(method,methodName,"权限实体"); return api; } catch (Exception e) { e.printStackTrace(); logger.error("设置权限异常!", e); getSysLogService().error(method,methodName,e.toString()); return ApiResponseResult.failure("设置权限异常,请联系管理员"); } //return "设置权限出错,请您稍后再试"; } /** * 根据用户id查询权限树数据 * @return List> */ @RequestMapping(value = "/getUserPerms", method = RequestMethod.GET) @ResponseBody public ApiResponseResult getUserPerms() { String method = "/sysPermission/getUserPerms";String methodName ="查询用户的权限"; logger.debug("根据用户id查询限树列表!"); SysUser existUser= (SysUser) SecurityUtils.getSubject().getPrincipal(); if(null==existUser){ logger.debug("根据用户id查询限树列表!用户未登录"); getSysLogService().error(method,methodName,"查询用户权限失败,用户未登录"); return ApiResponseResult.failure("用户未登录"); } try { // return sysPermissionService.getUserPerms(existUser.getId()); return sysPermissionService.getUserPerms(Long.parseLong(existUser.getFid())); } catch (Exception e) { e.printStackTrace(); logger.error("根据用户id查询权限树列表查询异常!", e); return ApiResponseResult.failure("根据用户id查询权限树列表查询异常"); } } }