彭雪彬
2025-07-14 c1d20b425b10e8ba59f102dd1ab413055883eed0
oying-system/src/main/java/com/oying/modules/sh/domain/OrderReturn.java
New file
@@ -0,0 +1,172 @@
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<OrderReturnProductSnapshot> 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));
    }
}