package com.zym.pss.sysadmin.vo; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import com.zym.pss.sysadmin.po.Function; /** * @Description:用户VO类 * @Author: zym * @CreateDate: 2015年12月3日 */ public class UserVo implements Serializable{ private static final long serialVersionUID = 6461973779470975121L; private String id ; //用户ID List<RoleVo> userRoles = new ArrayList<RoleVo>(); private String userNo ; //用户编号 private String password ; //密码 private String telephone ; //联系方式 private String email ; //邮箱 private String address ; //地址 private Integer status ; //状态 private String tenantId ; //所属租户ID //-------------------------------权限方法 /** * 判断用户是否为超级管理员 * @return */ public boolean isAdmin(){ if("admin".equals(userNo)){ return true ; } return false ; } /** * 通过functionName判断用户是否有权限 * @param functionName * @return */ public boolean hasPrivilegeByName(String functionName) { //判断是否是超级管理员 if(isAdmin()){ return true ; } //普通用户判断是否含有这个权限 for(RoleVo role :userRoles){ for(Function func :role.getRoleFuncs()){ if(functionName.equals(func.getFunctionName())){ return true ; } } } return false; } /** * 通过URL判断用户是否有权限 * @param functionUrl * @return */ public boolean hasPrivilegeByUrl(String functionUrl) { //判断用户是否是超级管理员 if(isAdmin()){ return true ; } //普通用户判断是否有这个权限 for(RoleVo role : userRoles){ for(Function func :role.getRoleFuncs()){ if(functionUrl.equals(func.getFunctionURL())){ return true ; } } } return false; } //-----------------------Getter/Setter public String getId() { return id; } public void setId(String id) { this.id = id; } public List<RoleVo> getUserRoles() { return userRoles; } public void setUserRoles(List<RoleVo> userRoles) { this.userRoles = userRoles; } public String getUserNo() { return userNo; } public void setUserNo(String userNo) { this.userNo = userNo; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public String getTenantId() { return tenantId; } public void setTenantId(String tenantId) { this.tenantId = tenantId; } }