From 6e8a3f6adf78ff6502ab53b7f6a346ab08f60a60 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Thu, 14 Nov 2024 14:08:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dsql=E6=A8=A1=E7=B3=8A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=B8=AD=E5=90=AB=E6=9C=89=E7=89=B9=E6=AE=8A?= =?UTF-8?q?=E7=AC=A6=E5=8F=B7=E6=97=B6=E6=9F=A5=E8=AF=A2=E4=B8=8D=E5=87=86?= =?UTF-8?q?=E5=A4=87=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/gb28181/dao/CommonGBChannelMapper.java | 1 + .../genersoft/iot/vmp/gb28181/dao/DeviceMapper.java | 6 +++++- .../genersoft/iot/vmp/gb28181/dao/PlatformMapper.java | 2 +- .../genersoft/iot/vmp/gb28181/dao/RegionMapper.java | 4 ++-- .../vmp/gb28181/service/impl/DeviceServiceImpl.java | 5 +++++ .../vmp/gb28181/service/impl/PlatformServiceImpl.java | 5 +++++ .../vmp/gb28181/service/impl/RegionServiceImpl.java | 10 ++++++++++ .../iot/vmp/service/impl/CloudRecordServiceImpl.java | 5 +++++ .../iot/vmp/storager/dao/CloudRecordServiceMapper.java | 2 +- .../streamProxy/dao/provider/StreamProxyProvider.java | 8 ++++---- .../service/impl/StreamProxyServiceImpl.java | 5 +++++ .../iot/vmp/streamPush/dao/StreamPushMapper.java | 4 ++-- .../streamPush/service/impl/StreamPushServiceImpl.java | 5 +++++ 13 files changed, 51 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java index caa8fa08..664329e4 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java @@ -119,6 +119,7 @@ public interface CommonGBChannelMapper { ", gb_block = #{gbBlock}" + ", gb_address = #{gbAddress}" + ", gb_parental = #{gbParental}" + + ", gb_parent_id = #{gbParentId}" + ", gb_safety_way = #{gbSafetyWay}" + ", gb_register_way = #{gbRegisterWay}" + ", gb_cert_num = #{gbCertNum}" + diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/DeviceMapper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/DeviceMapper.java index 3df8b887..abac64bb 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/DeviceMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/DeviceMapper.java @@ -330,7 +330,11 @@ public interface DeviceMapper { " FROM wvp_device de" + " where 1 = 1 "+ " AND de.on_line=${status}"+ - " AND (coalesce(custom_name, name) LIKE '%${query}%' OR device_id LIKE '%${query}%' OR ip LIKE '%${query}%') " + + " AND (" + + " coalesce(custom_name, name) LIKE concat('%',#{query},'%') escape '/' " + + " OR device_id LIKE concat('%',#{query},'%') escape '/' " + + " OR ip LIKE concat('%',#{query},'%') escape '/')" + + " " + " order by create_time desc "+ " ") List getDeviceList(@Param("query") String query, @Param("status") Boolean status); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/PlatformMapper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/PlatformMapper.java index 1fe7ba2a..b8080bb5 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/PlatformMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/PlatformMapper.java @@ -71,7 +71,7 @@ public interface PlatformMapper { " ) as channel_count" + " FROM wvp_platform pp where 1=1 " + " " + - " AND (pp.name LIKE concat('%',#{query},'%') OR pp.server_gb_id LIKE concat('%',#{query},'%') ) " + + " AND (pp.name LIKE concat('%',#{query},'%') escape '/' OR pp.server_gb_id LIKE concat('%',#{query},'%') escape '/' ) " + " order by pp.id desc"+ " ") List queryList(@Param("query") String query); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/RegionMapper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/RegionMapper.java index 9021916a..f3114672 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/RegionMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/RegionMapper.java @@ -26,7 +26,7 @@ public interface RegionMapper { @Select(value = {" "}) @@ -79,7 +79,7 @@ public interface RegionMapper { " where " + " parent_id = #{parentId} " + " parent_id is null " + - " AND (device_id LIKE concat('%',#{query},'%') OR name LIKE concat('%',#{query},'%')) " + + " AND (device_id LIKE concat('%',#{query},'%') escape '/' OR name LIKE concat('%',#{query},'%') escape '/') " + " ") List queryForTree(@Param("query") String query, @Param("parentId") Integer parentId); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java index d37af47a..e5279a92 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java @@ -519,6 +519,11 @@ public class DeviceServiceImpl implements IDeviceService { @Override public PageInfo getAll(int page, int count, String query, Boolean status) { PageHelper.startPage(page, count); + if (query != null) { + query = query.replaceAll("/", "//") + .replaceAll("%", "/%") + .replaceAll("_", "/_"); + } List all = deviceMapper.getDeviceList(query, status); return new PageInfo<>(all); } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlatformServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlatformServiceImpl.java index 19a5e56f..bc61f1ef 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlatformServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlatformServiceImpl.java @@ -159,6 +159,11 @@ public class PlatformServiceImpl implements IPlatformService { @Override public PageInfo queryPlatformList(int page, int count, String query) { PageHelper.startPage(page, count); + if (query != null) { + query = query.replaceAll("/", "//") + .replaceAll("%", "/%") + .replaceAll("_", "/_"); + } List all = platformMapper.queryList(query); return new PageInfo<>(all); } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/RegionServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/RegionServiceImpl.java index fc4c016b..f40d8c42 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/RegionServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/RegionServiceImpl.java @@ -97,6 +97,11 @@ public class RegionServiceImpl implements IRegionService { @Override public PageInfo query(String query, int page, int count) { PageHelper.startPage(page, count); + if (query != null) { + query = query.replaceAll("/", "//") + .replaceAll("%", "/%") + .replaceAll("_", "/_"); + } List regionList = regionMapper.query(query, null); return new PageInfo<>(regionList); } @@ -140,6 +145,11 @@ public class RegionServiceImpl implements IRegionService { @Override public List queryForTree(String query, Integer parent, Boolean hasChannel) { + if (query != null) { + query = query.replaceAll("/", "//") + .replaceAll("%", "/%") + .replaceAll("_", "/_"); + } List regionList = regionMapper.queryForTree(query, parent); if (parent != null && hasChannel != null && hasChannel) { Region parentRegion = regionMapper.queryOne(parent); diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java index 4c521e44..725115fc 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java @@ -71,6 +71,11 @@ public class CloudRecordServiceImpl implements ICloudRecordService { } PageHelper.startPage(page, count); + if (query != null) { + query = query.replaceAll("/", "//") + .replaceAll("%", "/%") + .replaceAll("_", "/_"); + } List all = cloudRecordServiceMapper.getList(query, app, stream, startTimeStamp, endTimeStamp, callId, mediaServerItems, null); return new PageInfo<>(all); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java index af1b4242..1be9540e 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java @@ -41,7 +41,7 @@ public interface CloudRecordServiceMapper { "select * " + " from wvp_cloud_record " + " where 0 = 0" + - " AND (app LIKE concat('%',#{query},'%') OR stream LIKE concat('%',#{query},'%') ) " + + " AND (app LIKE concat('%',#{query},'%') escape '/' OR stream LIKE concat('%',#{query},'%') escape '/' ) " + " and app=#{app}" + " and stream=#{stream}" + " and end_time >= #{startTimeStamp}" + diff --git a/src/main/java/com/genersoft/iot/vmp/streamProxy/dao/provider/StreamProxyProvider.java b/src/main/java/com/genersoft/iot/vmp/streamProxy/dao/provider/StreamProxyProvider.java index 653426f6..d43a94fe 100644 --- a/src/main/java/com/genersoft/iot/vmp/streamProxy/dao/provider/StreamProxyProvider.java +++ b/src/main/java/com/genersoft/iot/vmp/streamProxy/dao/provider/StreamProxyProvider.java @@ -36,13 +36,13 @@ public class StreamProxyProvider { if (params.get("query") != null) { sqlBuild.append(" AND ") .append(" (") - .append(" st.app LIKE ").append("'%").append(params.get("query")).append("%'") + .append(" st.app LIKE ").append("'%").append(params.get("query")).append("%' escape '/'") .append(" OR") - .append(" st.stream LIKE ").append("'%").append(params.get("query")).append("%'") + .append(" st.stream LIKE ").append("'%").append(params.get("query")).append("%' escape '/'") .append(" OR") - .append(" wdc.gb_device_id LIKE ").append("'%").append(params.get("query")).append("%'") + .append(" wdc.gb_device_id LIKE ").append("'%").append(params.get("query")).append("%' escape '/'") .append(" OR") - .append(" wdc.gb_name LIKE ").append("'%").append(params.get("query")).append("%'") + .append(" wdc.gb_name LIKE ").append("'%").append(params.get("query")).append("%' escape '/'") .append(" )") ; } diff --git a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyServiceImpl.java index 3721edb1..442fb6a6 100755 --- a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyServiceImpl.java @@ -246,6 +246,11 @@ public class StreamProxyServiceImpl implements IStreamProxyService { @Override public PageInfo getAll(Integer page, Integer count, String query, Boolean pulling, String mediaServerId) { PageHelper.startPage(page, count); + if (query != null) { + query = query.replaceAll("/", "//") + .replaceAll("%", "/%") + .replaceAll("_", "/_"); + } List all = streamProxyMapper.selectAll(query, pulling, mediaServerId); return new PageInfo<>(all); } diff --git a/src/main/java/com/genersoft/iot/vmp/streamPush/dao/StreamPushMapper.java b/src/main/java/com/genersoft/iot/vmp/streamPush/dao/StreamPushMapper.java index b3441435..64b81d58 100755 --- a/src/main/java/com/genersoft/iot/vmp/streamPush/dao/StreamPushMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/streamPush/dao/StreamPushMapper.java @@ -48,8 +48,8 @@ public interface StreamPushMapper { " on st.id = wdc.stream_push_id " + " WHERE " + " 1=1 " + - " AND (st.app LIKE concat('%',#{query},'%') OR st.stream LIKE concat('%',#{query},'%') " + - " OR wdc.gb_device_id LIKE concat('%',#{query},'%') OR wdc.gb_name LIKE concat('%',#{query},'%')) " + + " AND (st.app LIKE concat('%',#{query},'%') escape '/' OR st.stream LIKE concat('%',#{query},'%') escape '/' " + + " OR wdc.gb_device_id LIKE concat('%',#{query},'%') escape '/' OR wdc.gb_name LIKE concat('%',#{query},'%') escape '/') " + " AND st.pushing=1" + " AND st.pushing=0 " + " AND st.media_server_id=#{mediaServerId} " + diff --git a/src/main/java/com/genersoft/iot/vmp/streamPush/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/streamPush/service/impl/StreamPushServiceImpl.java index 15028e98..a8ca0b68 100755 --- a/src/main/java/com/genersoft/iot/vmp/streamPush/service/impl/StreamPushServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/streamPush/service/impl/StreamPushServiceImpl.java @@ -175,6 +175,11 @@ public class StreamPushServiceImpl implements IStreamPushService { @Override public PageInfo getPushList(Integer page, Integer count, String query, Boolean pushing, String mediaServerId) { PageHelper.startPage(page, count); + if (query != null) { + query = query.replaceAll("/", "//") + .replaceAll("%", "/%") + .replaceAll("_", "/_"); + } List all = streamPushMapper.selectAll(query, pushing, mediaServerId); return new PageInfo<>(all); }