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

import java.math.BigDecimal;
import java.util.List;

import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;

import org.hibernate.validator.constraints.NotBlank;

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

	private static final long serialVersionUID = 1L;

	public interface SaveGroup extends Default {
	}

	public interface UpdateGroup extends Default {
	}

//	@Null(groups = { SaveGroup.class }, message = "不需要传入用户ID|usercode can not be null")
	@NotNull(groups = { UpdateGroup.class }, message = "用户ID不能为空|User code can not be empty.")
	private Integer jobId; // 职位ID（自增）

	@NotBlank(message = "用户code不能为空|User code can not be empty.")
	private String publisher; // 发布者(用户code)

	@NotBlank(message = "职位名称不能为空|The job title can not be empty.")
	private String jobName; // 职位名称

	@NotNull(message = "职位类别不能为空|Job categories should not be empty.")
	private Integer positionId; // 职位类别（职位信息表code）

	@NotBlank(message = "省份不能为空|Provinces can not be empty.")
	private String addProvince; // 工作地点-省
	
	private String addProvinceName; //  省名称

	@NotBlank(message = "城市不能为空|Cities can not be empty.")
	private String addCity; // 工作地点-市
	
	private String addCityName; // 市名称

	private String addArea; // 工作地点-区
	
	private String addAreaName; //  区名称


	private String addDetail; // 工作地点详细地址

	private double addLongitude; // 工作地点-经度
	private double addLatitude; // 工作地点-纬度

	@NotBlank(message = "工作经验不能为空|Work experience can not be empty.")
	private String workExperience; // 工作经验（字典表对应code）

	@NotBlank(message = "学历不能为空|Education can not be empty.")
	private String education; // 学历（字典表管理，以数值表示）

	@NotBlank(message = "职位描述不能为空|The job description should not be empty.")
	private String jobDescribe; // 职位描述

	private String jobStatus; // 职位发布状态[0-招聘中；1-结束]
	
	private String recommendFlag; //首推标识[0-不推荐；1-推荐 字典表-recommended]

	private String jobRequirement;
	private String jobInvitation;
	private String contactInformation;

	private String publisherName;// 发布者名称
	
	private String headPortrait;// 企业头像
	
	private String foreignName; //外文名称

	private String identityFlag; // 身份标识
	
	// 筹开标识
	private String prepareFlag;
	
	// 筹开年份
	private String prepareYear;
	// 筹开季度
	private String prepareQuarter;
	
	private BigDecimal payFrom; // 薪资From
	
	private BigDecimal payTo; // 薪资To
	
	private List<MdeJobInvitationRel> userCodeList; // 已邀请用户code

	public MdeJobAdvertised() {
		super();
	}

	// @Length(min=1, max=11, message="职位ID（自增）长度必须介于 1 和 11 之间")
	public Integer getJobId() {
		return jobId;
	}

	public void setJobId(Integer jobId) {
		this.jobId = jobId;
	}

	// @Length(min=1, max=64, message="发布者(用户code)长度必须介于 1 和 64 之间")
	public String getPublisher() {
		return publisher;
	}

	public void setPublisher(String publisher) {
		this.publisher = publisher;
	}

	// @Length(min=1, max=80, message="职位名称长度必须介于 1 和 80 之间")
	public String getJobName() {
		return jobName;
	}

	public void setJobName(String jobName) {
		this.jobName = jobName;
	}

	// @Length(min=1, max=6, message="职位类别（职位信息表code）长度必须介于 1 和 6 之间")
	public Integer getPositionId() {
		return positionId;
	}

	public void setPositionId(Integer positionId) {
		this.positionId = positionId;
	}

	// @Length(min=1, max=6, message="工作地点-省长度必须介于 1 和 6 之间")
	public String getAddProvince() {
		return addProvince;
	}

	public void setAddProvince(String addProvince) {
		this.addProvince = addProvince;
	}

	// @Length(min=1, max=6, message="工作地点-市长度必须介于 1 和 6 之间")
	public String getAddCity() {
		return addCity;
	}

	public void setAddCity(String addCity) {
		this.addCity = addCity;
	}

	// @Length(min=1, max=3, message="工作地点-区长度必须介于 1 和 3 之间")
	public String getAddArea() {
		return addArea;
	}

	public void setAddArea(String addArea) {
		this.addArea = addArea;
	}

	// @Length(min=1, max=150, message="工作地点详细地址长度必须介于 1 和 150 之间")
	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;
	}

	// @Length(min=1, max=2, message="工作经验（字典表对应code）长度必须介于 1 和 2 之间")
	public String getWorkExperience() {
		return workExperience;
	}

	public void setWorkExperience(String workExperience) {
		this.workExperience = workExperience;
	}

	// @Length(min=1, max=6, message="学历（字典表管理，以数值表示）长度必须介于 1 和 6 之间")
	public String getEducation() {
		return education;
	}

	public void setEducation(String education) {
		this.education = education;
	}

	public String getJobDescribe() {
		return jobDescribe;
	}

	public void setJobDescribe(String jobDescribe) {
		this.jobDescribe = jobDescribe;
	}

	// @Length(min=1, max=1, message="职位发布状态[0-招聘中；1-结束]长度必须介于 1 和 1 之间")
	public String getJobStatus() {
		return jobStatus;
	}

	public void setJobStatus(String jobStatus) {
		this.jobStatus = jobStatus;
	}

	public String getJobRequirement() {
		return jobRequirement;
	}

	public void setJobRequirement(String jobRequirement) {
		this.jobRequirement = jobRequirement;
	}

	public String getJobInvitation() {
		return jobInvitation;
	}

	public void setJobInvitation(String jobInvitation) {
		this.jobInvitation = jobInvitation;
	}

	public String getContactInformation() {
		return contactInformation;
	}

	public void setContactInformation(String contactInformation) {
		this.contactInformation = contactInformation;
	}

	public String getPublisherName() {
		return publisherName;
	}

	public void setPublisherName(String publisherName) {
		this.publisherName = publisherName;
	}

	public List<MdeJobInvitationRel> getUserCodeList() {
		return userCodeList;
	}

	public void setUserCodeList(List<MdeJobInvitationRel> userCodeList) {
		this.userCodeList = userCodeList;
	}

	public String getHeadPortrait() {
		return headPortrait;
	}

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

	public String getAddProvinceName() {
		return addProvinceName;
	}

	public void setAddProvinceName(String addProvinceName) {
		this.addProvinceName = addProvinceName;
	}

	public String getAddCityName() {
		return addCityName;
	}

	public void setAddCityName(String addCityName) {
		this.addCityName = addCityName;
	}

	public String getAddAreaName() {
		return addAreaName;
	}

	public void setAddAreaName(String addAreaName) {
		this.addAreaName = addAreaName;
	}

	public String getForeignName() {
		return foreignName;
	}

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

	public String getIdentityFlag() {
		return identityFlag;
	}

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

	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 BigDecimal getPayFrom() {
		return payFrom;
	}

	public void setPayFrom(BigDecimal payFrom) {
		this.payFrom = payFrom;
	}

	public BigDecimal getPayTo() {
		return payTo;
	}

	public void setPayTo(BigDecimal payTo) {
		this.payTo = payTo;
	}

}