package com.opentravelsoft.entity; import java.util.Map; import java.util.Set; import java.util.TreeMap; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Transient; import static javax.persistence.GenerationType.IDENTITY; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Version; @Entity @Table(name = "tbl_module") public class Module implements java.io.Serializable { private Integer moduleId; private Integer version; private String moduleName; private String moduleTitle; private String action; /** 说明 */ private String description; private Integer sortOrder; private String type; private Integer parentId; /** 是否激活 */ private byte isActive; public Module() { sortOrder = 0; parentId = 0; rolePermissionMap = new TreeMap<Integer, Boolean>(); } public Module(String name, byte isActive) { this.moduleName = name; this.isActive = isActive; } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "MID", unique = true, nullable = false) public Integer getModuleId() { return moduleId; } public void setModuleId(Integer moduleId) { this.moduleId = moduleId; } @Version @Column(name = "VERSION") public Integer getVersion() { return this.version; } public void setVersion(Integer version) { this.version = version; } @Column(name = "NAME", nullable = false, length = 50) public String getModuleName() { return moduleName; } public void setModuleName(String moduleName) { this.moduleName = moduleName; } @Column(name = "TITLE", length = 50) public String getModuleTitle() { return moduleTitle; } public void setModuleTitle(String moduleTitle) { this.moduleTitle = moduleTitle; } @Column(name = "ACTION", length = 50) public String getAction() { return this.action; } public void setAction(String action) { this.action = action; } @Column(name = "DESCRIPTION", length = 500) public String getDescription() { return this.description; } public void setDescription(String description) { this.description = description; } @Column(name = "SORT_ORDER") public Integer getSortOrder() { return this.sortOrder; } public void setSortOrder(Integer sortOrder) { this.sortOrder = sortOrder; } @Column(name = "TYPE", length = 10) public String getType() { return this.type; } public void setType(String type) { this.type = type; } @Column(name = "PARENT_ID") public Integer getParentId() { return this.parentId; } public void setParentId(Integer parentId) { this.parentId = parentId; } @Column(name = "IS_ACTIVE", nullable = false) public byte getIsActive() { return this.isActive; } public void setIsActive(byte isActive) { this.isActive = isActive; } private boolean isAdmin; /** 权限Type ep [View ,Edit , Delete] */ private Set<ModulePermission> modulePermissions; /** 一个角色的某个模块的权限<modulePermissionId, value> */ private Map<Integer, Boolean> rolePermissionMap; public boolean isAdmin() { return isAdmin; } public void setAdmin(boolean isAdmin) { this.isAdmin = isAdmin; } @Transient public Map<Integer, Boolean> getRolePermissionMap() { return rolePermissionMap; } public void setRolePermissionMap(Map<Integer, Boolean> rolePermissionMap) { this.rolePermissionMap = rolePermissionMap; } @Transient public Set<ModulePermission> getModulePermissions() { return modulePermissions; } public void setModulePermissions(Set<ModulePermission> modulePermissions) { this.modulePermissions = modulePermissions; } }