package com.seer.teach.pay.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 商户支付、退款等的通知
 * </p>
 *
 * @author Wang
 * @since 2025-09-11 14:04:02
 */
@Getter
@Setter
@TableName("pay_notify_task")
public class PayNotifyTaskEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 通知类型
     */
    @TableField("`type`")
    private Integer type;

    /**
     * 数据编号
     */
    @TableField("data_id")
    private Integer dataId;

    /**
     * 商户订单编号（商户系统生成）
     */
    @TableField("merchant_order_sn")
    private String merchantOrderSn;

    /**
     * 商户退款编号（商户系统生成）
     */
    @TableField("merchant_refund_sn")
    private String merchantRefundSn;

    /**
     * 商户转账编号（商户系统生成）
     */
    @TableField("merchant_transfer_sn")
    private String merchantTransferSn;

    /**
     * 通知状态
     */
    @TableField("`status`")
    private Integer status;

    /**
     * 下一次通知时间
     */
    @TableField("next_notify_time")
    private LocalDateTime nextNotifyTime;

    /**
     * 最后一次执行时间
     */
    @TableField("last_execute_time")
    private LocalDateTime lastExecuteTime;

    /**
     * 当前通知次数
     */
    @TableField("notify_times")
    private Integer notifyTimes;

    /**
     * 最大可通知次数
     */
    @TableField("max_notify_times")
    private Integer maxNotifyTimes;

    /**
     * 异步通知商户地址
     */
    @TableField("notify_url")
    private String notifyUrl;

    /**
     * 创建者
     */
    @TableField("creator")
    private String createBy;

    /**
     * 更新者
     */
    @TableField("updater")
    private String updateBy;

    /**
     * 租户编号
     */
    @TableField("tenant_id")
    private String tenantId;


}
