package com.pace2car.controller;
import com.pace2car.shiro.anno.PermissionName;
import com.pace2car.shiro.bean.*;
import com.pace2car.shiro.service.*;
import org.apache.log4j.Logger;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.crypto.hash.Md5Hash;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 系统管理(管理员权限)
* @author Pace2Car
* @date 2018/12/17 17:32
*/
@Controller
@RequestMapping("/system")
public class SystemController {
private static Logger logger = Logger.getLogger(SystemController.class);
@Autowired
private UserService userService;
@Autowired
private PermissionService permissionService;
@Autowired
private RoleService roleService;
@Autowired
private UserRoleService userRoleService;
@Autowired
private RolePermissionService rolePermissionService;
@Resource
private RequestMappingHandlerMapping handlerMapping;
@RequestMapping("/searchUser")
@RequiresPermissions("user:select")
@PermissionName("查询用户")
public String searchUser(User user, ModelMap modelMap, HttpSession session) {
List<User> users = null;
if (user != null && user.getId() != null) {
logger.info("searchUser -> id : " + user.getId());
User oldUser = userService.selectByPrimaryKey(user.getId());
modelMap.addAttribute("oldUser", oldUser);
return "updateUser";
}
users = userService.selectUsers(user);
modelMap.addAttribute("users", users);
session.setAttribute("user", user);
return "userList";
}
@RequestMapping("/insertUser")
@RequiresPermissions("user:insert")
@PermissionName("新增用户")
public void insertUser(User user, HttpServletResponse response) {
logger.info("insert user -> name : " + user.getUsername());
Md5Hash md5Hash = new Md5Hash("111111", user.getUsername());
user.setPassword(md5Hash.toString());
try {
if (userService.insertSelective(user) > 0) {
UserRole userRole = new UserRole();
userRole.setUid(user.getId());
userRole.setRid(user.getRid());
if (userRoleService.insertSelective(userRole) > 0) {
response.getWriter().write("{\"actionFlag\": true}");
} else {
response.getWriter().write("{\"actionFlag\": false}");
}
} else {
response.getWriter().write("{\"actionFlag\": false}");
}
} catch (IOException e) {
logger.warn("insert user fail -> name : " + user.getUsername());
e.printStackTrace();
}
}
@RequestMapping("/updateUser")
@RequiresPermissions("user:update")
@PermissionName("更新用户")
public void updateUser(User user, HttpServletResponse response) {
logger.info("update user -> id : " + user.getId());
UserRole userRole = new UserRole();
userRole.setUid(user.getId());
userRole.setRid(user.getRid());
try {
if (userRoleService.updateByUserIdSelective(userRole) > 0) {
response.getWriter().write("{\"actionFlag\": true}");
} else {
response.getWriter().write("{\"actionFlag\": false}");
}
} catch (IOException e) {
logger.warn("update user fail -> id : " + user.getId());
e.printStackTrace();
}
}
@RequestMapping("/editStatusUser")
@RequiresPermissions("user:update")
@PermissionName("更新用户")
public void editStatusUser(User user, HttpServletResponse response) {
logger.info("editStatus user -> id : " + user.getId());
User oldUser = userService.selectByPrimaryKey(user.getId());
if (oldUser.getStatus()) {
user.setStatus(false);
} else {
user.setStatus(true);
}
try {
if (userService.updateByPrimaryKeySelective(user) > 0) {
response.getWriter().write("{\"actionFlag\": true}");
} else {
response.getWriter().write("{\"actionFlag\": false}");
}
} catch (IOException e) {
logger.warn("editStatus user fail -> id : " + user.getId());
e.printStackTrace();
}
}
@RequestMapping(value = {"/load_rolePermission"}, method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
@RequiresPermissions("permission:select")
@PermissionName("查询权限")
public List<RolePermission> loadRolePermission(RolePermission rolePermission) {
return rolePermissionService.selectPermissionsByRid(rolePermission.getRid());
}
@RequestMapping(value = {"/load_roles"}, method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
@RequiresPermissions("role:select")
@PermissionName("查询角色")
public List<Role> loadRoles() {
return roleService.selectAllRoles();
}
@RequestMapping("/searchRole")
@RequiresPermissions("role:select")
@PermissionName("查询角色")
public String searchRole(Role role, ModelMap modelMap, HttpSession session) {
List<Role> roles = null;
List<Permission> permissions = permissionService.selectAllPermissions();
modelMap.addAttribute("permissions", permissions);
if (role != null && role.getId() != null) {
logger.info("searchRole -> id : " + role.getId());
Role oldRole = roleService.selectByPrimaryKey(role.getId());
modelMap.addAttribute("oldRole", oldRole);
return "updateRole";
}
roles = roleService.selectAllRoles();
modelMap.addAttribute("roles", roles);
session.setAttribute("role", role);
return "roleList";
}
@RequestMapping("/insertRole")
@RequiresPermissions("role:insert")
@PermissionName("新增角色")
public void insertRole(Role role, HttpServletResponse response) {
logger.info("insert role -> name : " + role.getName());
try {
if (roleService.insertSelective(role) > 0) {
response.getWriter().write("{\"actionFlag\": true}");
addRolePermission(role);
} else {
response.getWriter().write("{\"actionFlag\": false}");
}
} catch (IOException e) {
logger.warn("insert role fail -> name : " + role.getName());
e.printStackTrace();
}
}
@RequestMapping("/updateRole")
@RequiresPermissions("role:update")
@PermissionName("更新角色")
public void updateRole(Role role, HttpServletResponse response) {
logger.info("update role -> id : " + role.getId());
try {
if (role!= null && role.getPermissionList() != null) {
rolePermissionService.deleteByRid(role.getId());
response.getWriter().write("{\"actionFlag\": true}");
addRolePermission(role);
} else {
response.getWriter().write("{\"actionFlag\": false}");
}
} catch (IOException e) {
logger.warn("update role fail -> id : " + role.ge
Yuki-^_^
- 粉丝: 3112
- 资源: 4587
最新资源
- TMS320F28069控制500-1000Vdc 0-60A 30KW 三相PFC充电桩程序
- 双馈风机 DFIG 低电压穿越 MATLAB仿真模型 LVRT 双馈异步风力 Crowbar电路 (1)转子侧变器采用基于定子电压定向的矢量控制策略,有功无功解耦,具备MPPT能力,采用功率外环电
- 电机控制器,FPGA 硬件电流环 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制 有坐标变,电流环,速度环,位置环,电机反馈接口,SVPWM Verilog
- 鲁棒优化多阶段规划 利用列和约束生成(C&CG)算法进行求解 提升了配电网对可再生能源的消纳能力且改善了配电网的运行指标,同时又保证了微电网投资商的经济利益,有效实现了配电网与微电网的协调发展
- 脉振方波HFI HFI脉振方波高频注入模型代码和matlab仿真 码基于TI283x,:::仿真和相关文档齐全,有仿真的代码,仿真也可以生成代码
- 主机欧姆龙CP1H,主机带四轴,从机CP1H带数轴进行运动控制 全自动CE锂电极片多极耳连续冲切机 欧姆龙CP1H+MCGS昆仑通态触摸屏 伺服电机控制,电阻尺应用控制,电芯极耳间距定长冲切控制,涵盖
- 物流中心选址规划 帝企鹅优化调度算法 基于帝企鹅优化算法的全国物流中心选址规划算法MATLAB程序源代码及完整数据表格(Excel文件,详见附图) 程序到手可运行 关联词:备选点选址规划,调度
- 风机变桨控制FAST与MATLAB SIMULINK联合仿真模型非线性风力发电机的 PID独立变桨和统一变桨控制下仿真模型,对于5WM非线性风机风机进行控制 链接simulink的scope出转速对比
- 逆变器光伏并网逆变器资料,包含原理图,pcb,源码以及元器件明细表 如下: 1) 功率接口板原理图和pcb,元器件明细表 2) 主控DSP板原理图(pdf);如果有需要,可发mentor版
- PSASP环境下基于PMU同步测量的分区惯量估计方法,附资料 对应主要模式下的频率、分区联络线功率测量,做为PMU计算的依据: 1、恒功率负荷模式; 2、感应电动机负荷模式; 3、1模式基础上叠加2
- TMS320F28069控制500-1000Vdc 0-60A 30KW 三相PFC充电桩硬件设计
- 基于simulink的FCV燃料电池电动汽车模型 包含3个汽车模型,双输入DCDC模型,电池管理系统模型 模型建模清晰,运行良好,部分内容如截图所示 需要matlab2015b
- 基于Html与C#、CSS、JavaScript的Blazor入门课程设计源码
- 西门子1500PLC大型立体仓库堆垛机输送机程序项目,具体为智能物流实际项目案例,成熟并且稳定的运行现场,有一万多个库位,输送机一百多个,堆垛机八个,仓库分楼下和楼上两层,以西门子1500plc为控制
- 24V 65W 120W 350W反激电源 全套资料(原理图+PCB+变压器规格+测试报告)
- PMSM模型预测电流控制集(MPCC):单矢量,双矢量,三矢量;单步预测,两步预测,三步预测;两点平,三电平;无差拿预测...... 仿真模型和文档包括且不限于:见图
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈