package com.iamberry.wechat.core.entity.member;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.iamberry.wechat.core.entity.Page;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * description: 会员信息实休类
 * 	   @author: 张应真
 * @createDate: 2016年4月18日
 */
public class Member implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -1480503773318576718L;
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	private Integer userId;					//会员ID
	private String userOpenid;				//用户openid
	private String userHead;				//用户头像
	private String userNickname;			//用户昵称
	private String userAddr;				//用户区域
	
	private Integer userSex;				//用户性别		default 1; 1:男   2:女   0:未知
	private String userAccountNum;			//用户账号
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
	private Date userBirthDate;				//生日
	private Date userCreateDate;			//创建时间

	private Integer userIntegral;			//用户积分
	private Integer userSurplusIntegral;	//剩余积分
	private Integer userUseIntegral;		//已用积分
	private Integer userPendIntegral;	//待入积分
	
	private Integer userIdentity;			//会员身份			1:会员   2:微代理
	private Integer userIsFlag;				//关系是否绑定		1:没有2:绑定
	private String userName;				//姓名
	private String userPwd;					//用户密码
	private String userTel;					//用户电话
	
	private String userQrcode;				//二维码
	private Integer userResType;			//来源       	1:自己关注   2:会员推荐   3:线下代理
	private Integer userStatus;				//用户状态		1:未关注，默认  2:已关注     0:已取消关注
	private Date userSubDate;				//关注/取消时间

	private Integer userIncome;				// 收入金额，单位为分
	private Integer templateId;				//返利模板id
	private Integer userDealers;			//代理商层级id
	private Page page;						//分页
	private String phoneCode;				//手机验证码
	private String userEmail;				//邮箱

	private Integer userIsVip;				//是否为vip ：1:非vip  2：vip
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
	private Date userVipDate; //成为会员时间

	public String getUserEmail() {
		return userEmail;
	}

	public void setUserEmail(String userEmail) {
		this.userEmail = userEmail;
	}

	public String getPhoneCode() {
		return phoneCode;
	}

	public void setPhoneCode(String phoneCode) {
		this.phoneCode = phoneCode;
	}

	public Page getPage() {
		return page;
	}
	
	public Integer getUserIncome() {
		return userIncome;
	}

	public void setUserIncome(Integer userIncome) {
		this.userIncome = userIncome;
	}

	public void setPage(Page page) {
		this.page = page;
	}

	public Member() {
		super();
		// TODO Auto-generated constructor stub
	}

	public String getUserAccountNum() {
		return userAccountNum;
	}

	public String getUserAddr() {
		return userAddr;
	}

	public Date getUserBirthDate() {
		return userBirthDate;
	}

	public Date getUserCreateDate() {
		return userCreateDate;
	}

	public String getUserHead() {
		return userHead;
	}

	public Integer getUserId() {
		return userId;
	}

	public Integer getUserIdentity() {
		return userIdentity;
	}

	public Integer getUserIntegral() {
		return userIntegral;
	}

	public Integer getUserIsFlag() {
		return userIsFlag;
	}

	public String getUserName() {
		return userName;
	}

	public String getUserNickname() {
		return userNickname;
	}

	public String getUserOpenid() {
		return userOpenid;
	}

	public String getUserPwd() {
		return userPwd;
	}
	
	public String getUserTel() {
		return userTel;
	}
	public void setUserTel(String userTel) {
		this.userTel = userTel;
	}

	public String getUserQrcode() {
		return userQrcode;
	}
	public Integer getUserResType() {
		return userResType;
	}
	public Integer getUserSex() {
		return userSex;
	}
	public Integer getUserStatus() {
		return userStatus;
	}
	public Date getUserSubDate() {
		return userSubDate;
	}
	public Integer getUserSurplusIntegral() {
		return userSurplusIntegral;
	}
	public Integer getUserUseIntegral() {
		return userUseIntegral;
	}
	public void setUserAccountNum(String userAccountNum) {
		this.userAccountNum = userAccountNum;
	}
	public void setUserAddr(String userAddr) {
		this.userAddr = userAddr;
	}
	public void setUserBirthDate(Date userBirthDate) {
		this.userBirthDate = userBirthDate;
	}
	public void setUserCreateDate(Date userCreateDate) {
		this.userCreateDate = userCreateDate;
	}
	public void setUserHead(String userHead) {
		this.userHead = userHead;
	}
	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	public void setUserIdentity(Integer userIdentity) {
		this.userIdentity = userIdentity;
	}
	public void setUserIntegral(Integer userIntegral) {
		this.userIntegral = userIntegral;
	}
	public void setUserIsFlag(Integer userIsFlag) {
		this.userIsFlag = userIsFlag;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public void setUserNickname(String userNickname) {
		this.userNickname = userNickname;
	}
	public void setUserOpenid(String userOpenid) {
		this.userOpenid = userOpenid;
	}
	public void setUserPwd(String userPwd) {
		this.userPwd = userPwd;
	}
	public void setUserQrcode(String userQrcode) {
		this.userQrcode = userQrcode;
	}
	public void setUserResType(Integer userResType) {
		this.userResType = userResType;
	}
	public void setUserSex(Integer userSex) {
		this.userSex = userSex;
	}
	public void setUserStatus(Integer userStatus) {
		this.userStatus = userStatus;
	}
	public void setUserSubDate(Date userSubDate) {
		this.userSubDate = userSubDate;
	}
	public void setUserSurplusIntegral(Integer userSurplusIntegral) {
		this.userSurplusIntegral = userSurplusIntegral;
	}
	public void setUserUseIntegral(Integer userUseIntegral) {
		this.userUseIntegral = userUseIntegral;
	}
	public Integer getTemplateId() {
		return templateId;
	}

	public void setTemplateId(Integer templateId) {
		this.templateId = templateId;
	}
	public Integer getUserDealers() {
		return userDealers;
	}
	public void setUserDealers(Integer userDealers) {
		this.userDealers = userDealers;
	}

	public Integer getUserIsVip() {
		return userIsVip;
	}

	public void setUserIsVip(Integer userIsVip) {
		this.userIsVip = userIsVip;
	}

	public Integer getUserPendIntegral() {
		return userPendIntegral;
	}

	public void setUserPendIntegral(Integer userPendIntegral) {
		this.userPendIntegral = userPendIntegral;
	}

	public Date getUserVipDate() {
		return userVipDate;
	}

	public void setUserVipDate(Date userVipDate) {
		this.userVipDate = userVipDate;
	}

	public Member(Integer userId, String userOpenid, String userHead, String userNickname, String userAddr, Integer userSex, Integer userIntegral, String userAccountNum, Date userBirthDate, Date userCreateDate, Integer userIdentity, Integer userIsFlag, String userName, String userPwd, String userTel, String userQrcode, Integer userResType, Integer userStatus, Date userSubDate, Integer userSurplusIntegral, Integer userUseIntegral, Integer userIncome, Integer templateId, Integer userDealers, Page page, String phoneCode, String userEmail) {
		this.userId = userId;
		this.userOpenid = userOpenid;
		this.userHead = userHead;
		this.userNickname = userNickname;
		this.userAddr = userAddr;
		this.userSex = userSex;
		this.userIntegral = userIntegral;
		this.userAccountNum = userAccountNum;
		this.userBirthDate = userBirthDate;
		this.userCreateDate = userCreateDate;
		this.userIdentity = userIdentity;
		this.userIsFlag = userIsFlag;
		this.userName = userName;
		this.userPwd = userPwd;
		this.userTel = userTel;
		this.userQrcode = userQrcode;
		this.userResType = userResType;
		this.userStatus = userStatus;
		this.userSubDate = userSubDate;
		this.userSurplusIntegral = userSurplusIntegral;
		this.userUseIntegral = userUseIntegral;
		this.userIncome = userIncome;
		this.templateId = templateId;
		this.userDealers = userDealers;
		this.page = page;
		this.phoneCode = phoneCode;
		this.userEmail = userEmail;
	}

	@Override
	public String toString() {
		return "Member{" +
				"userId=" + userId +
				", userOpenid='" + userOpenid + '\'' +
				", userHead='" + userHead + '\'' +
				", userNickname='" + userNickname + '\'' +
				", userAddr='" + userAddr + '\'' +
				", userSex=" + userSex +
				", userIntegral=" + userIntegral +
				", userAccountNum='" + userAccountNum + '\'' +
				", userBirthDate=" + userBirthDate +
				", userCreateDate=" + userCreateDate +
				", userIdentity=" + userIdentity +
				", userIsFlag=" + userIsFlag +
				", userName='" + userName + '\'' +
				", userPwd='" + userPwd + '\'' +
				", userTel='" + userTel + '\'' +
				", userQrcode='" + userQrcode + '\'' +
				", userResType=" + userResType +
				", userStatus=" + userStatus +
				", userSubDate=" + userSubDate +
				", userSurplusIntegral=" + userSurplusIntegral +
				", userUseIntegral=" + userUseIntegral +
				", userIncome=" + userIncome +
				", templateId=" + templateId +
				", userDealers=" + userDealers +
				", page=" + page +
				", phoneCode='" + phoneCode + '\'' +
				", userEmail='" + userEmail + '\'' +
				'}';
	}
}
