package com.yushu.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yushu.common.annotation.Excel;
import com.yushu.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 邮件发送记录对象 sys_mail_log
 * 
 * @author yushu
 * @date 2024-12-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SysMailLog extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 日志ID */
    private Long logId;

    /** 配置ID */
    private Long configId;

    /** 模板ID */
    private Long templateId;

    /** 发件人邮箱 */
    @Excel(name = "发件人")
    private String sender;

    /** 收件人(多个逗号分隔) */
    @Excel(name = "收件人")
    private String receiver;

    /** 抄送(多个逗号分隔) */
    private String cc;

    /** 密送(多个逗号分隔) */
    private String bcc;

    /** 邮件主题 */
    @Excel(name = "邮件主题")
    private String subject;

    /** 邮件内容 */
    private String content;

    /** 内容类型(html/text) */
    private String contentType;

    /** 附件路径(JSON数组) */
    private String attachments;

    /** 发送状态(0成功 1失败 2发送中) */
    @Excel(name = "发送状态", readConverterExp = "0=成功,1=失败,2=发送中")
    private String status;

    /** 错误信息 */
    private String errorMsg;

    /** 发送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发送时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;

    /** 配置名称（关联查询用） */
    private String configName;

    /** 模板名称（关联查询用） */
    private String templateName;
}
