package com.simuwang.base.pojo.dos;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.simuwang.base.common.util.DateUtils;
import com.simuwang.base.pojo.vo.EmailParseInfoVO;
import lombok.Data;

import java.util.Date;

@Data
@TableName("email_parse_info")
public class EmailParseInfoDO {
    /**
     * 主键Id
     */
    @TableId(value = "id")
    private Integer id;
    /**
     * 邮件发送方
     */
    @TableField(value = "sender_email")
    private String senderEmail;
    /**
     * 邮箱地址
     */
    @TableField(value = "email")
    private String email;
    /**
     * 邮箱日期
     */
    @TableField(value = "email_date")
    private Date emailDate;
    /**
     * 解析日期
     */
    @TableField(value = "parse_date")
    private Date parseDate;
    /**
     * 邮件主题
     */
    @TableField(value = "email_title")
    private String emailTitle;
    /**
     * 邮件类型，1-净值，2-估值表，3-定期报告
     */
    @TableField(value = "email_type")
    private Integer emailType;
    /**
     * 解析状态
     */
    @TableField(value = "parse_status")
    private Integer parseStatus;
    /**
     * 记录的有效性；1-有效；0-无效；
     */
    @TableField(value = "isvalid")
    private Integer isvalid;
    /**
     * 创建者Id;第一次创建时与Creator值相同，修改时与修改人值相同
     */
    @TableField(value = "creatorid")
    private Integer creatorId;
    /**
     * 修改者Id;第一次创建时与Creator值相同，修改时与修改人值相同
     */
    @TableField(value = "updaterid")
    private Integer updaterId;
    /**
     * 创建时间,默认第一次创建的getdate()时间
     */
    @TableField(value = "createtime")
    private Date createTime;
    /**
     * 修改时间;第一次创建时与CreatTime值相同，修改时与修改时间相同
     */
    @TableField(value = "updatetime")
    private Date updateTime;

    public EmailParseInfoVO toVO() {
        EmailParseInfoVO vo = new EmailParseInfoVO();
        vo.setEmail(this.email);
        vo.setEmailTitle(this.emailTitle);
        vo.setEmailType(this.emailType);
        vo.setParseStatus(this.parseStatus);
        vo.setParseDate(DateUtils.format(this.parseDate,DateUtils.YYYY_MM_DD_HH_MM_SS));
        vo.setId(this.id);
        return vo;
    }
}