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
AI拉呱
- 粉丝: 2901
- 资源: 5549
最新资源
- 考虑电动汽车可调度潜力的充电站调度策略 基于闵可夫斯基加法提出了充电站内电动汽车集群模型的压缩方法,并建立了日前可调度潜力预测模型和实时可调度潜力评估模型 同时考虑了充电站间的非合作博弈,建立了电力
- PID算法,温度控制系统,STC89C51 (1)LCD1602显示当前温度值和设定温度值(均带单位) (2)采用防水型DS18B20温度传感器测温; (3)按键可以设置报警值,当温度超过设定值相应的
- 欧姆龙NJ501-1300,威伦通触摸屏,分布式总线控制,ID262.OD2663等输入输出IO模块 全自动锂电池冷压机 整机采用EtherCAT总线网络节点控制, 汇川总线伺服,汇川机器人TCP
- omron欧姆龙NJ NX程序 欧姆龙NJ501-1300,威伦通触摸屏,分布式总线控制,ID262.OD2663等输入输出IO模块,MAD模拟量模块 全自动锂电池贴膜机,整机采用Ethe
- 项目中包括锂电池模型建立、参数辨识与验证、SOC估算采用扩展卡尔曼滤波(EKF),使用了两种方式实现: 1. Simulinks(EKF only) 2. 脚本(包含EKF和UKF) 模型的输入包括电
- Matlab代码:综合能源系统(IES)的优化调度,主要包括风力、光伏、燃气轮机、燃气内燃机、燃气锅炉、余热回收系统、吸收式制冷机、电制冷机、蓄电池等设备,输入为电网和天然气网,输出包括电、冷、热三种
- 三菱Q系列程序 三菱Q程序,主站Q02UCPU++FX3128M+FX3S14M+FX3U-485通信主从控制 QX42.QY42P等输入输出模块.QD70P8定位控制模块 锂电池包膜机机
- 西门子200smart与8台v90伺服驱动器Profinet通讯,控制8台伺服电机 实现绝对定位并且断电位置保持功能 V90PN版说明书,epos模式介绍 特点: 1.有手动,自动两种功能 可自
- 西门子PID 整套程序 西门子Plc1200和多台G120西门子变频器Modbud RTU通讯; 带西门子触摸屏; 带变频器参数 Modbus通讯报文详细讲解; PID自写FB块无密码可以直接应用到
- 光伏mppt扰动观察法,改变光照强度,负载两侧电压稳定改变,光伏最大输出功率也改变matlab2018b
- omron欧姆龙NJ NX程序 高端出口设备 欧姆龙NX系列PLC,普洛菲斯人机界面,搭载EtherCAT远程输入输出IO模块 ,多站EIP以太网标签变量通信,电子光栅尺应用,相机视觉应用,机器
- MATLAB机器人工具箱程序 1.机器人运动学 机器人正逆运动学模型,建立DH参数表,蒙特卡罗法构建机器人工作空间 2.机器人动力学 建立雅可比矩阵,建立动力学方程 3.机器人路径规划、轨迹规
- 双碳+24小时分时综合能源系统低碳优化调度(用Matlab+Yalmip+Cplex) 包含新能源消纳、热电联产、电锅炉、储能电池、天然气、碳捕集CCS、计及碳交易市场等综合元素,实现系统总运行成本最
- Z源逆变器,SVPWM调制MATLAB仿真模型 附参考 (提前导通,延迟关断)
- Matlab美图秀秀 随着市面上各类美颜相机的兴起,人们也都在追求更完美的美颜照片.本文提实现了一种静态图片美颜方法.首先通过人脸识别确定面部特征点,然后引入图像平滑技术,采用双边滤波器滤除图像噪声实
- 组合变权赋权方法,基于AHP和改进CRITIC计算主客观权重,引入指标劣化度构造变权函数对综合权重进行修正,还方法可以捕捉指标时序的劣化程度,实现数据的有效跟踪,评价更加合理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈