package com.tmerclub.cloud.cuerecycle.model;

import com.tmerclub.cloud.common.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 回收订单对象
 *
 * @author :  frank
 * @create :  2025-04-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CueOrder extends BaseModel implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long orderId;
    /**
     * 商品ID
     */
    private Long productId;
    /**
     * 商品名称
     */
    private String productName;
    /**
     * 商品图片
     */
    private String productImages;
    /**
     * 价格
     */
    private Long productPrice;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 用户姓名
     */
    private String userName;
    /**
     * 用户联系方式
     */
    private String userPhone;
    /**
     * 类型：1-回收，2-置换，3-寄售
     */
    private Integer cueOrderType;
    /**
     * 0-待审核，1-审核通过(待发货)，2-审核拒绝，3-待收货(已发货)，4-已收货(评估中)，5-评估失败(退回)，6-评估成功(给出价格)，7-价格不满意(退回)，8-价格满意(结束)，9-价格不满意(已退回)
     */
    private Integer orderStatus;
    /**
     * 瑕疵图片，逗号隔开
     */
    private String flawImgUrl;
    /**
     * 付款凭证
     */
    private String evidenceOfPayment;
    /**
     * 备注
     */
    private String orderRemark;
    /**
     * 预计金额
     */
    private Long estimatedAmount;
    /**
     * 评估金额
     */
    private Long actualAmount;
    /**
     * 代金卷金额
     */
    private Long voucherAmount;
    /**
     * 删除状态：0-未删除 1-已删除
     */
    private Integer deleted;
    /**
     * 是否已支付，1.已支付0.未支付
     */
    private Integer isPayed;
    /**
     * 支付方式：1-余额，2-代金卷
     */
    private Integer payType;
    /**
     * 付款时间
     */
    private Date payTime;
    /**
     * 发货时间
     */
    private Date deliveryTime;
    /**
     * 完成时间
     */
    private Date finallyTime;

    /**
     * 商城订单id
     */
    private Long mallOrderId;

    /**
     * 寄售佣金
     */
    private Long brokerage;
    /**
     * 服务费
     */
    private Long serviceCharge;

    /**
     * 寄出单号
     */
    private String sendNumber;
    /**
     * 寄出时候选定的仓库id
     */
    private Long warehouseId;
    /**
     * 店铺ID
     */
    private Long shopId;
    /**
     * 用户退款地址id
     */
    private Long orderAddrId;
    /**
     * 用户退货网点id
     */
    private Long outletConfigId;
    /**
     * 用户退货打印机id
     */
    private Long printerId;
    /**
     * 退货物流单号
     */
    private String backTrackingNumber;
}