package com.xiaoniu.system.order.aftersales.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

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

/**
 * <p>
 * 售后信息表
 * </p>
 *
 * @author haoxuyang
 * @since 2024-10-21 10:33:49
 */
@Getter
@Setter
@TableName("tb_after_sales")
@Schema(name = "TbAfterSales", description = "售后信息表")
public class TbAfterSales implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

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

    @Schema(description = "门店id")
    private Long storeId;

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

    @Schema(description = "商品id")
    private Long goodsId;

    @Schema(description = "订单类型")
    private String orderType;

    @Schema(description = "售后类型")
    private String afterSalesType;

    @Schema(description = "用户id")
    private Long userId;

    @Schema(description = "申请售后内容")
    private String applyContent;

    @Schema(description = "申请售后图片")
    private String afterSalesPicture;

    @Schema(description = "门店处理状态（1-待处理 2-已退款 3-已拒绝）")
    private Integer storeProcessStatus;

    @Schema(description = "门店备注")
    private String storeRemark;

    @Schema(description = "平台处理状态（1-待处理 2-同意退款 3-已联系线下处理 4-拒绝退款）")
    private Integer platformProcessStatus;

    @Schema(description = "售后状态（1-待审核 2-处理中 3-已完成 4-拒绝退款 5-已取消）")
    private Integer afterSalesStatus;

    @Schema(description = "退款方式")
    private String refundMethod;

    @Schema(description = "退款预估金额")
    private String estimatedRefundAmount;

    @Schema(description = "创建者")
    private String createBy;

    @Schema(description = "创建",hidden = true)
    private Date createTime;

    @Schema(description = "更新者")
    private String updateBy;

    @Schema(description = "更新时间",hidden = true)
    private Date updateTime;

    @Schema(description = "删除标记（0-正常，2-删除）")
    private Integer delFlag;

    @Schema(description = "备注")
    private String remark;
}
