package com.oying.modules.sh.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.oying.base.BaseEntity; import cn.hutool.core.bean.BeanUtil; import io.swagger.annotations.ApiModelProperty; import cn.hutool.core.bean.copier.CopyOptions; import java.sql.Timestamp; import java.math.BigDecimal; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Objects; import java.util.Set; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Getter; import lombok.Setter; /** * @author lixin * @description / * @date 2025-06-11 **/ @Getter @Setter @TableName("sh_order_return") public class OrderReturn extends BaseEntity implements Serializable { @TableId(value = "return_id", type = IdType.AUTO) @ApiModelProperty(value = "主键") private Long returnId; @NotBlank @ApiModelProperty(value = "退单号") private String returnNum; @NotNull @ApiModelProperty(value = "退单状态") private Integer returnStatus = 0; @NotBlank @ApiModelProperty(value = "退单状态描述") private String returnStatusDescribe; @NotBlank @ApiModelProperty(value = "订单号") private String orderNum; @NotBlank @ApiModelProperty(value = "预计送达时间") private String orderTime; @NotBlank @ApiModelProperty(value = "取单号") private String orderStoreNum; @NotNull @ApiModelProperty(value = "配送费") private BigDecimal sendPrice; @NotBlank @ApiModelProperty(value = "配送类型") private String sendType; @ApiModelProperty(value = "骑手Id") private Long riderId; @ApiModelProperty(value = "骑手手机号") private String riderPhone; @ApiModelProperty(value = "骑手名称") private String riderName; @NotBlank @ApiModelProperty(value = "支付类型") private String payType; @NotNull @ApiModelProperty(value = "用户") private Long userId; @NotBlank @ApiModelProperty(value = "用户账号") private String username; @NotNull @ApiModelProperty(value = "门店ID") private Long storeId; @NotBlank @ApiModelProperty(value = "门店名称") private String storeName; @NotBlank @ApiModelProperty(value = "门店LOGO") private String storeLogo; @NotNull @ApiModelProperty(value = "原金额") private BigDecimal originalPrice; @NotNull @ApiModelProperty(value = "折扣价") private BigDecimal paidPrice; @NotNull @ApiModelProperty(value = "实付金额") private BigDecimal actuallyPayPrice; @ApiModelProperty(value = "退款价格") private BigDecimal refundPrice; @ApiModelProperty(value = "退款状态") private String refundStatus; @ApiModelProperty(value = "退款成功时间") private String successTime; @ApiModelProperty(value = "退款渠道") private String channel; @ApiModelProperty(value = "退款原因") private String reason; @ApiModelProperty(value = "备注") private String remark; @ApiModelProperty(value = "图片") private String photos; @ApiModelProperty(value = "审核状态") private Integer auditStatus; @ApiModelProperty(value = "审核人") private String auditUser; @ApiModelProperty(value = "审核时间") private Timestamp auditTime; @ApiModelProperty(value = "审核信息") private String auditMessage; @TableField(exist = false) @ApiModelProperty(value = "商品") private Set productSnapshots; @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } OrderReturn info = (OrderReturn) o; return Objects.equals(returnId, info.returnId) && Objects.equals(returnNum, info.returnNum); } @Override public int hashCode() { return Objects.hash(returnId, returnNum); } public void copy(OrderReturn source) { BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true)); } }