package com.fs.erp.domain;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 订阅物流
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FsJstAftersalePush {

    /**
     * 主键，自增
     */
    private Long id;

    /**
     * 订单号
     */
    private String orderId;
    /**
     * 售后id
     */
    private String afterSaleId;

    /**
     * 平台单据状态：
     * 0 WAIT_SELLER_AGREE:买家已经申请，等待卖家同意,
     * 1 WAIT_BUYER_RETURN_GOODS:卖家已经同意，等待买家退货,
     * 2 WAIT_SELLER_CONFIRM_GOODS:买家已经退货，等待卖家确认收货,
     * 3 SELLER_REFUSE_BUYER:卖家拒绝售后,
     * 4 WAIT_SELLER_DELIVER_GOODS：等待卖家发货，
     * 5 REISSUE_SELLER_DELIVERY：补发卖家发货，
     * 6 CLOSED:售后关闭(售后单未确认前填写该状态erp的售后单自动作废),
     * 7 SUCCESS:退款成功；可更新，补发、换货售后单确认时需在系统中手动确认；抖音、拼多多、淘系等线上平台换货换货单据，通过接口修改状态为SUCCESS且发出的快递单号是空，平台会判定为换货单超时未处理，会被平台强制退款，线上售后类型会变为普通退货
     */
    private String type;

    /**
     * 任务状态：0-待处理，1-成功，2-失败，3-正在处理，4-已取消
     */
    private Integer taskStatus;

    /**
     * 重试次数，默认为 0
     */
    private Integer retryCount;

    /**
     * 上次执行时间，用于记录任务执行的最后时间
     */
    private LocalDateTime lastExecuteTime;

    /**
     * 记录创建时间
     */
    private LocalDateTime createTime;

    /**
     * 记录更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 调用接口时传入的参数（JSON 格式）
     */
    private String params;

    /**
     * 调用接口返回的结果（JSON 格式）
     */
    private String result;

    /**
     * 错误信息（记录失败原因）
     */
    private String errorMessage;
}
