package com.sonic.cow.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 生成图片任务主表
 * @author code
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "gen_image_task", autoResultMap = true)
public class GenImageTask {

    /**
    * 主键ID
    */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
    * 批次号
    */
    private String batchNo;

    /**
    * 用户ID
    */
    private Long userId;

    /**
    * 状态（PENDING 处理中、RELEASED 已释放）
    */
    private Status status;

    /**
     * 任务总数
     */
    private Integer taskCount;

    /**
     * 已经有多少张图片任务获取到结果了
     */
    private Integer completedCount;

    /**
    * 前端轮询次数
    */
    private Integer pollingCount;

    /**
     * 最后一次心跳时间
     */
    private LocalDateTime heartBeatTime;

    /**
     * 终端类型
     */
    private String endpoint;

    /**
     * 设备号
     */
    private String deviceId;

    /**
     * IP地址
     */
    private String ipAddress;

    /**
    * 创建时间
    */
    private LocalDateTime createTime;

    /**
    * 编辑时间
    */
    private LocalDateTime editTime;


    public enum Status {
        /**
         * 处理中、已释放
         */
        PENDING,
        RELEASED;

    }

}