All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eweb4j.solidbase.user.model.User Maven / Gradle / Ivy

The newest version!
package org.eweb4j.solidbase.user.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.eweb4j.mvc.validator.annotation.Equals;
import org.eweb4j.mvc.validator.annotation.Length;
import org.eweb4j.mvc.validator.annotation.Required;
import org.eweb4j.solidbase.department.model.Department;
import org.eweb4j.solidbase.role.model.Role;

/**
 * 用户-持久化对象
 * 
 * @author weiwei[[email protected]]
 * 
 */
@Entity
@Table(name = "t_user")
public class User implements Serializable {
	private static final long serialVersionUID = -3248564641931360005L;
	@Id
	private long id;// 自增长id

	@Column(name = "super_power")
	private String superPower; // 是否拥有超级能力,可以越过权限检查, yes|no

	@Transient
	@Required
	@Length(min=5, max=5)
	private String authcode;// 验证码,非数据表字段
	@Required
	@Length(min=4, max=16)
	private String account;// 账号,4-16
	@Required
	@Length(min=4, max=32)
	private String password;// 密码,4-32,MD5加密
	@Transient
	@Required
	@Equals(to="password")
	private String rePwd;
	private String status;// 用户状态:'正常'、'锁定'
	@Column(name = "last_login_time")
	private String lastLoginTime;// 上一次登陆时间
	@Column(name = "last_login_ip")
	private String lastLoginIp;// 上一次登陆IP
	@Column(name = "register_time")
	private String regTime;

	@ManyToMany
	@JoinTable(name = "t_user_role", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id"))
	private List roles = new ArrayList();

	@ManyToMany
	@JoinTable(name = "t_user_department", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "department_id"))
	private List departments = new ArrayList();

	@Transient
	private boolean isValid; // 帐号是否有效,非数据表字段

	@Column(name = "true_name")
	private String trueName; // 用户姓名
	private String email; // 电子邮箱
	@Column(name = "id_num")
	private String idNum; // 证件号码
	private String fax; // 联系传真
	private String addr; // 联系地址
	@Column(name = "office_phone")
	private String officePhone;
	@Column(name = "mobile_num")
	private String mobileNum; // 手机号码

	@Column(name = "home_phone")
	private String homePhone; // 家庭电话
	@Column(name = "available_period")
	private String availablePeriod; // 帐号有效期

	@Column(name = "add_time")
	protected String addTime;

	@Column(name = "modify_time")
	protected String modifyTime;
	
	/* 属性菜单权限 */
	private List treeMenuPerms;
	
	/* 导航菜单权限 */
	private List navMenuPerms;

	public String getAddTime() {
		return addTime;
	}

	public void setAddTime(String addTime) {
		this.addTime = addTime;
	}

	public String getModifyTime() {
		return modifyTime;
	}

	public void setModifyTime(String modifyTime) {
		this.modifyTime = modifyTime;
	}

	public User() {
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getAuthcode() {
		return authcode;
	}

	public void setAuthcode(String authcode) {
		this.authcode = authcode;
	}

	public String getAccount() {
		return account;
	}

	public void setAccount(String account) {
		this.account = account;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getRePwd() {
		return rePwd;
	}

	public void setRePwd(String rePwd) {
		this.rePwd = rePwd;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getLastLoginTime() {
		return lastLoginTime;
	}

	public void setLastLoginTime(String lastLoginTime) {
		this.lastLoginTime = lastLoginTime;
	}

	public String getLastLoginIp() {
		return lastLoginIp;
	}

	public void setLastLoginIp(String lastLoginIp) {
		this.lastLoginIp = lastLoginIp;
	}

	public String getRegTime() {
		return regTime;
	}

	public void setRegTime(String regTime) {
		this.regTime = regTime;
	}

	public List getRoles() {
		return roles;
	}

	public void setRoles(List roles) {
		this.roles = roles;
	}

	public List getDepartments() {
		return departments;
	}

	public void setDepartments(List departments) {
		this.departments = departments;
	}

	public boolean getIsValid() {
		return isValid;
	}

	public void setIsValid(boolean isValid) {
		this.isValid = isValid;
	}

	public boolean isValid() {
		return isValid;
	}

	public void setValid(boolean isValid) {
		this.isValid = isValid;
	}

	public String getTrueName() {
		return trueName;
	}

	public void setTrueName(String trueName) {
		this.trueName = trueName;
	}

	public String getIdNum() {
		return idNum;
	}

	public void setIdNum(String idNum) {
		this.idNum = idNum;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getFax() {
		return fax;
	}

	public void setFax(String fax) {
		this.fax = fax;
	}

	public String getAddr() {
		return addr;
	}

	public void setAddr(String addr) {
		this.addr = addr;
	}

	public String getOfficePhone() {
		return officePhone;
	}

	public void setOfficePhone(String officePhone) {
		this.officePhone = officePhone;
	}

	public String getMobileNum() {
		return mobileNum;
	}

	public void setMobileNum(String mobileNum) {
		this.mobileNum = mobileNum;
	}

	public String getHomePhone() {
		return homePhone;
	}

	public void setHomePhone(String homePhone) {
		this.homePhone = homePhone;
	}

	public String getAvailablePeriod() {
		return availablePeriod;
	}

	public void setAvailablePeriod(String availablePeriod) {
		this.availablePeriod = availablePeriod;
	}

	public String getSuperPower() {
		return superPower;
	}

	public void setSuperPower(String superPower) {
		this.superPower = superPower;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", superPower=" + superPower + ", authcode="
				+ authcode + ", account=" + account + ", password=" + password
				+ ", rePwd=" + rePwd + ", status=" + status
				+ ", lastLoginTime=" + lastLoginTime + ", lastLoginIp="
				+ lastLoginIp + ", regTime=" + regTime + ", roles=" + roles
				+ ", departments=" + departments + ", isValid=" + isValid
				+ ", trueName=" + trueName + ", email=" + email + ", idNum="
				+ idNum + ", fax=" + fax + ", addr=" + addr + ", officePhone="
				+ officePhone + ", mobileNum=" + mobileNum + ", homePhone="
				+ homePhone + ", availablePeriod=" + availablePeriod
				+ ", addTime=" + addTime + ", modifyTime=" + modifyTime + "]";
	}

	public List getTreeMenuPerms() {
		return treeMenuPerms;
	}

	public void setTreeMenuPerms(List treeMenuPerms) {
		this.treeMenuPerms = treeMenuPerms;
	}

	public List getNavMenuPerms() {
		return navMenuPerms;
	}

	public void setNavMenuPerms(List navMenuPerms) {
		this.navMenuPerms = navMenuPerms;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy