package com.chinaweal.aiccs.aiccs.fraudreg.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.chinaweal.aiccs.common.util.valid.ValidGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * Created by IDEA.
 * Code: Yangmc
 * Date: 2021/11/12
 * Time: 14:45
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "涉嫌冒用登记线索保存模型")
public class FraudInfoDto implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * 投诉人类型 0-自然人 1-市场主体 2-其他
     */
    @ApiModelProperty(value = "投诉人类型 0-自然人 1-市场主体 2-其他")
    @NotBlank(message = "投诉人类型不能为空！")
    private String complainerType;

    /**
     * 自然人姓名/法人姓名
     */
    @ApiModelProperty(value = "自然人姓名/法人姓名")
    @NotBlank(message = "自然人姓名/法人姓名不能为空！")
    private String complainerName;

    /**
     * 证件类型/主体类型
     */
    @ApiModelProperty(value = "证件类型/主体类型")
    @NotBlank(message = "证件类型/主体类型不能为空！",  groups = {ValidGroup.Fraud.Ent.class, ValidGroup.Fraud.Person.class})
    private String complainerCertType;

    /**
     * 证件号码/统一社会信用代码
     */
    @ApiModelProperty(value = "证件号码/统一社会信用代码")
    @NotBlank(message = "证件号码/统一社会信用代码不能为空！", groups = {ValidGroup.Fraud.Ent.class, ValidGroup.Fraud.Person.class})
    private String complainerCertNo;

    /**
     * 投诉企业主体名称
     */
    @ApiModelProperty(value = "投诉企业主体名称")
    @NotBlank(message = "投诉企业主体名称不能为空！", groups = ValidGroup.Fraud.Ent.class)
    private String complainerEntName;

    /**
     * 投诉企业法人联系电话
     */
    @ApiModelProperty(value = "投诉企业法人联系电话")
//    @NotBlank(message = "投诉企业法人联系电话不能为空！", groups = ValidGroup.Fraud.Ent.class)
    private String complainerLegalPhone;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人")
    @NotBlank(message = "联系人不能为空！", groups = ValidGroup.Fraud.Ent.class)
    private String contacts;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    //@NotBlank(message = "联系电话不能为空！", groups = ValidGroup.Fraud.Ent.class)
    private String contactsPhone;


    /**
     * 被投诉主体统一社会信用代码
     */
    @ApiModelProperty(value = "被投诉主体统一社会信用代码")
    @NotBlank(message = "被投诉主体统一社会信用代码不能为空！")
    private String uniScId;

    /**
     * 投诉企业登记机关
     */
    @ApiModelProperty(value = "投诉企业登记机关")
    @TableField("complainerRegOrg_cn")
    private String complainerRegOrg_cn;

    /**
     * 办理业务类型（1：设立，2：变更，3：注销）
     */
    @ApiModelProperty(value = "办理业务类型")
    @TableField("BUSINESS_TYPE")
    private String businessType;

}
