diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java
index 54530295..2de6bdd4 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java
@@ -18,16 +18,13 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@Tag(name = "媒体流相关")
-@Controller
+@RestController
@Slf4j
@RequestMapping(value = "/api/media")
public class MediaController {
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/dao/provider/ChannelProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/ChannelProvider.java
index 2fe3dc5e..092c90dc 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/ChannelProvider.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/ChannelProvider.java
@@ -122,8 +122,8 @@ public class ChannelProvider {
sqlBuild.append(BASE_SQL);
sqlBuild.append(" where channel_type = 0 ");
if (params.get("query") != null) {
- sqlBuild.append(" AND (coalesce(gb_device_id, device_id) LIKE concat('%',#{query},'%')" +
- " OR coalesce(gb_name, name) LIKE concat('%',#{query},'%') )")
+ sqlBuild.append(" AND (coalesce(gb_device_id, device_id) LIKE concat('%',#{query},'%') escape '/'" +
+ " OR coalesce(gb_name, name) LIKE concat('%',#{query},'%') escape '/' )")
;
}
if (params.get("online") != null && (Boolean)params.get("online")) {
@@ -154,8 +154,8 @@ public class ChannelProvider {
sqlBuild.append(BASE_SQL);
sqlBuild.append(" where channel_type = 0 ");
if (params.get("query") != null) {
- sqlBuild.append(" AND (coalesce(gb_device_id, device_id) LIKE concat('%',#{query},'%')" +
- " OR coalesce(gb_name, name) LIKE concat('%',#{query},'%') )")
+ sqlBuild.append(" AND (coalesce(gb_device_id, device_id) LIKE concat('%',#{query},'%') escape '/'" +
+ " OR coalesce(gb_name, name) LIKE concat('%',#{query},'%') escape '/' )")
;
}
if (params.get("online") != null && (Boolean)params.get("online")) {
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/DeviceChannelProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/DeviceChannelProvider.java
index dc29280e..719ad284 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/DeviceChannelProvider.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/DeviceChannelProvider.java
@@ -71,8 +71,8 @@ public class DeviceChannelProvider {
"OR (LENGTH(coalesce(dc.gb_device_id, dc.device_id))=LENGTH(#{civilCode}) + 2) AND coalesce(dc.gb_device_id, dc.device_id) LIKE concat(#{civilCode},'%'))");
}
if (params.get("query") != null && !ObjectUtils.isEmpty(params.get("query"))) {
- sqlBuild.append(" AND (coalesce(dc.gb_device_id, dc.device_id) LIKE concat('%',#{query},'%')" +
- " OR coalesce(dc.gb_name, dc.name) LIKE concat('%',#{query},'%'))")
+ sqlBuild.append(" AND (coalesce(dc.gb_device_id, dc.device_id) LIKE concat('%',#{query},'%') escape '/'" +
+ " OR coalesce(dc.gb_name, dc.name) LIKE concat('%',#{query},'%') escape '/')")
;
}
if (params.get("online") != null && (Boolean)params.get("online")) {
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java
index 97d00b12..654648fe 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java
@@ -609,6 +609,11 @@ public class DeviceChannelServiceImpl implements IDeviceChannelService {
parentId = channelId;
}
}
+ if (query != null) {
+ query = query.replaceAll("/", "//")
+ .replaceAll("%", "/%")
+ .replaceAll("_", "/_");
+ }
List all = channelMapper.queryChannels(deviceDbId, civilCode, businessGroupId, parentId, query, channelType, online,null);
return new PageInfo<>(all);
}
@@ -624,7 +629,11 @@ public class DeviceChannelServiceImpl implements IDeviceChannelService {
if (device == null) {
throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到设备:" + deviceId);
}
- // 获取到所有正在播放的流
+ if (query != null) {
+ query = query.replaceAll("/", "//")
+ .replaceAll("%", "/%")
+ .replaceAll("_", "/_");
+ }
PageHelper.startPage(page, count);
List all = channelMapper.queryChannels(device.getId(), null,null, null, query, hasSubChannel, online,null);
return new PageInfo<>(all);
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/GbChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java
index 38e3bd12..f19f4f9c 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java
@@ -390,6 +390,11 @@ public class GbChannelServiceImpl implements IGbChannelService {
@Override
public PageInfo queryListByCivilCode(int page, int count, String query, Boolean online, Integer channelType, String civilCode) {
PageHelper.startPage(page, count);
+ if (query != null) {
+ query = query.replaceAll("/", "//")
+ .replaceAll("%", "/%")
+ .replaceAll("_", "/_");
+ }
List all = commonGBChannelMapper.queryListByCivilCode(query, online, channelType, civilCode);
return new PageInfo<>(all);
}
@@ -397,6 +402,11 @@ public class GbChannelServiceImpl implements IGbChannelService {
@Override
public PageInfo queryListByParentId(int page, int count, String query, Boolean online, Integer channelType, String groupDeviceId) {
PageHelper.startPage(page, count);
+ if (query != null) {
+ query = query.replaceAll("/", "//")
+ .replaceAll("%", "/%")
+ .replaceAll("_", "/_");
+ }
List all = commonGBChannelMapper.queryListByParentId(query, online, channelType, groupDeviceId);
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/controller/StreamProxyController.java b/src/main/java/com/genersoft/iot/vmp/streamProxy/controller/StreamProxyController.java
index 861dea30..54304385 100755
--- a/src/main/java/com/genersoft/iot/vmp/streamProxy/controller/StreamProxyController.java
+++ b/src/main/java/com/genersoft/iot/vmp/streamProxy/controller/StreamProxyController.java
@@ -30,7 +30,7 @@ import java.util.Map;
* 拉流代理接口
*/
@Tag(name = "拉流代理", description = "")
-@Controller
+@RestController
@Slf4j
@RequestMapping(value = "/api/proxy")
public class StreamProxyController {
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/controller/StreamPushController.java b/src/main/java/com/genersoft/iot/vmp/streamPush/controller/StreamPushController.java
index 3af1f294..1331c93a 100755
--- a/src/main/java/com/genersoft/iot/vmp/streamPush/controller/StreamPushController.java
+++ b/src/main/java/com/genersoft/iot/vmp/streamPush/controller/StreamPushController.java
@@ -43,7 +43,7 @@ import java.util.Map;
import java.util.UUID;
@Tag(name = "推流信息管理")
-@Controller
+@RestController
@Slf4j
@RequestMapping(value = "/api/push")
public class StreamPushController {
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);
}