Files
rtsp-video-analysis-system/ruoyi-video/src/main/resources/mapper/video/InspectionTaskMapper.xml
Joshi 98042b237c feat(video): 添加设备名称字段并优化巡检任务关联查询
- 在 Device 实体类中新增 deviceName 字段及其 getter/setter 方法
- 更新 DeviceMapper.xml,支持 device_name 字段的查询、插入和更新操作
- 修改 InspectionTask 实体类,增加 deviceIp 字段用于联查返回设备 IP
- 调整 InspectionTaskMapper.xml,通过左连接获取设备名称与 IP 信息- 移除冗余的 device_name 插入与更新逻辑
- 注释掉旧有的设备信息设置代码,避免重复赋值
- 更新 toString 方法以包含新的 deviceName 属性
2025-10-09 09:54:40 +08:00

141 lines
7.4 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.video.mapper.InspectionTaskMapper">
<resultMap type="InspectionTask" id="InspectionTaskResult">
<result property="taskId" column="task_id" />
<result property="taskName" column="task_name" />
<result property="deviceId" column="device_id" />
<result property="deviceName" column="device_name" />
<result property="deviceIp" column="device_ip" />
<result property="cronExpression" column="cron_expression" />
<result property="duration" column="duration" />
<result property="threshold" column="threshold" />
<result property="enableDetection" column="enable_detection" />
<result property="status" column="status" />
<result property="executeCount" column="execute_count" />
<result property="alarmCount" column="alarm_count" />
<result property="lastExecuteTime" column="last_execute_time" />
<result property="modelName" column="model_name" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectInspectionTaskVo">
select
t.task_id, t.task_name, t.device_id,
t.cron_expression, t.duration,
t.threshold, t.enable_detection, t.status, t.execute_count, t.alarm_count,
t.last_execute_time, t.model_name, t.remark, t.create_by, t.create_time, t.update_by, t.update_time,
d.device_name as device_name,
d.ip as device_ip
from v_inspection_task t
left join v_device d on t.device_id = d.device_id
</sql>
<select id="selectInspectionTaskList" parameterType="InspectionTask" resultMap="InspectionTaskResult">
<include refid="selectInspectionTaskVo"/>
<where>
<if test="taskName != null and taskName != ''"> and task_name like concat('%', #{taskName}, '%')</if>
<if test="deviceId != null"> and device_id = #{deviceId}</if>
<if test="deviceName != null and deviceName != ''"> and d.device_name like concat('%', #{deviceName}, '%')</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="enableDetection != null and enableDetection != ''"> and enable_detection = #{enableDetection}</if>
<if test="modelName != null and modelName != ''"> and model_name = #{modelName}</if>
</where>
order by create_time desc
</select>
<select id="selectEnabledInspectionTaskList" resultMap="InspectionTaskResult">
<include refid="selectInspectionTaskVo"/>
where status = '0'
order by create_time desc
</select>
<select id="selectInspectionTaskById" resultMap="InspectionTaskResult">
<include refid="selectInspectionTaskVo"/>
where task_id = #{taskId}
</select>
<insert id="insertInspectionTask" parameterType="InspectionTask" useGeneratedKeys="true" keyProperty="taskId">
insert into v_inspection_task
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taskName != null and taskName != ''">task_name,</if>
<if test="deviceId != null">device_id,</if>
<if test="cronExpression != null and cronExpression != ''">cron_expression,</if>
<if test="duration != null">duration,</if>
<if test="threshold != null">threshold,</if>
<if test="enableDetection != null">enable_detection,</if>
<if test="status != null">status,</if>
<if test="executeCount != null">execute_count,</if>
<if test="alarmCount != null">alarm_count,</if>
<if test="lastExecuteTime != null">last_execute_time,</if>
<if test="modelName != null and modelName != ''">model_name,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
create_time
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskName != null and taskName != ''">#{taskName},</if>
<if test="deviceId != null">#{deviceId},</if>
<if test="cronExpression != null and cronExpression != ''">#{cronExpression},</if>
<if test="duration != null">#{duration},</if>
<if test="threshold != null">#{threshold},</if>
<if test="enableDetection != null">#{enableDetection},</if>
<if test="status != null">#{status},</if>
<if test="executeCount != null">#{executeCount},</if>
<if test="alarmCount != null">#{alarmCount},</if>
<if test="lastExecuteTime != null">#{lastExecuteTime},</if>
<if test="modelName != null and modelName != ''">#{modelName},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
sysdate()
</trim>
</insert>
<update id="updateInspectionTask" parameterType="InspectionTask">
update v_inspection_task
<trim prefix="SET" suffixOverrides=",">
<if test="taskName != null and taskName != ''">task_name = #{taskName},</if>
<if test="deviceId != null">device_id = #{deviceId},</if>
<if test="cronExpression != null and cronExpression != ''">cron_expression = #{cronExpression},</if>
<if test="duration != null">duration = #{duration},</if>
<if test="threshold != null">threshold = #{threshold},</if>
<if test="enableDetection != null">enable_detection = #{enableDetection},</if>
<if test="status != null">status = #{status},</if>
<if test="executeCount != null">execute_count = #{executeCount},</if>
<if test="alarmCount != null">alarm_count = #{alarmCount},</if>
<if test="lastExecuteTime != null">last_execute_time = #{lastExecuteTime},</if>
<if test="modelName != null and modelName != ''">model_name = #{modelName},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
update_time = sysdate()
</trim>
where task_id = #{taskId}
</update>
<update id="updateTaskExecuteInfo">
update v_inspection_task
set execute_count = #{executeCount},
alarm_count = #{alarmCount},
last_execute_time = sysdate(),
update_time = sysdate()
where task_id = #{taskId}
</update>
<delete id="deleteInspectionTaskById" parameterType="Long">
delete from v_inspection_task where task_id = #{taskId}
</delete>
<delete id="deleteInspectionTaskByIds" parameterType="String">
delete from v_inspection_task where task_id in
<foreach item="taskId" collection="array" open="(" separator="," close=")">
#{taskId}
</foreach>
</delete>
</mapper>