将检测任务迁移python

This commit is contained in:
2025-09-30 14:23:33 +08:00
parent 3fe5f8083d
commit 39d39a7a24
69 changed files with 7921 additions and 1836 deletions

View File

@@ -1,86 +1,55 @@
package com.ruoyi.video.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
* 警记录对象 v_alarm_record
*
* @Author: orange
* @CreateTime: 2025-01-16
* 警记录实体类
*/
public class AlarmRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 报警记录ID */
public class AlarmRecord {
/** 告警ID */
private Long alarmId;
/** 巡检任务ID */
@Excel(name = "巡检任务ID")
private Long taskId;
/** 任务名称 */
@Excel(name = "任务名称")
private String taskName;
/** 设备ID */
@Excel(name = "设备ID")
private Long deviceId;
/** 设备名称 */
@Excel(name = "设备名称")
private String deviceName;
/** 报警类型 */
@Excel(name = "报警类型")
/** 告警类型 */
private String alarmType;
/** 警级别(1=低,2=中,3=高) */
@Excel(name = "报警级别", readConverterExp = "1=低,2=中,3=高")
/** 警级别 */
private String alarmLevel;
/** 报警描述 */
@Excel(name = "报警描述")
private String alarmDesc;
/** 检测置信度 */
@Excel(name = "检测置信度")
private Double confidence;
/** 报警图片路径 */
@Excel(name = "报警图片")
private String imagePath;
/** 报警视频路径 */
@Excel(name = "报警视频")
private String videoPath;
/** 报警时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date alarmTime;
/** 处理状态(0=未处理,1=已处理,2=已忽略) */
@Excel(name = "处理状态", readConverterExp = "0=未处理,1=已处理,2=已忽略")
private String handleStatus;
/** 告警内容 */
private String alarmContent;
/** 巡检任务ID */
private Long taskId;
/** 图像对象存储ID */
private Long imageOssId;
/** 帧位置 */
private long framePosition;
/** 置信度 */
private double confidence;
/** 处理状态(0-未处理,1-已处理) */
private Integer status;
/** 处理人 */
@Excel(name = "处理人")
private String handleBy;
/** 处理时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date handleTime;
/** 处理备注 */
@Excel(name = "处理备注")
private String handleRemark;
public AlarmRecord() {}
/** 创建时间 */
private Date createTime;
/** 备注 */
private String remark;
public Long getAlarmId() {
return alarmId;
@@ -90,22 +59,6 @@ public class AlarmRecord extends BaseEntity {
this.alarmId = alarmId;
}
public Long getTaskId() {
return taskId;
}
public void setTaskId(Long taskId) {
this.taskId = taskId;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public Long getDeviceId() {
return deviceId;
}
@@ -114,14 +67,6 @@ public class AlarmRecord extends BaseEntity {
this.deviceId = deviceId;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getAlarmType() {
return alarmType;
}
@@ -130,60 +75,52 @@ public class AlarmRecord extends BaseEntity {
this.alarmType = alarmType;
}
public String getAlarmLevel() {
return alarmLevel;
public String getAlarmContent() {
return alarmContent;
}
public void setAlarmLevel(String alarmLevel) {
this.alarmLevel = alarmLevel;
public void setAlarmContent(String alarmContent) {
this.alarmContent = alarmContent;
}
public String getAlarmDesc() {
return alarmDesc;
public Long getTaskId() {
return taskId;
}
public void setAlarmDesc(String alarmDesc) {
this.alarmDesc = alarmDesc;
public void setTaskId(Long taskId) {
this.taskId = taskId;
}
public Double getConfidence() {
public Long getImageOssId() {
return imageOssId;
}
public void setImageOssId(Long imageOssId) {
this.imageOssId = imageOssId;
}
public long getFramePosition() {
return framePosition;
}
public void setFramePosition(long framePosition) {
this.framePosition = framePosition;
}
public double getConfidence() {
return confidence;
}
public void setConfidence(Double confidence) {
public void setConfidence(double confidence) {
this.confidence = confidence;
}
public String getImagePath() {
return imagePath;
public Integer getStatus() {
return status;
}
public void setImagePath(String imagePath) {
this.imagePath = imagePath;
}
public String getVideoPath() {
return videoPath;
}
public void setVideoPath(String videoPath) {
this.videoPath = videoPath;
}
public Date getAlarmTime() {
return alarmTime;
}
public void setAlarmTime(Date alarmTime) {
this.alarmTime = alarmTime;
}
public String getHandleStatus() {
return handleStatus;
}
public void setHandleStatus(String handleStatus) {
this.handleStatus = handleStatus;
public void setStatus(Integer status) {
this.status = status;
}
public String getHandleBy() {
@@ -210,25 +147,51 @@ public class AlarmRecord extends BaseEntity {
this.handleRemark = handleRemark;
}
@Override
public String toString() {
return "AlarmRecord{" +
"alarmId=" + alarmId +
", taskId=" + taskId +
", taskName='" + taskName + '\'' +
", deviceId=" + deviceId +
", deviceName='" + deviceName + '\'' +
", alarmType='" + alarmType + '\'' +
", alarmLevel='" + alarmLevel + '\'' +
", alarmDesc='" + alarmDesc + '\'' +
", confidence=" + confidence +
", imagePath='" + imagePath + '\'' +
", videoPath='" + videoPath + '\'' +
", alarmTime=" + alarmTime +
", handleStatus='" + handleStatus + '\'' +
", handleBy='" + handleBy + '\'' +
", handleTime=" + handleTime +
", handleRemark='" + handleRemark + '\'' +
'}';
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
/**
* 获取ID的兼容方法保持与原有代码兼容
*/
public Long getId() {
return alarmId;
}
/**
* 设置ID的兼容方法保持与原有代码兼容
*/
public void setId(Long id) {
this.alarmId = id;
}
/**
* 设置告警级别
*
* @param alarmLevel 告警级别
*/
public void setAlarmLevel(String alarmLevel) {
this.alarmLevel = alarmLevel;
}
/**
* 获取告警级别
*
* @return 告警级别
*/
public String getAlarmLevel() {
return alarmLevel;
}
}

View File

@@ -2,5 +2,61 @@ package com.ruoyi.video.domain;
import org.bytedeco.opencv.opencv_core.Rect;
public record Detection(String cls, float conf, Rect box, int colorBGR) {
/**
* 检测结果实体类
*/
public class Detection {
/** 标签 */
private String label;
/** 置信度 */
private double confidence;
/** 边界框 */
private Rect rect;
/** 边界框颜色(BGR格式) */
private int colorBGR;
public Detection() {
}
public Detection(String label, double confidence, Rect rect, int colorBGR) {
this.label = label;
this.confidence = confidence;
this.rect = rect;
this.colorBGR = colorBGR;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public double getConfidence() {
return confidence;
}
public void setConfidence(double confidence) {
this.confidence = confidence;
}
public Rect getRect() {
return rect;
}
public void setRect(Rect rect) {
this.rect = rect;
}
public int getColorBGR() {
return colorBGR;
}
public void setColorBGR(int colorBGR) {
this.colorBGR = colorBGR;
}
}

View File

@@ -1,196 +1,133 @@
package com.ruoyi.video.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
* 巡检任务对象 v_inspection_task
*
* @Author: orange
* @CreateTime: 2025-01-16
* 巡检任务实体类
*/
public class InspectionTask extends BaseEntity {
private static final long serialVersionUID = 1L;
public class InspectionTask {
/** 巡检任务ID */
private Long taskId;
/** 任务名称 */
@Excel(name = "任务名称")
private String taskName;
/** 设备ID */
@Excel(name = "设备ID")
private Long deviceId;
/** 设备名称 */
@Excel(name = "设备名称")
private String deviceName;
/** Cron表达式 */
@Excel(name = "Cron表达式")
private String cronExpression;
/** 巡检时长(秒) */
@Excel(name = "巡检时长")
private Integer duration;
/** 任务状态(0=启用,1=停用) */
@Excel(name = "任务状态", readConverterExp = "0=启用,1=停用")
private String status;
/** 是否启用检测(0=启用,1=停用) */
@Excel(name = "启用检测", readConverterExp = "0=启用,1=停用")
private String enableDetection;
/** 检测阈值 */
@Excel(name = "检测阈值")
private Double threshold;
/** 最后执行时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "最后执行时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date lastExecuteTime;
/** 下次执行时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "下次执行时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date nextExecuteTime;
/** 执行次数 */
@Excel(name = "执行次数")
private Long executeCount;
/** 报警次数 */
@Excel(name = "报警次数")
private Long alarmCount;
public InspectionTask() {}
/** 视频对象存储ID */
private Long videoOssId;
/** 处理后视频对象存储ID */
private Long processedVideoOssId;
/** 视频状态(0-未录制,1-已录制未分析,2-已分析) */
private Integer videoStatus;
/** 任务状态(0-待执行,1-执行中,2-已完成) */
private Integer status;
/** 创建时间 */
private Date createTime;
/** 更新时间 */
private Date updateTime;
/** 备注 */
private String remark;
public Long getTaskId() {
return taskId;
}
public void setTaskId(Long taskId) {
this.taskId = taskId;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public Long getDeviceId() {
return deviceId;
}
public void setDeviceId(Long deviceId) {
this.deviceId = deviceId;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getCronExpression() {
return cronExpression;
}
public void setCronExpression(String cronExpression) {
this.cronExpression = cronExpression;
}
public Integer getDuration() {
return duration;
}
public void setDuration(Integer duration) {
this.duration = duration;
}
public String getStatus() {
public Long getVideoOssId() {
return videoOssId;
}
public void setVideoOssId(Long videoOssId) {
this.videoOssId = videoOssId;
}
public Long getProcessedVideoOssId() {
return processedVideoOssId;
}
public void setProcessedVideoOssId(Long processedVideoOssId) {
this.processedVideoOssId = processedVideoOssId;
}
public Integer getVideoStatus() {
return videoStatus;
}
public void setVideoStatus(Integer videoStatus) {
this.videoStatus = videoStatus;
}
public Integer getStatus() {
return status;
}
public void setStatus(String status) {
public void setStatus(Integer status) {
this.status = status;
}
public String getEnableDetection() {
return enableDetection;
public Date getCreateTime() {
return createTime;
}
public void setEnableDetection(String enableDetection) {
this.enableDetection = enableDetection;
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Double getThreshold() {
return threshold;
public Date getUpdateTime() {
return updateTime;
}
public void setThreshold(Double threshold) {
this.threshold = threshold;
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Date getLastExecuteTime() {
return lastExecuteTime;
public String getRemark() {
return remark;
}
public void setLastExecuteTime(Date lastExecuteTime) {
this.lastExecuteTime = lastExecuteTime;
public void setRemark(String remark) {
this.remark = remark;
}
public Date getNextExecuteTime() {
return nextExecuteTime;
/**
* 获取ID的兼容方法保持与原有代码兼容
*/
public Long getId() {
return taskId;
}
public void setNextExecuteTime(Date nextExecuteTime) {
this.nextExecuteTime = nextExecuteTime;
}
public Long getExecuteCount() {
return executeCount;
}
public void setExecuteCount(Long executeCount) {
this.executeCount = executeCount;
}
public Long getAlarmCount() {
return alarmCount;
}
public void setAlarmCount(Long alarmCount) {
this.alarmCount = alarmCount;
}
@Override
public String toString() {
return "InspectionTask{" +
"taskId=" + taskId +
", taskName='" + taskName + '\'' +
", deviceId=" + deviceId +
", deviceName='" + deviceName + '\'' +
", cronExpression='" + cronExpression + '\'' +
", duration=" + duration +
", status='" + status + '\'' +
", enableDetection='" + enableDetection + '\'' +
", threshold=" + threshold +
", lastExecuteTime=" + lastExecuteTime +
", nextExecuteTime=" + nextExecuteTime +
", executeCount=" + executeCount +
", alarmCount=" + alarmCount +
'}';
/**
* 设置ID的兼容方法保持与原有代码兼容
*/
public void setId(Long id) {
this.taskId = id;
}
}

View File

@@ -1,36 +1,151 @@
package com.ruoyi.video.domain;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;
/**
* MinIO 返回结果记录实体,对应表 v_minio_object
* MinIO对象存储实体类
*/
public class VMinioObject extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键ID */
public class VMinioObject {
/** 对象ID */
private Long objectId;
/** MinIO 对象名Key */
/** 存储桶名称 */
private String bucketName;
/** 对象名称 */
private String objectName;
/** 访问URL */
private String url;
/** 原始文件名(上传时的文件名) */
private String originalName;
/** 对象URL */
private String objectUrl;
/** 对象大小(字节) */
private Long objectSize;
/** 对象类型 */
private String objectType;
/** 创建者 */
private String createBy;
/** 创建时间 */
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
private Date updateTime;
/** 备注 */
private String remark;
/** 删除标志0存在 2删除 */
private String delFlag;
public String getDelFlag() {
return delFlag;
}
public Long getObjectId() { return objectId; }
public void setObjectId(Long objectId) { this.objectId = objectId; }
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
/** 原始文件名 */
private String originalName;
public String getOriginalName() {
return originalName;
}
public void setOriginalName(String originalName) {
this.originalName = originalName;
}
public String getObjectName() { return objectName; }
public void setObjectName(String objectName) { this.objectName = objectName; }
public Long getObjectId () {
return objectId;
}
public String getUrl() { return url; }
public void setUrl(String url) { this.url = url; }
public void setObjectId(Long objectId) {
this.objectId = objectId;
}
public String getOriginalName() { return originalName; }
public void setOriginalName(String originalName) { this.originalName = originalName; }
public String getBucketName() {
return bucketName;
}
public String getDelFlag() { return delFlag; }
public void setDelFlag(String delFlag) { this.delFlag = delFlag; }
public void setBucketName(String bucketName) {
this.bucketName = bucketName;
}
public String getObjectName() {
return objectName;
}
public void setObjectName(String objectName) {
this.objectName = objectName;
}
public String getObjectUrl() {
return objectUrl;
}
public void setObjectUrl(String objectUrl) {
this.objectUrl = objectUrl;
}
public Long getObjectSize() {
return objectSize;
}
public void setObjectSize(Long objectSize) {
this.objectSize = objectSize;
}
public String getObjectType() {
return objectType;
}
public void setObjectType(String objectType) {
this.objectType = objectType;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}