role manage

This commit is contained in:
shimingxy
2020-04-29 21:34:35 +08:00
parent fdbd749376
commit ddf99aa011
31 changed files with 2602 additions and 459 deletions

View File

@@ -0,0 +1,104 @@
package org.maxkey.web.contorller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.maxkey.constants.ConstantsOperateMessage;
import org.maxkey.dao.service.RolesService;
import org.maxkey.domain.RolePermissions;
import org.maxkey.util.StringUtils;
import org.maxkey.web.WebContext;
import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping(value={"/permissions"})
public class PermissionsController {
final static Logger _logger = LoggerFactory.getLogger(PermissionsController.class);
@Autowired
@Qualifier("rolesService")
RolesService rolesService;
@RequestMapping(value={"/list"})
public ModelAndView resourcesList(){
return new ModelAndView("permissions/permissionsList");
}
@ResponseBody
@RequestMapping(value={"/savepermissions"})
public Message insert(@ModelAttribute("rolePermissions") RolePermissions rolePermissions) {
_logger.debug("-save :" + rolePermissions);
//have
List<RolePermissions> rolePermissionsedList = rolesService.queryRolePermissions(
new RolePermissions(rolePermissions.getAppId(),rolePermissions.getRoleId()));
HashMap<String,String >permedMap =new HashMap<String,String >();
for(RolePermissions rolePerms : rolePermissionsedList) {
permedMap.put(rolePerms.getUniqueId(),rolePerms.getId());
}
//Maybe insert
ArrayList<RolePermissions> rolePermissionsList =new ArrayList<RolePermissions>();
List<String>resourceIds = StringUtils.string2List(rolePermissions.getResourceId(), ",");
HashMap<String,String >newPermsMap =new HashMap<String,String >();
for(String resourceId : resourceIds) {
RolePermissions newRolePermissions=new RolePermissions(
rolePermissions.getAppId(),
rolePermissions.getRoleId(),
resourceId);
newPermsMap.put(newRolePermissions.getUniqueId(), rolePermissions.getAppId());
if(!rolePermissions.getAppId().equalsIgnoreCase(resourceId) &&
!permedMap.containsKey(newRolePermissions.getUniqueId())) {
rolePermissionsList.add(newRolePermissions);
}
}
//delete
ArrayList<RolePermissions> deleteRolePermissionsList =new ArrayList<RolePermissions>();
for(RolePermissions rolePerms : rolePermissionsedList) {
if(!newPermsMap.containsKey(rolePerms.getUniqueId())) {
deleteRolePermissionsList.add(rolePerms);
}
}
if (!deleteRolePermissionsList.isEmpty()) {
rolesService.logisticDeleteRolePermissions(deleteRolePermissionsList);
}
if (!rolePermissionsList.isEmpty() && rolesService.insertRolePermissions(rolePermissionsList)) {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.error);
}
}
@ResponseBody
@RequestMapping(value={"/querypermissions"})
public List<RolePermissions> querypermissions(@ModelAttribute("rolePermissions") RolePermissions rolePermissions) {
_logger.debug("-querypermissions :" + rolePermissions);
//have
List<RolePermissions> rolePermissionsedList = rolesService.queryRolePermissions(
new RolePermissions(rolePermissions.getAppId(),rolePermissions.getRoleId()));
return rolePermissionsedList;
}
}

View File

@@ -0,0 +1,163 @@
package org.maxkey.web.contorller;
import java.util.HashMap;
import java.util.List;
import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstantsOperateMessage;
import org.maxkey.dao.service.ResourcesService;
import org.maxkey.domain.Resources;
import org.maxkey.web.WebContext;
import org.maxkey.web.component.TreeNode;
import org.maxkey.web.component.TreeNodeList;
import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping(value={"/resources"})
public class ResourcesController {
final static Logger _logger = LoggerFactory.getLogger(ResourcesController.class);
@Autowired
@Qualifier("resourcesService")
ResourcesService resourcesService;
@RequestMapping(value={"/list"})
public ModelAndView resourcesList(){
return new ModelAndView("resources/resourcesList");
}
@RequestMapping(value={"/selectResourcesList"})
public ModelAndView selectResourcesList(){
return new ModelAndView("resources/selectResourcesList");
}
@RequestMapping(value = { "/grid" })
@ResponseBody
public JpaPageResults<Resources> queryDataGrid(@ModelAttribute("resources") Resources resources) {
_logger.debug(""+resources);
return resourcesService.queryPageResults(resources);
}
@RequestMapping(value = { "/forwardAdd" })
public ModelAndView forwardAdd() {
return new ModelAndView("resources/resourceAdd");
}
@RequestMapping(value = { "/forwardUpdate/{id}" })
public ModelAndView forwardUpdate(@PathVariable("id") String id) {
ModelAndView modelAndView=new ModelAndView("resources/resourceUpdate");
Resources resource=resourcesService.get(id);
modelAndView.addObject("model",resource);
return modelAndView;
}
@ResponseBody
@RequestMapping(value={"/add"})
public Message insert(@ModelAttribute("resource") Resources resource) {
_logger.debug("-Add :" + resource);
if (resourcesService.insert(resource)) {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.error);
}
}
/**
* 查询
* @param resource
* @return
*/
@ResponseBody
@RequestMapping(value={"/query"})
public Message query(@ModelAttribute("resource") Resources resource) {
_logger.debug("-query :" + resource);
if (resourcesService.load(resource)!=null) {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_ERROR),MessageType.error);
}
}
/**
* 修改
* @param resource
* @return
*/
@ResponseBody
@RequestMapping(value={"/update"})
public Message update(@ModelAttribute("resource") Resources resource) {
_logger.debug("-update resource :" + resource);
if (resourcesService.update(resource)) {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_ERROR),MessageType.error);
}
}
@ResponseBody
@RequestMapping(value={"/delete"})
public Message delete(@ModelAttribute("resource") Resources resource) {
_logger.debug("-delete resource :" + resource);
if (resourcesService.remove(resource.getId())) {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.error);
}
}
@ResponseBody
@RequestMapping({"/tree"})
public List<HashMap<String, Object>> resourcesTree(
@RequestParam(value = "appId", required = false) String appId,
@RequestParam(value = "appName", required = false) String appName
) {
_logger.debug("resourcesTree appId :" + appId + " ,appName " + appName);
Resources queryRes = new Resources();
queryRes.setAppId(appId);
List<Resources> resourcesList = this.resourcesService.query(queryRes);
TreeNodeList treeNodeList = new TreeNodeList();
TreeNode rootNode = new TreeNode(appId, appName);
rootNode.setAttr("open", Boolean.valueOf(true));
treeNodeList.addTreeNode(rootNode.getAttr());
for (Resources res : resourcesList) {
TreeNode treeNode = new TreeNode(res.getId(), res.getName());
treeNode.setAttr("data", res);
treeNode.setPId(res.getPid());
treeNodeList.addTreeNode(treeNode.getAttr());
}
return treeNodeList.getTreeNodeList();
}
}

View File

@@ -0,0 +1,130 @@
package org.maxkey.web.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstantsOperateMessage;
import org.maxkey.dao.service.RolesService;
import org.maxkey.domain.Roles;
import org.maxkey.web.WebContext;
import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping(value={"/roles"})
public class RolesController {
final static Logger _logger = LoggerFactory.getLogger(RolesController.class);
@Autowired
@Qualifier("rolesService")
RolesService rolesService;
@RequestMapping(value={"/list"})
public ModelAndView rolesList(){
return new ModelAndView("roles/rolesList");
}
@RequestMapping(value={"/selectRolesList"})
public ModelAndView selectRolesList(){
return new ModelAndView("roles/selectRolesList");
}
@RequestMapping(value = { "/grid" })
@ResponseBody
public JpaPageResults<Roles> queryDataGrid(@ModelAttribute("roles") Roles roles) {
_logger.debug(""+roles);
return rolesService.queryPageResults(roles);
}
@RequestMapping(value = { "/forwardAdd" })
public ModelAndView forwardAdd() {
return new ModelAndView("roles/roleAdd");
}
@RequestMapping(value = { "/forwardUpdate/{id}" })
public ModelAndView forwardUpdate(@PathVariable("id") String id) {
ModelAndView modelAndView=new ModelAndView("roles/roleUpdate");
Roles role=rolesService.get(id);
modelAndView.addObject("model",role);
return modelAndView;
}
@ResponseBody
@RequestMapping(value={"/add"})
public Message insert(@ModelAttribute("role") Roles role) {
_logger.debug("-Add :" + role);
if (rolesService.insert(role)) {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.error);
}
}
/**
* 查询
* @param role
* @return
*/
@ResponseBody
@RequestMapping(value={"/query"})
public Message query(@ModelAttribute("role") Roles role) {
_logger.debug("-query :" + role);
if (rolesService.load(role)!=null) {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_ERROR),MessageType.error);
}
}
/**
* 修改
* @param role
* @return
*/
@ResponseBody
@RequestMapping(value={"/update"})
public Message update(@ModelAttribute("role") Roles role) {
_logger.debug("-update role :" + role);
if (rolesService.update(role)) {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_ERROR),MessageType.error);
}
}
@ResponseBody
@RequestMapping(value={"/delete"})
public Message delete(@ModelAttribute("role") Roles role) {
_logger.debug("-delete role :" + role);
if (rolesService.remove(role.getId())) {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.error);
}
}
}