package org.dromara.payment.sys.domain.bo;

import org.dromara.payment.sys.domain.SysSyd;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 服务商业务对象 sys_syd
 *
 * @author LionLi
 * @date 2024-03-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysSyd.class, reverseConvertGenerate = false)
public class
SysSydBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 结算中心编号
     */
    @NotBlank(message = "结算中心编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String no;

    /**
     * 结算中心名称
     */
    @NotBlank(message = "结算中心名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gsmc;

    /**
     * 开户地
     */
    @NotBlank(message = "开户地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String kfd;

    /**
     * 开户行
     */
    @NotBlank(message = "开户行不能为空", groups = { AddGroup.class, EditGroup.class })
    private String kfh;

    /**
     * 开户行行号
     */
    @NotBlank(message = "开户行行号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String khhNo;

    /**
     * 银行类型（字典）
     */
    @NotNull(message = "银行类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String bankType;

    /**
     * 银行账号
     */
    @NotBlank(message = "银行账号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String bankCard;


    private BigDecimal jbsl;

    /**
     * 引用数量
     */
    private Long quoteNum;

    /**
     * 添加时间
     */
    private Date addTime;

    /**
     * 添加人
     */
    private String addBy;

    /**
     * 编辑人
     */
    private String editer;

    /**
     * 编辑时间
     */
    private Date editTime;

    /**
     * 省id
     */
    private Long provinceId;

    /**
     * 省名称
     */
    private String provinceName;

    /**
     * 市id
     */
    private Long cityId;

    /**
     * 市名称
     */
    private String cityName;

    /**
     * 县区id
     */
    private Long countyId;

    /**
     * 县区名称
     */
    private String countyName;

    /**
     * 纳税人识别号
     */
    @NotBlank(message = "纳税人识别号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nsrSbh;

    /**
     * 法人
     */
    @NotBlank(message = "法人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fr;

    /**
     * 法人身份证
     */
    @NotBlank(message = "法人身份证不能为空", groups = { AddGroup.class, EditGroup.class })
    private String frCardid;

    /**
     * 法人手机号
     */
    @NotBlank(message = "法人手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String frPhone;

    /**
     * 联系人姓名
     */
    @NotBlank(message = "联系人姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String conName;

    /**
     * 联系人手机号
     */
    @NotBlank(message = "联系人手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String conPhone;

    /**
     * 联系人身份证
     */
    @NotBlank(message = "联系人身份证不能为空", groups = { AddGroup.class, EditGroup.class })
    private String conCardid;

    /**
     * 联系人邮箱
     */
    @NotBlank(message = "联系人邮箱不能为空", groups = { AddGroup.class, EditGroup.class })
    private String conEmail;

    /**
     * 实际经营地址
     */
    @NotBlank(message = "实际经营地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String address;

    /**
     * 经营范围
     */
    private String business;

    /**
     * 税源地简称
     */
    private String abridge;

    /**
     * 支付密码
     */
    private String payPassword;

    /**
     * 密码输入错误次数
     */
    private Long passErrorNum;

    /**
     * 密码冻结结束时间
     */
    private Date passFrozenTime;


    private String unitArea;


    private String unitAreaName;


    private String  domain;

    private String yyzz;

    private String khxkz;

    private String frSfzzm;

    private String frSfzfm;


    private Integer status = 1;

    private Long threeId;

    private Long parkId;
}
