package com.oying.modules.sh.domain; import lombok.Data; import cn.hutool.core.bean.BeanUtil; import io.swagger.annotations.ApiModelProperty; import cn.hutool.core.bean.copier.CopyOptions; import java.math.BigDecimal; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; /** * @description / * @author lixin * @date 2025-06-11 **/ @Data @TableName("sh_order_address_snapshot") public class OrderAddressSnapshot implements Serializable { @TableId(value = "snapshot_id", type = IdType.AUTO) @ApiModelProperty(value = "快照ID") private Long snapshotId; @NotNull @ApiModelProperty(value = "订单ID") private Long orderId; @NotBlank @ApiModelProperty(value = "收货人姓名") private String receiverName; @NotBlank @ApiModelProperty(value = "收货人电话") private String receiverPhone; @ApiModelProperty(value = "省份") private String province; @ApiModelProperty(value = "城市") private String city; @ApiModelProperty(value = "区县") private String district; @ApiModelProperty(value = "街道") private String street; @NotBlank @ApiModelProperty(value = "详细地址") private String detail; @NotNull @ApiModelProperty(value = "经度") private BigDecimal longitude; @NotNull @ApiModelProperty(value = "纬度") private BigDecimal latitude; @ApiModelProperty(value = "地址标签(家/公司/学校等)") private String tag; public void copy(OrderAddressSnapshot source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } }