package com.seer.teach.mall.request;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Schema(description = "寄件配置")
public class SenderConfigReq {

    @Schema(description = "主键ID")
    private Integer id;

    /**
     * 寄件人姓名
     */
    @NotBlank(message = "寄件人姓名不能为空")
    @Schema(description = "寄件人姓名")
    private String name;

    /**
     * 手机号码
     */
    @Schema(description = "手机号码")
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
    private String mobile;

    /**
     * 固定电话号码（可为空）
     */
    @Schema(description = "固定电话号码（可为空）")
    private String phone;

    /**
     * 国家代码（如 CHN）
     */
    @Schema(description = "国家代码（如 CHN）")
    private String countryCode;

    /**
     * 省份名称
     */
    @NotBlank(message = "省份名称不能为空")
    @Schema(description = "省份名称")
    private String prov;

    /**
     * 城市名称
     */
    @NotBlank(message = "城市名称不能为空")
    @Schema(description = "城市名称")
    private String city;

    /**
     * 区/县名称
     */
    @Schema(description = "区/县名称")
    private String area;

    /**
     * 详细地址信息
     */
    @NotBlank(message = "详细地址信息不能为空")
    @Schema(description = "详细地址信息")
    private String address;
}
