/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.wechat.model.dbEntity;

import java.util.Date;

import org.hibernate.validator.constraints.NotBlank;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 单表生成Entity
 * 
 * @author tangwc
 * @version 2018-05-23
 */
public class MdeUser extends BaseEntity {

	private static final long serialVersionUID = 1L;
	private String userCode; // 用户code(自增)
	private String unionId; // 微信unionId 不同公众号下 unionId相同
	private String openId; // 微信openid
	private String openIdMini; // 微信小程序openid
	private String linkedinId; // 领英账号
	private String userName; // 登录名[手机号-个人/邮箱-企业]（全局唯一）
	private String password; // 密码（手机号+密码 混合md5加密）
	private String name; // 用户姓名（个人）/企业名称（企业）
	private String foreignName; // 外文名称
	private String hotelBrand; // 从业酒店品牌code（酒店品牌信息表）
	private String hotelBrandStr; // 从业酒店品牌名称（品牌信息表中不存在的情况下，用户自由填写）
	private String entContacts; // 企业联系人
	private String entPhone; // 企业联系电话
	private String headPortrait; // 头像（存放头像相对存放地址）
	private String email; // 邮箱地址（个人用户）
	// private String addrCountry; // 地址-国家/地区[三位字母代码（ISO 3166-1 alpha-3）]
	private String addrProvince; // 地址-省（中国）
	private String addrCity; // 地址-市（中国）
	private String addrArea; // 地址-区（中国）
	private String phoneCode; // 国家区号码
	private String image; // 名片（个人）/营业执照（企业）
	private String identityFlag; // 身份标识[0-个人；1-企业]
	private String vipFlag; // 会员标识[0-非会员；1-会员]
	private Date dueDate; // 会员到期时间
	private String allowFlag; // 登录开关[0-可登录；1-不可登录]
	private String careAbout; // 关注的企业(用户id，逗号分隔)
	private Long fansCount; // 粉丝数
	private String likeList; // 点赞过的资讯id（以逗号分隔）
	private String shareList; // 分享的资讯id（以逗号分隔）
	private String positionList; // 收藏的职位id（以逗号分隔）
	private String positionTitle; // 当前职位头衔
	private String checkStatus; // 审核状态
	private String checkRemarks; // 审核内容
	private String onJobImage; // 在职证明
	private String birthday;// 生日
	private Date firstWork;// 初次参加工作时间
	private Integer experience;// 行业经验
	private String addDetail;// 工作地点详细地址
	private double addLongitude;// 工作地点-经度
	private double addLatitude;// 工作地点-纬度
	private String website;// 企业官网
	private Integer workStatus;// 工作状态(字典表维护)[0-无跳槽打算；1-在职-到岗时间待定；2-在职-到岗时间1月左右；3-离职]
	private String international;// 国际区分[1-国际;2-国内;9-未知]
	private String introduction; // 个人、企业简介
	private String recommendFlag; // 是否推送标志

	private String address;
	private String coName;
	private String isFriend; // 是否是好友 0不是好友 1是好友
	
	private String inviter; // 邀请人
	
	// 筹开标识
	private String prepareFlag;
	// 筹开年份
	private String prepareYear;
	// 筹开季度
	private String prepareQuarter;
	//隐私标志[0-正常；1-隐私]
	private String privateFlag;
	
	//订阅标志[0-未订阅；1-订阅]
	private String subscribedFlag;
	
	private String topBackgroundPc; // 个人中心顶部背景图-PC
	private String topBackgroundMbl; // 个人中心顶部背景图-移动
	private String portraitBackgroundPc; // 头像中心背景图-PC
	private String portraitBackgroundMbl; // 头像中心背景图-移动

	public MdeUser() {
		super();
	}

	@NotBlank(message = "用户code不能为空|User code can not be empty.")
	public String getUserCode() {
		return userCode;
	}

	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}

	// @Length(min=0, max=40, message="微信openid长度必须介于 0 和 40 之间")
	public String getOpenId() {
		return openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

	// @Length(min=0, max=40, message="领英账号长度必须介于 0 和 40 之间")
	public String getLinkedinId() {
		return linkedinId;
	}

	public void setLinkedinId(String linkedinId) {
		this.linkedinId = linkedinId;
	}

	// @Length(min=1, max=100, message="登录名[手机号-个人/邮箱-企业]（全局唯一）长度必须介于 1 和 100 之间")
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	// @Length(min=1, max=255, message="密码（手机号+密码 混合md5加密）长度必须介于 1 和 255 之间")
	public String getPassword() {
		return password;
	}

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

	// @Length(min=1, max=100, message="用户姓名（个人）/企业名称（企业）长度必须介于 1 和 100 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	// @Length(min=1, max=100, message="从业酒店品牌code（酒店品牌信息表）长度必须介于 1 和 100 之间")
	public String getHotelBrand() {
		return hotelBrand;
	}

	public void setHotelBrand(String hotelBrand) {
		this.hotelBrand = hotelBrand;
	}

	// @Length(min=0, max=100, message="从业酒店品牌名称（品牌信息表中不存在的情况下，用户自由填写）长度必须介于 0 和 100
	// 之间")
	public String getHotelBrandStr() {
		return hotelBrandStr;
	}

	public void setHotelBrandStr(String hotelBrandStr) {
		this.hotelBrandStr = hotelBrandStr;
	}

	// @Length(min=0, max=50, message="企业联系人长度必须介于 0 和 50 之间")
	public String getEntContacts() {
		return entContacts;
	}

	public void setEntContacts(String entContacts) {
		this.entContacts = entContacts;
	}

	// @Length(min=0, max=50, message="企业联系电话长度必须介于 0 和 50 之间")
	public String getEntPhone() {
		return entPhone;
	}

	public void setEntPhone(String entPhone) {
		this.entPhone = entPhone;
	}

	// @Length(min=0, max=255, message="头像（存放头像相对存放地址）长度必须介于 0 和 255 之间")
	public String getHeadPortrait() {
		return headPortrait;
	}

	public void setHeadPortrait(String headPortrait) {
		this.headPortrait = headPortrait;
	}

	// @Length(min=0, max=100, message="邮箱地址（个人用户）长度必须介于 0 和 100 之间")
	public String getEmail() {
		return email;
	}

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

	// @Length(min=1, max=3, message="地址-国家/地区[三位字母代码（ISO 3166-1 alpha-3）]长度必须介于 1 和
	// 3 之间")
	// public String getAddrCountry() {
	// return addrCountry;
	// }
	//
	// public void setAddrCountry(String addrCountry) {
	// this.addrCountry = addrCountry;
	// }

	// @Length(min=0, max=6, message="地址-省（中国）长度必须介于 0 和 6 之间")
	public String getAddrProvince() {
		return addrProvince;
	}

	public void setAddrProvince(String addrProvince) {
		this.addrProvince = addrProvince;
	}

	// @Length(min=0, max=6, message="地址-市（中国）长度必须介于 0 和 6 之间")
	public String getAddrCity() {
		return addrCity;
	}

	public void setAddrCity(String addrCity) {
		this.addrCity = addrCity;
	}

	// @Length(min=0, max=6, message="地址-区（中国）长度必须介于 0 和 6 之间")
	public String getAddrArea() {
		return addrArea;
	}

	public void setAddrArea(String addrArea) {
		this.addrArea = addrArea;
	}

	// @Length(min=0, max=255, message="名片（个人）/营业执照（企业）长度必须介于 0 和 255 之间")
	public String getImage() {
		return image;
	}

	public void setImage(String image) {
		this.image = image;
	}

	// @Length(min=0, max=1, message="身份标识[0-个人；1-企业]长度必须介于 0 和 1 之间")
	public String getIdentityFlag() {
		return identityFlag;
	}

	public void setIdentityFlag(String identityFlag) {
		this.identityFlag = identityFlag;
	}

	// @Length(min=1, max=1, message="会员标识[0-非会员；1-会员]长度必须介于 1 和 1 之间")
	public String getVipFlag() {
		return vipFlag;
	}

	public void setVipFlag(String vipFlag) {
		this.vipFlag = vipFlag;
	}

	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	public Date getDueDate() {
		return dueDate;
	}

	public void setDueDate(Date dueDate) {
		this.dueDate = dueDate;
	}

	// @Length(min=1, max=1, message="登录开关[0-可登录；1-不可登录]长度必须介于 1 和 1 之间")
	public String getAllowFlag() {
		return allowFlag;
	}

	public void setAllowFlag(String allowFlag) {
		this.allowFlag = allowFlag;
	}

	public String getCareAbout() {
		return careAbout;
	}

	public void setCareAbout(String careAbout) {
		this.careAbout = careAbout;
	}

	// @NotNull(message="粉丝数不能为空")
	public Long getFansCount() {
		return fansCount;
	}

	public void setFansCount(Long fansCount) {
		this.fansCount = fansCount;
	}

	public String getLikeList() {
		return likeList;
	}

	public void setLikeList(String likeList) {
		this.likeList = likeList;
	}

	public String getShareList() {
		return shareList;
	}

	public void setShareList(String shareList) {
		this.shareList = shareList;
	}

	public String getPositionList() {
		return positionList;
	}

	public void setPositionList(String positionList) {
		this.positionList = positionList;
	}

	public String getPositionTitle() {
		return positionTitle;
	}

	public void setPositionTitle(String positionTitle) {
		this.positionTitle = positionTitle;
	}

	public String getBirthday() {
		return birthday;
	}

	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}

	public Integer getExperience() {
		return experience;
	}

	public void setExperience(Integer experience) {
		this.experience = experience;
	}

	public String getAddDetail() {
		return addDetail;
	}

	public void setAddDetail(String addDetail) {
		this.addDetail = addDetail;
	}

	public double getAddLongitude() {
		return addLongitude;
	}

	public void setAddLongitude(double addLongitude) {
		this.addLongitude = addLongitude;
	}

	public double getAddLatitude() {
		return addLatitude;
	}

	public void setAddLatitude(double addLatitude) {
		this.addLatitude = addLatitude;
	}

	public String getWebsite() {
		return website;
	}

	public void setWebsite(String website) {
		this.website = website;
	}

	public Integer getWorkStatus() {
		return workStatus;
	}

	public void setWorkStatus(Integer workStatus) {
		this.workStatus = workStatus;
	}

	public String getInternational() {
		return international;
	}

	public void setInternational(String international) {
		this.international = international;
	}

	public String getCheckStatus() {
		return checkStatus;
	}

	public void setCheckStatus(String checkStatus) {
		this.checkStatus = checkStatus;
	}

	public String getCheckRemarks() {
		return checkRemarks;
	}

	public void setCheckRemarks(String checkRemarks) {
		this.checkRemarks = checkRemarks;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getOnJobImage() {
		return onJobImage;
	}

	public void setOnJobImage(String onJobImage) {
		this.onJobImage = onJobImage;
	}

	public String getCoName() {
		return coName;
	}

	public void setCoName(String coName) {
		this.coName = coName;
	}

	public String getForeignName() {
		return foreignName;
	}

	public void setForeignName(String foreignName) {
		this.foreignName = foreignName;
	}

	public String getIsFriend() {
		return isFriend;
	}

	public void setIsFriend(String isFriend) {
		this.isFriend = isFriend;
	}

	public String getPhoneCode() {
		return phoneCode;
	}

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

	public String getUnionId() {
		return unionId;
	}

	public void setUnionId(String unionId) {
		this.unionId = unionId;
	}

	public Date getFirstWork() {
		return firstWork;
	}

	public void setFirstWork(Date firstWork) {
		this.firstWork = firstWork;
	}

	public String getInviter() {
		return inviter;
	}

	public void setInviter(String inviter) {
		this.inviter = inviter;
	}

	public String getIntroduction() {
		return introduction;
	}

	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}

	public String getRecommendFlag() {
		return recommendFlag;
	}

	public void setRecommendFlag(String recommendFlag) {
		this.recommendFlag = recommendFlag;
	}

	public String getPrepareFlag() {
		return prepareFlag;
	}

	public void setPrepareFlag(String prepareFlag) {
		this.prepareFlag = prepareFlag;
	}

	public String getPrepareYear() {
		return prepareYear;
	}

	public void setPrepareYear(String prepareYear) {
		this.prepareYear = prepareYear;
	}

	public String getPrepareQuarter() {
		return prepareQuarter;
	}

	public void setPrepareQuarter(String prepareQuarter) {
		this.prepareQuarter = prepareQuarter;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public String getPrivateFlag() {
		return privateFlag;
	}

	public void setPrivateFlag(String privateFlag) {
		this.privateFlag = privateFlag;
	}

	public String getOpenIdMini() {
		return openIdMini;
	}

	public void setOpenIdMini(String openIdMini) {
		this.openIdMini = openIdMini;
	}

	public String getSubscribedFlag() {
		return subscribedFlag;
	}

	public void setSubscribedFlag(String subscribedFlag) {
		this.subscribedFlag = subscribedFlag;
	}



	public String getPortraitBackgroundPc() {
		return portraitBackgroundPc;
	}

	public void setPortraitBackgroundPc(String portraitBackgroundPc) {
		this.portraitBackgroundPc = portraitBackgroundPc;
	}

	public String getPortraitBackgroundMbl() {
		return portraitBackgroundMbl;
	}

	public void setPortraitBackgroundMbl(String portraitBackgroundMbl) {
		this.portraitBackgroundMbl = portraitBackgroundMbl;
	}

	public String getTopBackgroundPc() {
		return topBackgroundPc;
	}

	public void setTopBackgroundPc(String topBackgroundPc) {
		this.topBackgroundPc = topBackgroundPc;
	}

	public String getTopBackgroundMbl() {
		return topBackgroundMbl;
	}

	public void setTopBackgroundMbl(String topBackgroundMbl) {
		this.topBackgroundMbl = topBackgroundMbl;
	}

}