package com.fzm.mall.server.admin.order.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 提货退货单表
 * </p>
 *
 * @author wulixian
 * @since 2021-04-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("order_delivery_refund")
@ApiModel(value="DeliveryRefund对象", description="提货退货单表")
public class DeliveryRefund implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 2商家审核
     */
    public static final Integer DELIVERY_REFUND_STATE_MERCHANT = 2;

    /**
     * 3寄回商品
     */
    public static final Integer DELIVERY_REFUND_STATE_TO_RFUND_GOODS = 3;

    /**
     * 4商家退款
     */
    public static final Integer DELIVERY_REFUND_STATE_TO_RFUND_ASSET = 4;

    /**
     * 5退款成功
     */
    public static final Integer DELIVERY_REFUND_STATE_RFUND_SUCCESS = 5;

    /**
     * 6商家驳回
     */
    public static final Integer DELIVERY_REFUND_STATE_RFUND_RERUSED = 6;

    /**
     * 8 链上资产退款失败
     */
    public static final Integer DELIVERY_REFUND_STATE_RFUND_FAIL = 8;

    @ApiModelProperty(value = "主键自增编号")
    private Long id;

    @ApiModelProperty(value = "提货订单编号")
    private String orderDeliveryId;

    @ApiModelProperty(value = "用户编号")
    private String uid;

    @ApiModelProperty(value = "0:不合适/不满意 1质量问题 2商品损坏 3价格变化 4商品与页面描述不符 5其他")
    private Integer returnType;

    @ApiModelProperty(value = "图片")
    private String returnImg;

    @ApiModelProperty(value = "退货理由")
    private String returnReason;

    @ApiModelProperty(value = "退货时间")
    private Long returnTime;

    @ApiModelProperty(value = "退货完成或撤销时间")
    private Long returnUpdateTime;

    @ApiModelProperty(value = "退货快递单号")
    private String returnExpressNo;

    @ApiModelProperty(value = "快递公司缩写")
    private String returnExpressName;

    @ApiModelProperty(value = "退货快递详情")
    private String returnExpressDeatil;

    @ApiModelProperty(value = "退货快递详情")
    private String errMsg;

    @ApiModelProperty(value = "退货商家收货地址id")
    private String addressId;

    @ApiModelProperty(value = "退货前状态")
    private Integer returnState;

    @ApiModelProperty(value = "状态1：提交申请 2商家审核 3寄回商品 4商家退款 5退款成功")
    private Integer state;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Long createTime;

    @ApiModelProperty(value = "更改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateTime;


}
