/**
* 文件：ValidCodeEntity.java
* 版本：1.0.0
* 日期：
* Copyright &reg; 
* All right reserved.
*/

package com.mortals.xhx.base.system.valid.model;

import com.mortals.framework.model.BaseEntityLong;

import java.util.Date;

/**
 * <p>Title: 验证码信息</p>
 * <p>Description: ValidCodeEntity  </p>
 * <p>Copyright: Copyright &reg;  </p>
 * <p>Company: </p>
 * @author 
 * @version 1.0.0
 */
public class ValidCodeEntity extends BaseEntityLong{
	private static final long serialVersionUID = 1547777703382L;
	
	/** 验证码 */
	private String code;

	/** 校验地址，email校验使用 */
	private String url;

	/** 校验手机号 */
	private String mobile;

	/** 校验邮箱 */
	private String email;

	/** 校验方式，0：图片校验，1：手机校验，2：邮箱校验，默认0 */
	private Integer type;

	/** 会话ID */
	private String sessionId;

	/** IP地址 */
	private String ip;

	/** 创建时间 */
	private Date createTime;

	/** 失效时间 */
	private Date lapseTime;


	public ValidCodeEntity(){
		
	}
	/**
	 * 获取 验证码
	 * @return code
	 */
	public String getCode(){
		return this.code;
	}

	/**
	 * 设置 验证码
	 * @param code
	 */
	public void setCode(String code){
		this.code = code;
	}

	/**
	 * 获取 校验地址，email校验使用
	 * @return url
	 */
	public String getUrl(){
		return this.url;
	}

	/**
	 * 设置 校验地址，email校验使用
	 * @param url
	 */
	public void setUrl(String url){
		this.url = url;
	}

	/**
	 * 获取 校验手机号
	 * @return mobile
	 */
	public String getMobile(){
		return this.mobile;
	}

	/**
	 * 设置 校验手机号
	 * @param mobile
	 */
	public void setMobile(String mobile){
		this.mobile = mobile;
	}

	/**
	 * 获取 校验邮箱
	 * @return email
	 */
	public String getEmail(){
		return this.email;
	}

	/**
	 * 设置 校验邮箱
	 * @param email
	 */
	public void setEmail(String email){
		this.email = email;
	}

	/**
	 * 获取 校验方式，0：图片校验，1：手机校验，2：邮箱校验，默认0
	 * @return type
	 */
	public Integer getType(){
		return this.type;
	}

	/**
	 * 设置 校验方式，0：图片校验，1：手机校验，2：邮箱校验，默认0
	 * @param type
	 */
	public void setType(Integer type){
		this.type = type;
	}

	/**
	 * 获取 会话ID
	 * @return sessionId
	 */
	public String getSessionId(){
		return this.sessionId;
	}

	/**
	 * 设置 会话ID
	 * @param sessionId
	 */
	public void setSessionId(String sessionId){
		this.sessionId = sessionId;
	}

	/**
	 * 获取 IP地址
	 * @return ip
	 */
	public String getIp(){
		return this.ip;
	}

	/**
	 * 设置 IP地址
	 * @param ip
	 */
	public void setIp(String ip){
		this.ip = ip;
	}

	/**
	 * 获取 创建时间
	 * @return createTime
	 */
	public Date getCreateTime(){
		return this.createTime;
	}

	/**
	 * 设置 创建时间
	 * @param createTime
	 */
	public void setCreateTime(Date createTime){
		this.createTime = createTime;
	}

	/**
	 * 获取 失效时间
	 * @return lapseTime
	 */
	public Date getLapseTime(){
		return this.lapseTime;
	}

	/**
	 * 设置 失效时间
	 * @param lapseTime
	 */
	public void setLapseTime(Date lapseTime){
		this.lapseTime = lapseTime;
	}


	@Override
	public int hashCode() {
		return this.getId().hashCode();
	}
	@Override
	public boolean equals(Object obj) {
		if (obj == null)
			return false;
		if (obj instanceof ValidCodeEntity) {
			ValidCodeEntity tmp = (ValidCodeEntity) obj;
			if (this.getId().longValue() == tmp.getId().longValue()) {
				return true;
			}
		}
		return false;
	}
	public String toString(){
		StringBuilder sb = new StringBuilder("");
		sb.append("id:").append(getId())
		  .append(",code:").append(getCode())
		  .append(",url:").append(getUrl())
		  .append(",mobile:").append(getMobile())
		  .append(",email:").append(getEmail())
		  .append(",type:").append(getType())
		  .append(",sessionId:").append(getSessionId())
		  .append(",ip:").append(getIp())
		  .append(",createTime:").append(getCreateTime())
		  .append(",lapseTime:").append(getLapseTime());
		return sb.toString();
	}
	public void initAttrValue(){
		this.code = null;
		this.url = null;
		this.mobile = null;
		this.email = null;
		this.type = 0;
		this.sessionId = null;
		this.ip = null;
		this.createTime = null;
		this.lapseTime = null;
	}
}