package com.sercurityControl.proteam.domain; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.List; /** * @author bonus * @data 2023/5/11 16:40 * @description 实时视频分析 */ @NoArgsConstructor @Data public class VideoTaskEntity implements Serializable { /** * 待分析设备编码,编码为集合的情况下,预置位无效 */ @JsonProperty("devInfos") private List devInfos; /** * 任务ID,仅在更新任务基础信息时时需要传入,如果新增任务,该值为空 */ @JsonProperty("taskId") private String taskId; /** * 下发任务的业务系统ID */ @JsonProperty("businessSysId") private String businessSysId; /** * 任务名称 */ @JsonProperty("taskName") private String taskName; /** * 任务描述 */ @JsonProperty("taskDesc") private String taskDesc; /** * 任务有效开始时间(默认当前时间) */ @JsonProperty("startTime") private String startTime; /** * 任务有效结束时间(默认永久执行) */ @JsonProperty("endTime") private String endTime; /** * 告警上送间隔, */ @JsonProperty("interval") private Integer interval; /** * 算法能力编码(6字节编码,前两位代表专业,中间两位代表算法类型,最后两位代表具体算法, * 如用101001代表安全帽,10代表变电专业,中间10代表人员穿戴,最后的01代表安全帽检测) */ @JsonProperty("algCode") private String algCode; /** * 分析装置或者人工智能平台编码 */ @JsonProperty("serviceCode") private String serviceCode; /** * 任务控制, 0代表任务不启用,1代表任务启用 */ @JsonProperty("taskControl") private Integer taskControl; /** * 算法参数集合 */ @JsonProperty("algParams") private List algParams; /** * 规则信息 */ @JsonProperty("rule") private RuleDTO rule; @NoArgsConstructor @Data public static class RuleDTO { /** * 规则框个数 */ @JsonProperty("ruleNum") private Integer ruleNum; /** * 规则框列表 */ @JsonProperty("ruleProperty") private List ruleProperty; @NoArgsConstructor @Data public static class RulePropertyDTO { /** * 点的个数 */ @JsonProperty("pointNum") private Integer pointNum; /** * 点的集合 */ @JsonProperty("point") private List point; @NoArgsConstructor @Data public static class PointDTO { /** * 点的X坐标 */ @JsonProperty("x") private Integer x; /** * 点的Y坐标 */ @JsonProperty("y") private Integer y; } } } @NoArgsConstructor @Data public static class DevInfosDTO { /** * 设备编码 */ @JsonProperty("devCode") private String devCode; /** * 待分析预置位(仅在实时视频分析时可能启用,录像和图片分析时省略) */ @JsonProperty("presettingIndex") private Integer presettingIndex; } @NoArgsConstructor @Data public static class AlgParamsDTO { /** * 算法参数key值 */ @JsonProperty("key") private String key; /** * 算法Key对应的valu */ @JsonProperty("value") private String value; } }