221 lines
6.3 KiB
Java
221 lines
6.3 KiB
Java
|
|
package com.saye.hospitalgd.controller.system;
|
|||
|
|
|
|||
|
|
import com.github.pagehelper.PageHelper;
|
|||
|
|
import com.github.pagehelper.PageInfo;
|
|||
|
|
import com.saye.hospitalgd.commons.JsonResult;
|
|||
|
|
import com.saye.hospitalgd.commons.log.ExceptionDUtil;
|
|||
|
|
import com.saye.hospitalgd.commons.log.LogUtil;
|
|||
|
|
import com.saye.hospitalgd.model.MenuRole;
|
|||
|
|
import com.saye.hospitalgd.model.ResourceInfo;
|
|||
|
|
import com.saye.hospitalgd.model.Role;
|
|||
|
|
import com.saye.hospitalgd.model.Users;
|
|||
|
|
import com.saye.hospitalgd.service.system.DepartService;
|
|||
|
|
import com.saye.hospitalgd.service.system.MenuService;
|
|||
|
|
import com.saye.hospitalgd.service.system.RoleService;
|
|||
|
|
import org.apache.shiro.SecurityUtils;
|
|||
|
|
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.ResponseBody;
|
|||
|
|
|
|||
|
|
import java.util.ArrayList;
|
|||
|
|
import java.util.HashMap;
|
|||
|
|
import java.util.List;
|
|||
|
|
|
|||
|
|
@Controller
|
|||
|
|
public class RoleController {
|
|||
|
|
|
|||
|
|
@Autowired
|
|||
|
|
private RoleService roleService;
|
|||
|
|
|
|||
|
|
@Autowired
|
|||
|
|
private MenuService menuService;
|
|||
|
|
|
|||
|
|
@Autowired
|
|||
|
|
private DepartService departService;
|
|||
|
|
/**
|
|||
|
|
* @description 到角色管理页面
|
|||
|
|
* @author thuang
|
|||
|
|
* @created 2019年11月11日 上午10:50:40
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@RequestMapping("/toRoleManager")
|
|||
|
|
public String toRoleManager(ModelMap modelMap){
|
|||
|
|
|
|||
|
|
HashMap<Object,Object> responseMap = new HashMap<Object,Object>();
|
|||
|
|
responseMap.put("firstNode", "0");
|
|||
|
|
ResourceInfo resourceInfo=null;
|
|||
|
|
try {
|
|||
|
|
resourceInfo = this.menuService.getMenuByRole(responseMap);
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
modelMap.addAttribute("resourceInfo", resourceInfo);
|
|||
|
|
|
|||
|
|
HashMap<String, Object> map = new HashMap<String, Object>();
|
|||
|
|
map.put("parent_id","10330701");
|
|||
|
|
List<HashMap<Object, Object>> departList = this.departService.findDepartByParentId(map);
|
|||
|
|
for (HashMap<Object, Object> departMap : departList) {
|
|||
|
|
departMap.put("id",departMap.get("DEPART_ID"));
|
|||
|
|
departMap.put("title",departMap.get("DEPART_NAME"));
|
|||
|
|
}
|
|||
|
|
modelMap.put("departList",departList);
|
|||
|
|
return "system/roleManager";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
*
|
|||
|
|
* @description 查询列表
|
|||
|
|
* @author qfqi
|
|||
|
|
* @created 2019年11月5日 下午3:07:41
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@RequestMapping("/searchRole")
|
|||
|
|
@ResponseBody
|
|||
|
|
public HashMap<String, Object> searchRole(String roleName,String date,Integer page, Integer limit){
|
|||
|
|
HashMap<String,String> map=new HashMap<String,String>();
|
|||
|
|
map.put("roleName", roleName);
|
|||
|
|
map.put("date", date);
|
|||
|
|
PageHelper.startPage(page, limit);
|
|||
|
|
PageInfo<Role> appsPageInfo = new PageInfo<Role>(roleService.searchRole(map));
|
|||
|
|
HashMap<String, Object> map1 = new HashMap<String,Object>();
|
|||
|
|
map1.put("code", 0);
|
|||
|
|
map1.put("msg", "你好");
|
|||
|
|
map1.put("count", appsPageInfo.getTotal());
|
|||
|
|
map1.put("data", appsPageInfo.getList());
|
|||
|
|
|
|||
|
|
return map1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @description 添加角色
|
|||
|
|
* @author thuang
|
|||
|
|
* @created 2019年11月11日 下午3:58:24
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@RequestMapping("/insertRoles")
|
|||
|
|
@ResponseBody
|
|||
|
|
public HashMap<Object, Object> insertRoles(String roleName,String menuId){
|
|||
|
|
|
|||
|
|
HashMap<String, String> map=new HashMap<String, String>();
|
|||
|
|
HashMap<Object, Object> response=new HashMap<Object, Object>();
|
|||
|
|
|
|||
|
|
String errCode="0";
|
|||
|
|
String errMsg="";
|
|||
|
|
|
|||
|
|
Users user = (Users) SecurityUtils.getSubject().getPrincipal();
|
|||
|
|
|
|||
|
|
map.put("roleName",roleName);
|
|||
|
|
map.put("menuId",menuId);
|
|||
|
|
String userName = user.getUserName();
|
|||
|
|
String userTrueName = user.getTrueName();
|
|||
|
|
map.put("userName", userName);
|
|||
|
|
map.put("userTrueName", userTrueName);
|
|||
|
|
|
|||
|
|
//新增角色
|
|||
|
|
try {
|
|||
|
|
String status = roleService.addRole(map);
|
|||
|
|
LogUtil.info(this.getClass(),"用户"+ user.getTrueName()+"添加角色:map:"+map.toString());
|
|||
|
|
if ("true".equals(status)) {
|
|||
|
|
|
|||
|
|
}else {
|
|||
|
|
errCode="998";
|
|||
|
|
errMsg=status;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
errCode="999";
|
|||
|
|
errMsg=e.getMessage();
|
|||
|
|
LogUtil.error(this.getClass(), "新增角色失败,原因:"+ExceptionDUtil.getDetailExceptionMsg(e));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
response.put("errCode", errCode);
|
|||
|
|
response.put("errMsg", errMsg);
|
|||
|
|
return response;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
*
|
|||
|
|
* @description 删除用户角色
|
|||
|
|
* @author qfqi
|
|||
|
|
* @created 2019年11月5日 下午3:07:54
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@RequestMapping("/deleteRole")
|
|||
|
|
@ResponseBody
|
|||
|
|
public JsonResult deleteRole(String roleId){
|
|||
|
|
Users user = (Users) SecurityUtils.getSubject().getPrincipal();
|
|||
|
|
int result=roleService.deleteRole(roleId);
|
|||
|
|
LogUtil.info(this.getClass(),"用户"+ user.getTrueName()+"删除角色:roleId:"+roleId);
|
|||
|
|
JsonResult j=new JsonResult();
|
|||
|
|
if(result>0){
|
|||
|
|
j.setState(true);
|
|||
|
|
j.setMessage("删除成功!");
|
|||
|
|
}else{
|
|||
|
|
j.setState(false);
|
|||
|
|
j.setMessage("删除失败!");
|
|||
|
|
}
|
|||
|
|
return j;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @description 根据角色id获取角色权限菜单id
|
|||
|
|
* @author thuang
|
|||
|
|
* @created 2019年11月12日 上午9:51:08
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@RequestMapping("/getSelectMenuId")
|
|||
|
|
@ResponseBody
|
|||
|
|
public List<String> getSelectMenuId(String roleId){
|
|||
|
|
|
|||
|
|
HashMap<Object, Object> map=new HashMap<Object, Object>();
|
|||
|
|
map.put("roleId",roleId);
|
|||
|
|
List<MenuRole> menuIdByRoleId = menuService.getMenuIdByRoleId(map);
|
|||
|
|
|
|||
|
|
List<String> menuIdList=new ArrayList<String>();
|
|||
|
|
|
|||
|
|
for (int i = 0; i < menuIdByRoleId.size(); i++) {
|
|||
|
|
MenuRole menuRole = menuIdByRoleId.get(i);
|
|||
|
|
menuIdList.add(menuRole.getMenuId());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return menuIdList;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
*
|
|||
|
|
* @description 修改用户角色权限信息
|
|||
|
|
* @author qfqi
|
|||
|
|
* @created 2019年11月5日 下午3:08:05
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@RequestMapping("/modifyRoleResource")
|
|||
|
|
@ResponseBody
|
|||
|
|
public JsonResult modifyRoleResource(String roleId,String roleName,String menuId,String departId,String pointDelete) {
|
|||
|
|
|
|||
|
|
HashMap<String,String> map=new HashMap<String,String>();
|
|||
|
|
map.put("roleName", roleName);
|
|||
|
|
map.put("roleId", roleId);
|
|||
|
|
map.put("menuId", menuId);
|
|||
|
|
map.put("departId", departId);
|
|||
|
|
map.put("pointDelete", pointDelete);
|
|||
|
|
Users user = (Users) SecurityUtils.getSubject().getPrincipal();
|
|||
|
|
int result=roleService.modifyRoleResource(map);
|
|||
|
|
LogUtil.info(this.getClass(),"用户"+ user.getTrueName()+"修改用户角色权限信息:map:"+map.toString());
|
|||
|
|
JsonResult j=new JsonResult();
|
|||
|
|
if(result>0){
|
|||
|
|
j.setState(true);
|
|||
|
|
j.setMessage("修改成功!");
|
|||
|
|
}else{
|
|||
|
|
j.setState(false);
|
|||
|
|
j.setMessage("修改失败!");
|
|||
|
|
}
|
|||
|
|
return j;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|