package com.ruoyi.hezhi.domain.dto;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

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

/**
 * 参会报名对象 tb_conference_registration
 *
 * @author ruoyi
 * @date 2024-10-28
 */
@Getter
@Setter
@ToString
public class ConferenceRegistrationDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 参会报名 */
    public interface conferenceRegistration{}

    /** 参会报名主键ID */
    private Long conferenceRegistrationId;

    /** 用户ID */
    @NotNull(message = "请先登录", groups = {conferenceRegistration.class})
    private Long memberUserId;

    /** 会议通知ID */
    @NotNull(message = "缺少会议通知ID", groups = {conferenceRegistration.class})
    private Long conferenceNoticeId;

    /** 姓名 */
    @NotBlank(message = "缺少姓名", groups = {conferenceRegistration.class})
    private String name;

    /** 手机号 */
    @NotBlank(message = "缺少手机号", groups = {conferenceRegistration.class})
    private String phone;

    /** 证件类型（0-身份证，1-护照） */
    @NotBlank(message = "缺少证件类型", groups = {conferenceRegistration.class})
    private String documentType;

    /** 证件号 */
    @NotBlank(message = "缺少证件号", groups = {conferenceRegistration.class})
    private String documentNumber;

    /** 常用邮箱 */
//    @NotBlank(message = "缺少常用邮箱", groups = {conferenceRegistration.class})
    private String email;

    /** 单位名称 */
    @NotBlank(message = "缺少单位名称", groups = {conferenceRegistration.class})
    private String companyName;

    /** 单位性质 */
    @NotBlank(message = "缺少单位性质", groups = {conferenceRegistration.class})
    private String companyType;

    /** 职位 */
    @NotBlank(message = "缺少职位", groups = {conferenceRegistration.class})
    private String position;

    /** 职位类型 */
    @NotBlank(message = "缺少职位类型", groups = {conferenceRegistration.class})
    private String positionType;

    /** 省ID */
    @NotNull(message = "缺少省", groups = {conferenceRegistration.class})
    private Long provinceId;

    /** 市ID */
    @NotNull(message = "缺少市", groups = {conferenceRegistration.class})
    private Long cityId;

    /** 区（县）ID */
    @NotNull(message = "缺少区", groups = {conferenceRegistration.class})
    private Long areaId;

    /** 证件照片 */
    @NotBlank(message = "缺少证件照片", groups = {conferenceRegistration.class})
    private String idPhoto;

    /** 主要业务 */
    @NotBlank(message = "缺少主要业务", groups = {conferenceRegistration.class})
    private String business;

    /** 参会目的 */
    @NotBlank(message = "缺少参会目的", groups = {conferenceRegistration.class})
    private String objective;

    /** 是否参加过往届大会 */
    @NotNull(message = "缺少是否参加过往届大会", groups = {conferenceRegistration.class})
    private Integer isParticipate;

    /** 是否计划参加过下一届大会 */
    @NotNull(message = "缺少是否计划参加过下一届大会", groups = {conferenceRegistration.class})
    private Integer isParticipateNext;

}
