@ModelAttribute public void getModel( @RequestParam(value = "id", required = false) Long id, @RequestParam(value = "roleId", required = false) Long roleId, Model model) { if (null != id) { model.addAttribute("tdManager", tdManagerService.findOne(id)); } if (null != roleId) { model.addAttribute("tdManagerRole", tdManagerRoleService.findOne(roleId)); } }
private void btnDeleteRole(Long[] ids, Integer[] chkIds) { if (null == ids || null == chkIds || ids.length < 1 || chkIds.length < 1) { return; } for (int chkId : chkIds) { if (chkId >= 0 && ids.length > chkId) { Long id = ids[chkId]; tdManagerRoleService.delete(id); } } }
@RequestMapping(value = "/role/list") public String roleList( Integer page, Integer size, String __EVENTTARGET, String __EVENTARGUMENT, String __VIEWSTATE, Long[] listId, Integer[] listChkId, ModelMap map, HttpServletRequest req) { String username = (String) req.getSession().getAttribute("manager"); if (null == username) { return "redirect:/Verwalter/login"; } if (null != __EVENTTARGET) { if (__EVENTTARGET.equalsIgnoreCase("btnDelete")) { btnDeleteRole(listId, listChkId); tdManagerLogService.addLog("delete", "删除管理员角色", req); } else if (__EVENTTARGET.equalsIgnoreCase("btnPage")) { if (null != __EVENTARGUMENT) { page = Integer.parseInt(__EVENTARGUMENT); } } } if (null == page || page < 0) { page = 0; } if (null == size || size <= 0) { size = SiteMagConstant.pageSize; ; } map.addAttribute("page", page); map.addAttribute("size", size); map.addAttribute("__EVENTTARGET", __EVENTTARGET); map.addAttribute("__EVENTARGUMENT", __EVENTARGUMENT); map.addAttribute("__VIEWSTATE", __VIEWSTATE); map.addAttribute("role_page", tdManagerRoleService.findAll(page, size)); return "/site_mag/manager_role_list"; }
@RequestMapping(value = "/edit") public String managerEdit(Long id, String __VIEWSTATE, ModelMap map, HttpServletRequest req) { String username = (String) req.getSession().getAttribute("manager"); if (null == username) { return "redirect:/Verwalter/login"; } map.addAttribute("__VIEWSTATE", __VIEWSTATE); /** @author lc @注释:添加角色类型 */ map.addAttribute("role_list", tdManagerRoleService.findAll()); if (null != id) { map.addAttribute("tdManager", tdManagerService.findOne(id)); } return "/site_mag/manager_edit"; }
@RequestMapping(value = "/role/edit") public String roleEdit(Long id, String __VIEWSTATE, ModelMap map, HttpServletRequest req) { String username = (String) req.getSession().getAttribute("manager"); if (null == username) { return "redirect:/Verwalter/login"; } map.addAttribute("__VIEWSTATE", __VIEWSTATE); if (null != id) { map.addAttribute("tdRole", tdManagerRoleService.findOne(id)); } // 根菜单列表 List<TdNavigationMenu> rootMenuList = tdNavigationMenuService.findByParentIdAndSort(0L); if (null != rootMenuList && rootMenuList.size() > 0) { for (int i = 0; i < rootMenuList.size(); i++) { TdNavigationMenu rootMenu = rootMenuList.get(i); // 取一级菜单列表 List<TdNavigationMenu> level0MenuList = tdNavigationMenuService.findByParentIdAndSort(rootMenu.getId()); if (null != level0MenuList && level0MenuList.size() > 0) { map.addAttribute("level_" + i + "_menu_list", level0MenuList); for (int j = 0; j < level0MenuList.size(); j++) { TdNavigationMenu level0Menu = level0MenuList.get(j); // 取二级菜单列表 List<TdNavigationMenu> level1MenuList = tdNavigationMenuService.findByParentIdAndSort(level0Menu.getId()); if (null != level1MenuList && level1MenuList.size() > 0) { map.addAttribute("level_" + i + j + "_menu_list", level1MenuList); } } } } } map.addAttribute("root_menu_list", rootMenuList); return "/site_mag/manager_role_edit"; }
@RequestMapping(value = "/role/save") public String roleSave( TdManagerRole tdManagerRole, TdManagerPermissionList tdManagerPermissionList, String __VIEWSTATE, ModelMap map, HttpServletRequest req) { String username = (String) req.getSession().getAttribute("manager"); if (null == username) { return "redirect:/Verwalter/login"; } map.addAttribute("__VIEWSTATE", __VIEWSTATE); // for(int i = 0; i < tdManagerPermissionList.getPermissionlist().size(); i++){ // System.out.println(tdManagerPermissionList.getPermissionlist().get(i).getIsView()+" // "+i); // } // if (null != tdManagerRole.getPermissionList()) { for (int i = 0; i < tdManagerRole.getPermissionList().size(); i++) { if (null == tdManagerRole.getPermissionList().get(i).getIsView()) { tdManagerRole.getPermissionList().get(i).setIsView(false); } } } if (null == tdManagerRole.getPermissionList() && null != tdManagerPermissionList && null != tdManagerPermissionList.getPermissionlist()) { tdManagerRole.setPermissionList(tdManagerPermissionList.getPermissionlist()); } else { if (null != tdManagerPermissionList && null != tdManagerPermissionList.getPermissionlist()) { if (tdManagerPermissionList.getPermissionlist().size() < tdManagerRole.getPermissionList().size()) { for (int i = 0; i < tdManagerPermissionList.getPermissionlist().size(); i++) { if (null != tdManagerPermissionList.getPermissionlist().get(i).getIsView() && tdManagerPermissionList.getPermissionlist().get(i).getIsView()) { tdManagerRole.getPermissionList().get(i).setIsView(true); } else { tdManagerRole.getPermissionList().get(i).setIsView(false); } } for (int i = tdManagerPermissionList.getPermissionlist().size(); i < tdManagerRole.getPermissionList().size(); i++) { tdManagerRole.getPermissionList().get(i).setIsView(false); } } else { for (int i = 0; i < tdManagerPermissionList.getPermissionlist().size(); i++) { if (i >= tdManagerRole.getPermissionList().size()) { TdManagerPermission tdManagerPermission = new TdManagerPermission(); if (null != tdManagerPermissionList.getPermissionlist().get(i).getIsView() && tdManagerPermissionList.getPermissionlist().get(i).getIsView()) { tdManagerPermission.setIsView(true); } else { tdManagerPermission.setIsView(false); } tdManagerRole.getPermissionList().add(tdManagerPermission); } else { if (null != tdManagerPermissionList.getPermissionlist().get(i).getIsView() && tdManagerPermissionList.getPermissionlist().get(i).getIsView()) { tdManagerRole.getPermissionList().get(i).setIsView(true); } else { tdManagerRole.getPermissionList().get(i).setIsView(false); } } } } } else { if (null != tdManagerRole.getPermissionList()) { for (int i = 0; i < tdManagerRole.getPermissionList().size(); i++) { tdManagerRole.getPermissionList().get(i).setIsView(false); } } } } if (null == tdManagerRole.getPermissionList() && null == tdManagerPermissionList.getPermissionlist()) { List<TdManagerPermission> tdManagerPermissions = new ArrayList<>(); tdManagerRole.setPermissionList(tdManagerPermissions); int totalsize = tdNavigationMenuService.findAll().size(); for (int i = 0; i < totalsize; i++) { TdManagerPermission tdManagerPermission = new TdManagerPermission(); tdManagerPermission.setIsView(false); tdManagerRole.getPermissionList().add(tdManagerPermission); } } // 将为空的权限设为false int totalsize = tdNavigationMenuService.findAll().size(); for (int i = 0; i < totalsize; i++) { if (i < tdManagerRole.getPermissionList().size()) { if (null == tdManagerRole.getPermissionList().get(i).getIsView()) { tdManagerRole.getPermissionList().get(i).setIsView(false); } } else { TdManagerPermission tdManagerPermission = new TdManagerPermission(); tdManagerPermission.setIsView(false); tdManagerRole.getPermissionList().add(tdManagerPermission); } } tdManagerRoleService.save(tdManagerRole); if (null == tdManagerRole.getId()) { tdManagerLogService.addLog("add", "添加管理角色权限", req); } else { tdManagerLogService.addLog("edit", "修改管理角色权限", req); } return "redirect:/Verwalter/manager/role/list"; }