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
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于SSM的人力资源管理系统-可执行内含源码和教程.zip (778个子文件)
COPYING 10KB
style.css 174KB
style.css 167KB
bootstrap.css 144KB
summernote-bs3.css 143KB
bootstrap.css 143KB
style.min.css 135KB
bootstrap.min.css 120KB
bootstrap.min.css 118KB
bootstrap.css 118KB
animate.css 64KB
datepicker3.css 33KB
jquery-ui.css 32KB
bootstrap-rtl.css 31KB
style.css 29KB
font-awesome.css 28KB
bootstrap-theme.css 26KB
ambiance.css 25KB
jquery-ui.min.css 25KB
style.min.css 25KB
bootstrap-rtl.min.css 24KB
font-awesome.min.css 23KB
fullcalendar.css 23KB
bootstrap-theme.min.css 23KB
font-awesome.min.css 20KB
sweetalert.css 18KB
select2.min.css 15KB
chartist.min.css 14KB
jasny-bootstrap.min.css 14KB
jquery-ui-1.10.4.custom.min.css 14KB
chosen.css 13KB
social-buttons.css 13KB
ui.jqgrid.css 13KB
dropzone.css 11KB
summernote.css 10KB
codemirror.css 7KB
blueimp-gallery.min.css 7KB
daterangepicker-bs3.css 7KB
awesome-bootstrap-checkbox.css 7KB
dataTables.tableTools.min.css 7KB
toastr.min.css 7KB
jquery-jvectormap-2.0.2.css 6KB
datatables.min.css 6KB
blueimp-gallery.css 6KB
jquery.steps.css 6KB
footable.core.css 5KB
fullcalendar.print.css 5KB
styles.css 4KB
dataTables.bootstrap.css 4KB
style.css 4KB
clockpicker.css 4KB
basic.css 4KB
bootstrap-colorpicker.min.css 3KB
cropper.min.css 3KB
ion.rangeSlider.css 3KB
slick-theme.css 3KB
jquery.nouislider.css 3KB
jquery.gritter.css 2KB
dataTables.responsive.css 2KB
blueimp-gallery-video.css 2KB
ion.rangeSlider.skinFlat.css 2KB
jquery.justifiedgallery.css 2KB
slick.css 2KB
ion.rangeSlider.skinSimple.css 2KB
ion.rangeSlider.skinNice.css 2KB
blueimp-gallery-indicator.css 2KB
jquery.justifiedgallery.min.css 1KB
custom.css 1KB
demo.css 867B
switchery.css 610B
morris-0.4.3.min.css 442B
tiki.css 440B
style.css 341B
tiddlywiki.css 220B
fontawesome-webfont.eot 71KB
fontawesome-webfont.eot 59KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
footable.eot 5KB
slick.eot 2KB
首页2.gif 415KB
loading.gif 9KB
ajax-loader.gif 4KB
loading.gif 4KB
animated-overlay.gif 2KB
animated-overlay.gif 2KB
throbber.gif 2KB
ie-spacer.gif 43B
scala.html 28KB
index.html 22KB
index.html 17KB
index.html 13KB
index.html 13KB
index.html 11KB
index.html 10KB
index.html 9KB
index.html 8KB
index.html 8KB
index.html 7KB
共 778 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
AI拉呱
- 粉丝: 2830
- 资源: 5448
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 942073208072980精美简历模板汇总(最新版).zip
- 查找可用的 JDK 版本: 执行命令 yum search java-grep jdk
- 精通Qt Creator:深度配置项目构建设置
- 利用MATLAB语言实现PID参数的自动整定,并设计了GUI界面,操作简单 可用于实验室环境下的PID参数自整定
- linuxReaderPoartable
- 纸质作业1:sql简单查询及应用.docx
- 使用flet自主创新创意编程实现两颗心跷跷板动画自定义模板IDE运行和调试通过
- 基于STM32F4系列的MQTT智能门禁锁
- 100 个 Numpy 练习(含解决方案).rar
- 蓝桥杯历届试题 算法分析+递归算法、 动态规划+构图、 递归算法、 度的计算+最短路径、 深度优先遍历+构图, 最小生成树+筛除
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功