package com.fs.qw.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fs.common.core.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 企业对外退款记录实体类
 * 表名：fs_company_external_pay_refund
 */
@Data
@TableName("fs_company_external_pay_refund")
public class FsCompanyExternalPayRefund extends BaseEntity {

    /**
     * 主键ID，自增长
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 交易单号（企业微信唯一标识，对应原收款单的transaction_id）
     */
    private String transactionId;

    /**
     * 原收款商户单号
     */
    private String outTradeNo;

    /**
     * 退款单号（唯一）
     */
    private String outRefundNo;

    /**
     * 退款发起人的企业微信 userid
     */
    private String refundUserid;

    /**
     * 退款备注
     */
    private String refundComment;

    /**
     * 退款发起时间（秒级时间戳）
     */
    private Long refundReqtime;

    /**
     * 退款状态：0-已申请，1-处理中，2-成功，3-关闭，4-异常，5-审批中，6-审批失败，7-审批取消
     */
    private Integer refundStatus;

    /**
     * 退款金额，单位：元
     */
    private BigDecimal refundFee;

    /**
     * 付款人的企业微信 external_userid
     */
    private String externalUserid;

    /**
     * 原收款成员（退款记录中该字段为退款发起人，与refundUserid相同）
     */
    private String payeeUserid;

    /**
     * 原收款方式：0-聊天中，1-收款码，2-直播间，3-产品图册，14-转账，15-小程序
     */
    private Integer paymentType;

    /**
     * 收款商户号id
     */
    private String mchId;

    /**
     * 原交易时间（秒级时间戳）
     */
    private Long payTime;

    /**
     * 交易时间(由pay_time转成的年月日-时分秒)
     */
    private Date saleTime;

    /**
     * 本地创建时间（自动填充）
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 本地更新时间（自动填充）
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 企业CorpID
     */
    private String corpId;

    /**
     * 公司销售ID
     * */
    private Long companyUserId;

    /**
     * 企业名称
     */
    private String corpName;
}