package com.fs.im.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fs.common.annotation.Excel;
import lombok.Data;
import com.fs.common.core.domain.BaseEntity;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * openim消息记录详情对象 fs_im_msg_send_detail
 *
 * @author fs
 * @date 2025-08-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class FsImMsgSendDetail extends BaseEntity{

    /** 记录详情id */
    @TableId(type = IdType.AUTO)
    private Long logDetailId;

    /** 发课记录主表id */
    @Excel(name = "发课记录主表id")
    private Long logId;

    /** 销售id（发送人id） */
    @Excel(name = "销售id", readConverterExp = "发送人id")
    private Long companyUserId;

    /** 用户id（接收人id） */
    @Excel(name = "用户id", readConverterExp = "接收人id")
    private Long userId;

    /** 预计发送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计发送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planSendTime;

    /** 实际发送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际发送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualSendTime;

    /** 发送状态，1-已发送；2-待发送 */
    @Excel(name = "发送状态，1-已发送；2-待发送")
    private Integer sendStatus;

    /** 执行入参json */
    @Excel(name = "执行入参json")
    private String paramJson;

    /** 执行状态，0-正常；1-失败 */
    @Excel(name = "执行状态，0-正常；1-失败")
    private Integer status;

    /** 执行结果 */
    @Excel(name = "执行结果")
    private String resultMessage;

    /** 异常信息 */
    @Excel(name = "异常信息")
    private String exceptionInfo;


}
