From c459808efab29dc1b8439fbb90556bdb16f4c88b Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 01 四月 2026 22:40:59 +0800
Subject: [PATCH] feat: 优化支付时显示任务ID
---
ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml | 34 ++++++++++++++++++++--------------
1 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml
index 2c78bdf..984d7f1 100644
--- a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsMapper.xml
@@ -112,13 +112,19 @@
</select>
<delete id="deleteVehicleGpsBeforeDate">
- delete g from tb_vehicle_gps g
- where g.collect_time < (
- select date_sub(max(collect_time), interval 2 day)
- from tb_vehicle_gps g2
- where g2.vehicle_id = g.vehicle_id
- )
+ delete from tb_vehicle_gps
+ where collect_time < DATE_SUB(NOW(), INTERVAL 2 MONTH)
</delete>
+
+ <delete id="deleteVehicleGpsBeforeDateBatch">
+ delete from tb_vehicle_gps
+ where collect_time < DATE_SUB(NOW(), INTERVAL 2 MONTH)
+ LIMIT #{batchSize}
+ </delete>
+
+ <update id="optimizeVehicleGpsTable">
+ OPTIMIZE TABLE tb_vehicle_gps
+ </update>
<select id="selectGpsDataByTimeRange" resultMap="VehicleGpsResult">
select gps_id, vehicle_id, device_id, longitude, latitude, altitude, speed, direction,
@@ -127,29 +133,29 @@
where vehicle_id = #{vehicleId}
and collect_time >= #{startTime}
and collect_time <= #{endTime}
- order by collect_time
</select>
- <!-- 鏌ヨ娲昏穬杞﹁締ID锛堜紭鍖栵細娣诲姞LIMIT闄愬埗锛岄伩鍏嶅ぇ琛ㄦ壂鎻忥級 -->
+ <!-- 鏌ヨ娲昏穬杞﹁締ID锛堜紭鍖栵細浣跨敤GROUP BY鏇夸唬DISTINCT锛屾彁鍗囨�ц兘锛� -->
<select id="selectActiveVehicleIds" resultType="Long">
- select distinct vehicle_id
+ select vehicle_id
from tb_vehicle_gps
where collect_time >= #{startTime}
- order by vehicle_id
</select>
- <!-- 鏌ヨ鏈璁$畻鐨凣PS鍧愭爣锛堜笉鍦╰b_vehicle_gps_calculated琛ㄤ腑鐨勮褰曪級 -->
+ <!-- 鏌ヨ鏈璁$畻鐨凣PS鍧愭爣锛堜紭鍖栵細浣跨敤NOT EXISTS鏇夸唬LEFT JOIN ... IS NULL锛� -->
<select id="selectUncalculatedGps" resultMap="VehicleGpsResult">
SELECT g.gps_id, g.vehicle_id, g.device_id, g.longitude, g.latitude, g.altitude,
g.speed, g.direction, g.collect_time, g.device_report_time,
g.platform_process_time, g.create_time, v.vehicle_no
FROM tb_vehicle_gps g
- LEFT JOIN tb_vehicle_info v ON g.vehicle_id = v.vehicle_id
- LEFT JOIN tb_vehicle_gps_calculated c ON g.gps_id = c.gps_id
+ INNER JOIN tb_vehicle_info v ON g.vehicle_id = v.vehicle_id
WHERE g.vehicle_id = #{vehicleId}
AND g.collect_time >= #{startTime}
AND g.collect_time <= #{endTime}
- AND c.gps_id IS NULL -- 鏈璁$畻鐨凣PS鐐�
+ AND NOT EXISTS (
+ SELECT 1 FROM tb_vehicle_gps_calculated c
+ WHERE c.gps_id = g.gps_id
+ )
ORDER BY g.collect_time
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1