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

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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-05-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("order_refund")
@ApiModel(value="Refund对象", description="订单退款表")
public class Refund implements Serializable {

    /**
     * 2：审核通过
     */
    public static final int REFUND_RETURN_STATE_AGREE = 2;

    /**
     * 3 审核驳回
     */
    public static final int REFUND_RETURN_STATE_REFUSED = 3;

    /**
     * 5 退款完成
     */
    public static final int REFUND_RETURN_STATE_COMPLETED = 5;

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键自增编号")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "退款订单索引，空为全部")
    private String returnIndex;

    @ApiModelProperty(value = "订单oid")
    private String oid;

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

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

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

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

    @ApiModelProperty(value = "退款完成或取消时间")
    private Long returnUpdateTime;

    @ApiModelProperty(value = "1:待审核  2：审核通过  3审核驳回 4取消退款 5 退款完成")
    private Integer returnState;

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

    @ApiModelProperty(value = "审核失败原因")
    private String errMsg;

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