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(); } }
最近下载更多
XiaoSong888 LV3
1月10日
泓鼎168 LV20
2023年10月16日
wz520135 LV7
2022年11月5日
听着雨吹着风 LV9
2022年5月15日
叶柯宸 LV3
2022年5月10日
fengshengtian LV8
2022年4月21日
Start1 LV15
2022年3月8日
wanglinddad LV55
2021年12月30日
qq70081337 LV6
2021年8月28日
ssh123 LV10
2021年7月5日
最近浏览更多
18135724357
10月12日
暂无贡献等级
yyhrhv LV8
5月23日
13521878735 LV3
3月26日
XiaoSong888 LV3
1月10日
WBelong LV8
2023年12月26日
edpwyg LV14
2023年10月22日
泓鼎168 LV20
2023年10月16日
飞呀飞呀飞不放 LV7
2023年8月9日
gecongkai LV8
2023年6月22日
miluya
2023年6月13日
暂无贡献等级