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_post_address
 *
 * @author ruoyi
 * @date 2024-11-20
 */
@Getter
@Setter
@ToString
public class PostAddressDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 填写证书收货信息 */
    public interface submitCertificateGoodsInfo{}

    /** 邮寄地址主键ID */
    private Long postAddressId;

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

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

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

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

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

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

    /** 省名 */
    private String provinceName;

    /** 市名 */
    private String cityName;

    /** 区名 */
    private String areaName;

    /** 详细地址 */
    @NotBlank(message = "缺少详细地址", groups = {submitCertificateGoodsInfo.class})
    private String address;

    /** 相关资源ID */
    private Long dataId;

    /** 报名ID */
    @NotNull(message = "缺少报名ID", groups = {submitCertificateGoodsInfo.class})
    private Long examRegistrationId;

    /** 类型（0-全部，1-证书） */
    private Integer type;

}
