package com.ghy.order.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ghy.common.annotation.Excel;
import com.ghy.common.core.domain.BaseEntity;

/**
 * 售后记录对象 after_service_record
 *
 * @author clunt
 * @date 2022-09-25
 */
@Data
public class AfterServiceRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String id;

    /** 客户原因类型 */
    @Excel(name = "客户原因类型")
    private Long customerReasonType;

    /** 客户具体原因 */
    @Excel(name = "客户具体原因")
    private String customerReason;

    /** 子单id */
    @Excel(name = "子单id")
    private Long orderDetailId;

    /** 操作原因：1为申请退款，2为发起售后 */
    @Excel(name = "操作原因：1为申请退款，2为发起售后")
    private Long operType;

    /** 师傅反馈结果：0为拒绝，1为同意，2为上门补做/重做 */
    @Excel(name = "师傅反馈结果：0为拒绝，1为同意，2为上门补做/重做")
    private Long workerFeedbackResult;

    /** 师傅反馈原因类型：1为客户原因，2为师傅原因，3为其他 */
    @Excel(name = "师傅反馈原因类型：1为客户原因，2为师傅原因，3为其他")
    private Long workerFeedbackReasonType;

    /** 师傅反馈原因描述 */
    @Excel(name = "师傅反馈原因描述")
    private String workerFeedbackReason;

    /** 本单退款金额 */
    @Excel(name = "本单退款金额")
    private BigDecimal refund;

    /** 协商后的退款金额 */
    @Excel(name = "协商后的退款金额")
    private BigDecimal agreedRefund;

    /** 客户最终确认：0为不同意，1为同意 */
    @Excel(name = "客户最终确认：0为不同意，1为同意")
    private Long customerFinalCheck;

    @Excel(name = "最终原路返还的金额")
    private BigDecimal originalRefund;

    private Date refundApplyTime;

    private boolean excludeAfterServiceFinished;

    private List<AfterServiceImgs> imgsList;

    private Boolean needImgs = true;
}
