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_return_product_snapshot") public class OrderReturnProductSnapshot implements Serializable { @TableId(value = "snapshot_id", type = IdType.AUTO) @ApiModelProperty(value = "主键") private Long snapshotId; @NotBlank @ApiModelProperty(value = "退单号") private String returnNum; @NotNull @ApiModelProperty(value = "门店ID") private Long storeId; @NotNull @ApiModelProperty(value = "商品ID") private Long productId; @ApiModelProperty(value = "商品编号") private String productCode; @NotBlank @ApiModelProperty(value = "条形码") private String productBarcode; @NotBlank @ApiModelProperty(value = "商品名称") private String productName; @NotBlank @ApiModelProperty(value = "商品标题") private String productTitle; @NotBlank @ApiModelProperty(value = "主图片") private String productMainImage; @NotBlank @ApiModelProperty(value = "商品描述") private String productDescription; @ApiModelProperty(value = "参数快照 {\"保存方式\":\"冷藏\",\"品牌\":\"A牌\"}") private String paramData; @NotNull @ApiModelProperty(value = "单价") private BigDecimal unitPrice; @NotNull @ApiModelProperty(value = "数量") private Integer detailCount; @NotNull @ApiModelProperty(value = "原金额") private BigDecimal originalPrice; @NotNull @ApiModelProperty(value = "折扣价") private BigDecimal paidPrice; @NotNull @ApiModelProperty(value = "实付金额") private BigDecimal actuallyPayPrice; public void copy(OrderReturnProductSnapshot source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } }