/** * 通联支付-研发中心 * RoleController.java * 2014-4-30 */ package com.mtools.core.plugin.auth.web.controller; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.mtools.core.plugin.annotation.AuthAccess; import com.mtools.core.plugin.auth.web.BaseController; import com.mtools.core.plugin.constant.CoreConstans; import com.mtools.core.plugin.entity.PageInfo; import com.mtools.core.plugin.entity.Permission; import com.mtools.core.plugin.entity.Role; import com.mtools.core.plugin.helper.FuncUtil; /** * @author zhang 功能: * @date 2014-4-30 */ @Controller public class RoleController extends BaseController { @RequestMapping(value = "/rolesearch", method = RequestMethod.GET) public String rolesearch(Role role, ModelMap model, String flag,PageInfo page, HttpSession session, HttpServletRequest request) throws Exception { return "admin/sys/roles/main"; } /** * 功能:角色列表 2014-5-5 */ @AuthAccess @RequestMapping(value = "/rolesearch/left", method = RequestMethod.GET) public String roleleft1(Role role, ModelMap model, String flag,PageInfo page, HttpSession session, HttpServletRequest request) throws Exception { List<Role> roles = this.authPlugin.getRoles(role, this.page); model.addAttribute("roles", roles); return "admin/sys/roles/left"; } /** * 功能:角色列表 2014-5-5 */ @AuthAccess @RequestMapping(value = "/rolesearch/left", headers = "table=true") public String roleleft2(Role role, ModelMap model, String flag,PageInfo page, HttpSession session, HttpServletRequest request) throws Exception { List<Role> roles = this.authPlugin.getRoles(role, this.page); model.addAttribute("roles", roles); return "admin/sys/roles/listTable"; } /** * 功能:查看角色详情 2014-5-5 */ @RequestMapping(value = { "/rolesearch/viewrole", "/rolesearch/left/viewrole" }, method = RequestMethod.GET) public String viewrole(Role role, ModelMap model, String flag, HttpSession session, HttpServletRequest request) throws Exception { model.addAttribute(CoreConstans.OP_NAME, "查看"); List<Role> roles = this.authPlugin.getRoles(role, this.page); model.addAttribute("role", roles.get(0)); List<Permission> selperms = this.authPlugin.getSelPermsByRole(role); List<Permission> unselperms = this.authPlugin.getUnselPermsByRole(role); model.addAttribute("selperms", selperms); model.addAttribute("unselperms", unselperms); return "admin/sys/roles/editForm"; } /** * 功能:更新角色详情 2014-5-5 */ @RequestMapping(value = { "/rolesearch/update", "/rolesearch/left/update" }, method = RequestMethod.GET) public String updaterole(Role role, ModelMap model, String flag, String permids, String id, String unselpermids, HttpSession session, HttpServletRequest request) throws Exception { model.addAttribute(CoreConstans.OP_NAME, "修改"); try { if (!FuncUtil.isEmpty(id)) { role.setRoleid(id); } List<Role> roles = this.authPlugin.getRoles(role, this.page); model.addAttribute("role", roles.get(0)); if ("1".equals(flag)) { this.authPlugin.modRole(role, permids, unselpermids, model); } List<Permission> selperms = this.authPlugin.getSelPermsByRole(role); List<Permission> unselperms = this.authPlugin .getUnselPermsByRole(role); model.addAttribute("selperms", selperms); model.addAttribute("unselperms", unselperms); return "admin/sys/roles/editForm"; } catch (Exception ex) { return "admin/sys/roles/editForm"; } } /** * 功能:新增角色详情 2014-5-5 */ @RequestMapping(value = { "/rolesearch/create", "/rolesearch/left/create" }, method = RequestMethod.GET) public String createrole(@ModelAttribute("role") Role role, ModelMap model, String flag, String permids, HttpSession session, HttpServletRequest request) throws Exception { model.addAttribute(CoreConstans.OP_NAME, "新增"); if ("1".equals(flag)) { this.authPlugin.addRole(role, permids, model); List<Permission> selperms = this.authPlugin.getSelPermsByRole(role); model.addAttribute("selperms", selperms); } List<Permission> unselperms = this.authPlugin.getUnselPermsByRole(role); model.addAttribute("unselperms", unselperms); return "admin/sys/roles/editForm"; } /** * 功能:删除角色 2014-5-5 */ @RequestMapping(value = { "/rolesearch/delete", "/rolesearch/left/delete" }, method = RequestMethod.GET) public String deleterole(@ModelAttribute("role") Role role, ModelMap model, String flag, String permids, String id, HttpSession session, HttpServletRequest request) throws Exception { model.addAttribute(CoreConstans.OP_NAME, "删除"); if (!FuncUtil.isEmpty(role.getRoleid())) { List<Role> roles = this.authPlugin.getRoles(role, this.page); model.addAttribute("role", roles.get(0)); List<Permission> selperms = this.authPlugin.getSelPermsByRole(role); List<Permission> unselperms = this.authPlugin .getUnselPermsByRole(role); model.addAttribute("selperms", selperms); model.addAttribute("unselperms", unselperms); if ("1".equals(flag)) { this.authPlugin.deleteRole(role, permids, model); } return "admin/sys/roles/editForm"; } else { if ("1".equals(flag)) { if (!FuncUtil.isEmpty(id)) { role.setRoleid(id); this.authPlugin.deleteRole(role, permids, model); //重定向 return toView(request, model,"/rolesearch/left"); } } } return "admin/sys/roles/listTable"; } }