package com.jeesharp.business.modules.mall.dto;

import com.jeesharp.framework.pojo.dto.BaseSaveDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotBlank;

/**
 * 会员地址保存DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class MallMemberAddressSaveDTO extends BaseSaveDTO {

    /**
     * 会员ID（管理端请求体须传；移动端由网关注入，可不传）
     */
    private String memberId;

    /**
     * 收货人姓名
     */
    @NotBlank(message = "收货人姓名不能为空")
    private String receiverName;

    /**
     * 收货人手机
     */
    @NotBlank(message = "收货人手机不能为空")
    private String receiverMobile;

    /**
     * 省
     */
    private String province;

    /**
     * 省行政区划代码（可选，用于运费地区匹配）
     */
    private String provinceCode;

    /**
     * 市
     */
    private String city;

    /**
     * 市行政区划代码（可选）
     */
    private String cityCode;

    /**
     * 区/县
     */
    private String district;

    /**
     * 区县行政区划代码（可选）
     */
    private String districtCode;

    /**
     * 详细地址
     */
    private String detailAddress;

    /**
     * 邮政编码
     */
    private String postalCode;

    /**
     * 是否为默认地址：0-否 1-是
     */
    private Integer isDefault;

    /**
     * 地址标签
     */
    private String addressLabel;

    /**
     * 经度
     */
    private java.math.BigDecimal longitude;

    /**
     * 纬度
     */
    private java.math.BigDecimal latitude;

    /**
     * 排序号
     */
    private Integer sortOrder;
}
