package com.wzj.soopin.order.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单售后对象 oms_aftersale
 *
 * @author zcc
 */
@Schema(description = "订单售后对象")
@Data
@TableName("oms_aftersale")
public class Aftersale extends BaseAudit {
    private static final long serialVersionUID = 1L;

    @Schema(description = "ID")
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    @Schema(description = "MEMBER_ID")
    @Excel(name = "MEMBER_ID")
    private Long memberId;

    @Schema(description = "订单id")
    @Excel(name = "订单id")
    private Long orderId;

    @Schema(description = "退款金额")
    @Excel(name = "退款金额")
    private BigDecimal returnAmount;

    @Schema(description = "售后类型：1：退款，2：退货退款")
    @Excel(name = "售后类型：1：退款，2：退货退款")
    private Integer type;

    @Schema(description = "申请状态：0->待处理；1->退货中；2->已完成；3->已拒绝")
    @Excel(name = "申请状态：0->待处理；1->退货中；2->已完成；3->已拒绝")
    private Integer status;

    @Schema(description = "处理时间")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handleTime;

    @Schema(description = "退货数量")
    @Excel(name = "退货数量")
    private Integer quantity;

    @Schema(description = "原因")
    @Excel(name = "原因")
    private String reason;

    @Schema(description = "描述")
    @Excel(name = "描述")
    private String description;

    @Schema(description = "凭证图片，以逗号隔开")
    @Excel(name = "凭证图片，以逗号隔开")
    private String proofPics;

    @Schema(description = "处理备注")
    @Excel(name = "处理备注")
    private String handleNote;

    @Schema(description = "处理人员")
    @Excel(name = "处理人员")
    private String handleMan;

    @Schema(description = "退款流水号")
    @Excel(name = "退款流水号")
    private String orgTrace;

    @Schema(description = "退款快递公司")
    @Excel(name = "退款快递公司")
    private String refundWpCode;

    @Schema(description = "退货快递号")
    @Excel(name = "退货快递号")
    private String refundWaybillCode;

    @Schema(description = "审核状态 1.待审核;->2.审核通过;3->审核驳回")
    @Excel(name = "审核状态 1.待审核;->2.审核通过;3->审核驳回")
    private Integer authFlag;

    @Schema(description = "驳回原因")
    @Excel(name = "驳回原因")
    private String cause;



    @Schema(description = "租户id")
    @Excel(name = "租户id")
    private Long tenantId;
}
