package com.xhpc.user.domain;

import com.xhpc.common.core.web.domain.BaseEntity;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 运营商表 xhpc_operator
 *
 * @author ruoyi
 */
public class XhpcOperator extends BaseEntity {

    /**
     * 运营商id
     */
    private Long operatorId;

    private String corpNo;
    /**
     * 名称
     */
    @NotBlank(message = "运营商名称不能为空")
    @Length(max = 12, message = "运营商名称不能超过12位")
    private String name;

    /**
     * 联系人
     */
    @NotBlank(message = "联系人不能为空")
    @Length(max = 12, message = "联系人不能超过12位")
    private String contactName;

    /**
     * 联系人电话
     */
    @NotBlank(message = "联系人电话不能为空")
    private String contactPhone;

    /**
     * 手机号(账号)
     */
    @NotBlank(message = "手机号不能为空")
    @Length(max = 11, message = "手机号不能超过11位")
    private String phone;

    /**
     * 运营商属性
     */
    @NotNull(message = "运营商属性不能为空")
    private Integer attribute;


    /**
     * 税号
     */
    @NotNull(message = "税号不能为空")
    @Length(max = 50, message = "税号不能超过50位")
    private String dutyParagraph;


    /**
     * 开户行
     */
    @NotBlank(message = "开户行不能为空")
    @Length(max = 20, message = "开户行电话不能超过20位")
    private String openBank;

    /**
     * 卡号
     */
    @NotNull(message = "卡号不能为空")
    @Length(max = 20, message = "卡号不能超过20位")
    private String cardNumber;

    /**
     * 地址code
     */
    @NotBlank(message = "地址不能为空")
    private String areaCode;

    /**
     * 地址
     */
    @NotBlank(message = "地址不能为空")
    @Length(max = 50, message = "地址不能超过50位")
    private String address;

    /**
     * 详细地址
     */
    @NotBlank(message = "详细地址不能为空")
    @Length(max = 50, message = "详细地址不能超过50位")
    private String detailedAddress;

    /**
     * 经度
     */
    @NotNull(message = "经度不能为空")
    private String longitude;

    /**
     * 纬度
     */
    @NotBlank(message = "纬度不能为空")
    private String latitude;

    /**
     * 邮箱
     */
    @NotBlank(message = "邮箱不能为空")
    @Length(max = 50, message = "邮箱不能超过50位")
    private String email;

    /**
     * 提成类型（0总金额提成 1服务费提成）
     */
    @NotNull(message = "提成类型不能为空")
    private Integer commissionType;

    /**
     * 平台提成
     */
    @NotNull(message = "平台提成不能为空")
    private String platformCommissionRate;

    /**
     * 运维提成
     */
    @NotNull(message = "运维提成不能为空")
    private String maintenanceCommissionRate;

    /**
     * 营业执照id
     */
    @NotBlank(message = "营业执照不能为空")
    private String businessLicenseId;

    /**
     * 提现时间（tn）
     */
    @NotNull(message = "提现时间不能为空")
    private Integer withdrawalTime;

    /**
     * 设置充电终止的soc
     */
    @NotBlank(message = "充电终止的soc不能为空")
    @Length(max = 10, message = "充电终止的soc不能超过10位")
    private String soc;

    /**
     * 状态（0正常 1停用）
     */
    private Integer status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private Integer delFlag;

    /**
     * 运营商属性
     */
    private Integer type;

    /**
     * 对接第三方平台及监管平台的operatorId
     */
    private String operatorIdEvcs;

    /**
     * 角色id
     */
    private Long roleId;


    public String getOperatorIdEvcs() {

        return operatorIdEvcs;
    }

    public void setOperatorIdEvcs(String operatorIdEvcs) {

        this.operatorIdEvcs = operatorIdEvcs;
    }

    public Long getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(Long operatorId) {
        this.operatorId = operatorId;
    }

    public String getName() {
        return name;
    }

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

    public String getContactName() {
        return contactName;
    }

    public void setContactName(String contactName) {
        this.contactName = contactName;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Integer getAttribute() {
        return attribute;
    }

    public void setAttribute(Integer attribute) {
        this.attribute = attribute;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getAddress() {
        return address;
    }

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

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getEmail() {
        return email;
    }

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

    public Integer getCommissionType() {
        return commissionType;
    }

    public void setCommissionType(Integer commissionType) {
        this.commissionType = commissionType;
    }

    public String getPlatformCommissionRate() {
        return platformCommissionRate;
    }

    public void setPlatformCommissionRate(String platformCommissionRate) {
        this.platformCommissionRate = platformCommissionRate;
    }

    public String getMaintenanceCommissionRate() {
        return maintenanceCommissionRate;
    }

    public void setMaintenanceCommissionRate(String maintenanceCommissionRate) {
        this.maintenanceCommissionRate = maintenanceCommissionRate;
    }

    public String getBusinessLicenseId() {
        return businessLicenseId;
    }

    public void setBusinessLicenseId(String businessLicenseId) {
        this.businessLicenseId = businessLicenseId;
    }

    public Integer getWithdrawalTime() {
        return withdrawalTime;
    }

    public void setWithdrawalTime(Integer withdrawalTime) {
        this.withdrawalTime = withdrawalTime;
    }

    public String getSoc() {
        return soc;
    }

    public void setSoc(String soc) {
        this.soc = soc;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public String getOpenBank() {
        return openBank;
    }

    public void setOpenBank(String openBank) {
        this.openBank = openBank;
    }

    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getDutyParagraph() {
        return dutyParagraph;
    }

    public void setDutyParagraph(String dutyParagraph) {
        this.dutyParagraph = dutyParagraph;
    }

    public String getDetailedAddress() {
        return detailedAddress;
    }

    public void setDetailedAddress(String detailedAddress) {
        this.detailedAddress = detailedAddress;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public String getCorpNo() {
        return corpNo;
    }

    public void setCorpNo(String corpNo) {
        this.corpNo = corpNo;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }
}
