package com.artfess.rescue.patrol.model;

import com.artfess.base.entity.BizDelModel;
import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 视频巡检任务表
 *
 * @author 系统管理员
 * @since 2024-11-27
 */
@Data
@TableName(value = "BIZ_INSPECTION_VIDEO_CONF")
@ApiModel(value="BizInspectionVideoConf对象", description="视频巡检任务表")
public class BizInspectionVideoConf extends BizDelModel<BizInspectionVideoConf> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键_ID")
    @TableId(value = "ID_", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "配置名称")
    @TableField("CONF_NAME_")
    private String confName;

    @ApiModelProperty(value = "配置编码")
    @TableField("CONF_CODE_")
    private String confCode;

    @ApiModelProperty(value = "巡检类型，【字典】，1：日常，2：专项")
    @TableField("TYPE_")
    private Integer type;

    @ApiModelProperty(value = "所属路段ID")
    @TableField("ROAD_ID_")
    private String roadId;

    @ApiModelProperty(value = "所属路段名称")
    @TableField("ROAD_NAME_")
    private String roadName;

    @ApiModelProperty(value = "巡检人员")
    @TableField("USER_IDS_")
    private String userIds;

    @ApiModelProperty(value = "巡检人员名单")
    @TableField("USER_NAMES_")
    private String userNames;

    @ApiModelProperty(value = "计划类型（ 1:启动一次 ，2:固定频率执行，3:每天时间点执行 ，4:每周时间点执行 ， 5:每月执行 ，6:cron表达式）")
    @TableField("PLAN_TYPE_")
    private Integer planType;

    @ApiModelProperty(value = "计划执行的表达式")
    @TableField("PLAN_INTERVAL_")
    private String planInterval;

    @ApiModelProperty(value = "是否发布【字典】（0：否，1：是）")
    @TableField("PUSH_STATUS_")
    private Integer pushStatus;

    @ApiModelProperty(value = "配置类型：1：定时任务，2：非定时任务")
    @TableField("CONF_TYPE_")
    private Integer confType;

    @ApiModelProperty(value = "任务开始时间")
    @TableField("TASK_START_TIME_")
    private LocalDateTime taskStartTime;

    @ApiModelProperty(value = "任务结束时间")
    @TableField("TASK_END_TIME_")
    private LocalDateTime taskEndTime;

    @ApiModelProperty(value = "版本号")
    @TableField("VERSION_")
    private Long version=-1L;

    @ApiModelProperty(value = "租户ID")
    @TableField("TENANT_ID_")
    private String tenantId="-1";

    @ApiModelProperty(value = "巡检配置视频点关联信息")
    @TableField(exist = false)
    private List<BizTaskConfVideo> taskConfVideo;

    @ApiModelProperty(value = "任务运行状态( NONE：停止, NORMAL：运行,PAUSED：暂停)")
    @TableField(exist = false)
    private String taskStatus;

}
