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.EmailTaskInfoVO;
import lombok.Data;

import java.util.Date;

/**
 * FileName: EmailTaskInfo
 * Author:   chenjianhua
 * Date:     2024/10/8 9:13
 * Description: ${DESCRIPTION}
 */
@Data
@TableName("email_task_info")
public class EmailTaskInfoDO {
    /**
     * 主键Id
     */
    @TableId(value = "id")
    private Integer id;
    /**
     * 任务名称
     */
    @TableField(value = "task_name")
    private String taskName;
    /**
     * 任务类型
     */
    @TableField(value = "task_type")
    private Integer taskType;
    /**
     * 邮箱地址
     */
    @TableField(value = "email")
    private String email;
    /**
     * 开始时间
     */
    @TableField(value = "start_time")
    private Date startTime;
    /**
     * 结束时间
     */
    @TableField(value = "end_time")
    private Date endTime;
    /**
     * 任务状态,1-运行中，2-结束，-1-异常
     */
    @TableField(value = "task_status")
    private Integer taskStatus;
    /**
     * 记录的有效性；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;
    /**
     * 创建人
     */
    private String userName;
    public EmailTaskInfoVO toVO() {
        EmailTaskInfoVO vo = new EmailTaskInfoVO();
        vo.setId(this.id);
        vo.setEmail(this.email);
        vo.setIsvalid(this.isvalid);
        vo.setTaskName(this.taskName);
        vo.setTaskType(this.taskType);
        vo.setTaskStatus(this.taskStatus);
        vo.setUserName(this.userName);
        vo.setStartTime(DateUtils.format(this.startTime,DateUtils.YYYY_MM_DD_HH_MM_SS));
        vo.setEndTime(DateUtils.format(this.endTime,DateUtils.YYYY_MM_DD_HH_MM_SS));
        vo.setUpdateTime(DateUtils.format(this.updateTime,DateUtils.YYYY_MM_DD_HH_MM_SS));
        vo.setCreateTime(DateUtils.format(this.createTime,DateUtils.YYYY_MM_DD_HH_MM_SS));
        return vo;
    }
}
