package com.flf.controller; import java.io.PrintWriter; import java.math.BigInteger; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.flf.entity.Menu; import com.flf.entity.Role; import com.flf.service.MenuService; import com.flf.service.RoleService; import com.flf.util.RightsHelper; import com.flf.util.Tools; @Controller @RequestMapping(value="/role") public class RoleController { @Autowired private RoleService roleService; @Autowired private MenuService menuService; /** * 显示角色列表 * @param map * @return */ @RequestMapping public String list(Map<String,Object> map){ List<Role> roleList = roleService.listAllRoles(); map.put("roleList", roleList); return "roles"; } /** * 保存角色信息 * @param out * @param role */ @RequestMapping(value="/save") public void save(PrintWriter out,Role role){ boolean flag = true; if(role.getRoleId()!=null && role.getRoleId().intValue()>0){ flag = roleService.updateRoleBaseInfo(role); }else{ flag = roleService.insertRole(role); } if(flag){ out.write("success"); }else{ out.write("failed"); } out.flush(); out.close(); } /** * 请求角色授权页面 * @param roleId * @param model * @return */ @RequestMapping(value="/auth") public String auth(@RequestParam int roleId,Model model){ List<Menu> menuList = menuService.listAllMenu(); Role role = roleService.getRoleById(roleId); String roleRights = role.getRights(); if(Tools.notEmpty(roleRights)){ for(Menu menu : menuList){ menu.setHasMenu(RightsHelper.testRights(roleRights, menu.getMenuId())); if(menu.isHasMenu()){ List<Menu> subMenuList = menu.getSubMenu(); for(Menu sub : subMenuList){ sub.setHasMenu(RightsHelper.testRights(roleRights, sub.getMenuId())); } } } } JSONArray arr = JSONArray.fromObject(menuList); String json = arr.toString(); json = json.replaceAll("menuId", "id").replaceAll("menuName", "name").replaceAll("subMenu", "nodes").replaceAll("hasMenu", "checked"); model.addAttribute("zTreeNodes", json); model.addAttribute("roleId", roleId); return "authorization"; } /** * 保存角色权限 * @param roleId * @param menuIds * @param out */ @RequestMapping(value="/auth/save") public void saveAuth(@RequestParam int roleId,@RequestParam String menuIds,PrintWriter out){ BigInteger rights = RightsHelper.sumRights(Tools.str2StrArray(menuIds)); Role role = roleService.getRoleById(roleId); role.setRights(rights.toString()); roleService.updateRoleRights(role); out.write("success"); out.close(); } }
最近下载更多
PISCESPLUS LV4
9月3日
微信网友_6906962132258816 LV7
4月21日
2036495585 LV9
2023年9月25日
what_the_fo LV5
2023年4月7日
微信网友_6248713511227392 LV11
2022年12月5日
2273117187 LV5
2022年6月15日
Start1 LV15
2022年3月8日
ssh123 LV10
2021年7月5日
gamal233 LV5
2021年6月23日
wangwenzhong LV9
2021年5月7日
最近浏览更多
PISCESPLUS LV4
9月3日
微信网友_6906962132258816 LV7
4月21日
WBelong LV8
2023年12月26日
2036495585 LV9
2023年9月25日
多加两块钱 LV4
2023年6月14日
1379585889 LV11
2023年6月7日
what_the_fo LV5
2023年4月7日
zhexiu
2023年1月15日
暂无贡献等级
微信网友_6248713511227392 LV11
2022年12月5日
adnawda
2022年11月27日
暂无贡献等级