package com.lightinit.hsdataportal.model;

import com.lightinit.hsdataportal.annotation.FieldDescriber;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;
import org.hibernate.validator.constraints.pl.REGON;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.Pattern;

/**
 * @Author: sunxiang
 * @Date: 2018/6/27 15:44
 * @Description:
 *
 **/
public class UserCompanyModel {

    private Long userId;
    private String username;//用户名
    private String authState;//认证状态
    private String authKey;//鉴权KEY
    private String authSecret;//鉴权secret
    @NotEmpty
    @FieldDescriber(descripton = "公司名称")
    private String companyName;//公司名称
    @NotEmpty
    @FieldDescriber(descripton = "公司地址")
    private String address;//公司地址
    @NotEmpty
    @FieldDescriber(descripton = "营业执照编号")
    private String commercialInstrument;//营业执照编号
    private String taxRegistrationCertificate;//营业执照编号
    private String orgCode;//组织机构编号
    private String commercialInstrumentCopy;//营业执照副本
    private String serviceTag;//服务标签
    @NotEmpty
    @FieldDescriber(descripton = "服务标签分类")
    private String serviceCategory;//服务标签分类
    @NotEmpty
    @FieldDescriber(descripton = "联系人姓名")
    private String contact;//联系人姓名
    @Pattern(regexp = "(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)", message = "请输入正确的身份证")
    @NotEmpty
    @FieldDescriber(descripton = "联系人身份证号")
    private String idCard;//联系人身份证号
    @Pattern(regexp = "^\\d{11}$", message = "请输入正确的手机号码")
    @NotEmpty
    @FieldDescriber(descripton = "手机号码")
    private String authPhone;//手机号码
    @Email
    @NotEmpty
    @FieldDescriber(descripton = "公司邮箱")
    private String email;//公司邮箱
    private String authMethod;//认证方式

    private Integer param; //个人/企业认证标识符

    public Integer getParam() {
        return param;
    }

    public void setParam(Integer param) {
        this.param = param;
    }

    public String getAuthMethod() {
        return authMethod;
    }

    public void setAuthMethod(String authMethod) {
        this.authMethod = authMethod;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getAuthState() {
        return authState;
    }

    public void setAuthState(String authState) {
        this.authState = authState;
    }

    public String getAuthKey() {
        return authKey;
    }

    public void setAuthKey(String authKey) {
        this.authKey = authKey;
    }

    public String getAuthSecret() {
        return authSecret;
    }

    public void setAuthSecret(String authSecret) {
        this.authSecret = authSecret;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getAddress() {
        return address;
    }

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

    public String getCommercialInstrument() {
        return commercialInstrument;
    }

    public void setCommercialInstrument(String commercialInstrument) {
        this.commercialInstrument = commercialInstrument;
    }

    public String getTaxRegistrationCertificate() {
        return taxRegistrationCertificate;
    }

    public void setTaxRegistrationCertificate(String taxRegistrationCertificate) {
        this.taxRegistrationCertificate = taxRegistrationCertificate;
    }

    public String getOrgCode() {
        return orgCode;
    }

    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }

    public String getCommercialInstrumentCopy() {
        return commercialInstrumentCopy;
    }

    public void setCommercialInstrumentCopy(String commercialInstrumentCopy) {
        this.commercialInstrumentCopy = commercialInstrumentCopy;
    }

    public String getServiceTag() {
        return serviceTag;
    }

    public void setServiceTag(String serviceTag) {
        this.serviceTag = serviceTag;
    }

    public String getServiceCategory() {
        return serviceCategory;
    }

    public void setServiceCategory(String serviceCategory) {
        this.serviceCategory = serviceCategory;
    }

    public String getContact() {
        return contact;
    }

    public void setContact(String contact) {
        this.contact = contact;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getAuthPhone() {
        return authPhone;
    }

    public void setAuthPhone(String authPhone) {
        this.authPhone = authPhone;
    }

    public String getEmail() {
        return email;
    }

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

