Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.dao.entity.mail;

import javax.persistence.*;
import java.time.LocalDateTime;

@Entity
@Table(name = "mail_outbox")
@NamedQueries({
        @NamedQuery(name = "MailOutbox.selectPending", query = "FROM MailOutbox WHERE status = 'PENDING' OR (status = 'FAILED' AND retryCount < 1) ORDER BY createdAt ASC"),
        @NamedQuery(name = "MailOutbox.selectOldSent", query = "FROM MailOutbox WHERE status = 'SENT' AND sentAt < :cutoff")
})
public class MailOutbox {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private long id;

    @Column(name = "email_to", length = 2000, nullable = false)
    private String emailTo;

    @Column(name = "email_cc", length = 2000)
    private String emailCc;

    @Column(name = "email_bcc", length = 2000)
    private String emailBcc;

    @Column(name = "subject", length = 500, nullable = false)
    private String subject;

    @Lob
    @Column(name = "body", nullable = false)
    private String body;

    @Column(name = "is_html")
    private boolean html;

    @Column(name = "status", length = 20, nullable = false)
    private String status;

    @Column(name = "retry_count")
    private int retryCount;

    @Column(name = "error_message", length = 1000)
    private String errorMessage;

    @Column(name = "created_at", nullable = false)
    private LocalDateTime createdAt;

    @Column(name = "sent_at")
    private LocalDateTime sentAt;

    @Column(name = "source", length = 200)
    private String source;

    @Column(name = "sender_type", length = 20)
    private String senderType;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getEmailTo() {
        return emailTo;
    }

    public void setEmailTo(String emailTo) {
        this.emailTo = emailTo;
    }

    public String getEmailCc() {
        return emailCc;
    }

    public void setEmailCc(String emailCc) {
        this.emailCc = emailCc;
    }

    public String getEmailBcc() {
        return emailBcc;
    }

    public void setEmailBcc(String emailBcc) {
        this.emailBcc = emailBcc;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public boolean isHtml() {
        return html;
    }

    public void setHtml(boolean html) {
        this.html = html;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public int getRetryCount() {
        return retryCount;
    }

    public void setRetryCount(int retryCount) {
        this.retryCount = retryCount;
    }

    public String getErrorMessage() {
        return errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    public LocalDateTime getSentAt() {
        return sentAt;
    }

    public void setSentAt(LocalDateTime sentAt) {
        this.sentAt = sentAt;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getSenderType() {
        return senderType;
    }

    public void setSenderType(String senderType) {
        this.senderType = senderType;
    }

    @Override
    public String toString() {
        return "MailOutbox{id=" + id + ", emailTo='" + emailTo + "', subject='" + subject + "', status='" + status + "', retryCount=" + retryCount + "}";
    }
}