package com.mini.capi.biz.domain;

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 java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 发送邮件表
 * </p>
 *
 * @author gaoxq
 * @since 2025-11-12
 */
@Getter
@Setter
@TableName("biz_mail_sent")
public class BizMailSent implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private String id;

    /**
     * 邮件服务器消息ID
     */
    @TableField("message_id")
    private String messageId;

    /**
     * 关联的邮件账户ID
     */
    @TableField("account_id")
    private String accountId;

    /**
     * 发件人地址
     */
    @TableField("from_address")
    private String fromAddress;

    /**
     * 收件人地址，多个用逗号分隔
     */
    @TableField("to_addresses")
    private String toAddresses;

    /**
     * 抄送地址，多个用逗号分隔
     */
    @TableField("cc_addresses")
    private String ccAddresses;

    /**
     * 邮件主题
     */
    @TableField("subject")
    private String subject;

    /**
     * 邮件内容
     */
    @TableField("content")
    private String content;

    /**
     * 发送时间
     */
    @TableField("send_time")
    private LocalDateTime sendTime;

    /**
     * 发送状态：0-待发送，1-发送成功，2-发送失败
     */
    @TableField("send_status")
    private String sendStatus;

    /**
     * 错误信息
     */
    @TableField("error_msg")
    private String errorMsg;

    /**
     * 是否有附件：0-无，1-有
     */
    @TableField("has_attachment")
    private String hasAttachment;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 租户id
     */
    @TableField("f_tenant_id")
    private String fTenantId;

    /**
     * 流程id
     */
    @TableField("f_flow_id")
    private String fFlowId;

    /**
     * 流程任务主键
     */
    @TableField("f_flow_task_id")
    private String fFlowTaskId;

    /**
     * 流程任务状态
     */
    @TableField("f_flow_state")
    private Integer fFlowState;
}
