package com.ruoyi.user.domain.dto; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; /** * C端会员 收货地址 新增/编辑入参 * * 会员身份取自登录态(网关注入的 user_id 头),不接受前端传入 userId,天然防水平越权。 * 编辑场景需携带 id(由 Controller 人工校验非空);新增场景 id 为空。 * * address 为单字段完整地址,约定格式:省 市 区 详细地址(空格分隔),详见设计文档。 * * @author hugray */ public class AccountAddressDto { /** 地址ID(新增时为空;编辑时必填,由 Controller 校验) */ private Long id; /** 收货人;必填,长度不超过 64(对应 account_address.consignee varchar(64)) */ @NotBlank(message = "收货人不能为空") @Size(max = 64, message = "收货人姓名过长") private String consignee; /** 收货人电话;必填,长度不超过 20;不强制手机号(允许固话) */ @NotBlank(message = "收货人电话不能为空") @Size(max = 20, message = "收货人电话过长") private String consigneePhone; /** 完整地址(约定格式:省 市 区 详细地址);必填,长度不超过 255 */ @NotBlank(message = "收货地址不能为空") @Size(max = 255, message = "收货地址过长") private String address; /** 是否默认(0否 1是);非必填,为空时按 0 处理 */ private String isDefault; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getConsignee() { return consignee; } public void setConsignee(String consignee) { this.consignee = consignee; } public String getConsigneePhone() { return consigneePhone; } public void setConsigneePhone(String consigneePhone) { this.consigneePhone = consigneePhone; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getIsDefault() { return isDefault; } public void setIsDefault(String isDefault) { this.isDefault = isDefault; } }