From b6fa459bc3ae287abcb3292a873718fd08297e61 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 10 十二月 2021 18:38:58 +0800
Subject: [PATCH] 修复推流列表大数据量时批量删除的错误,修复推流列表分页查询错误
---
src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java | 17 +++++++++++++++--
src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java | 2 +-
pom.xml | 3 +--
3 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/pom.xml b/pom.xml
index 3336bb3..364e6b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,6 @@
<jedis-version>3.1.0</jedis-version>
<!-- 渚濊禆鐗堟湰 -->
- <pagehelper.version>5.2.0</pagehelper.version>
<snippetsDirectory>${project.build.directory}/generated-snippets</snippetsDirectory>
<asciidoctor.input.directory>${project.basedir}/docs/asciidoc</asciidoctor.input.directory>
<generated.asciidoc.directory>${project.build.directory}/asciidoc</generated.asciidoc.directory>
@@ -113,7 +112,7 @@
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
- <version>1.2.10</version>
+ <version>1.4.1</version>
</dependency>
<!--Swagger3 -->
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
index 63596b2..be34fae 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -188,10 +188,23 @@
streamInfoPushItemMap.remove(streamPushItem.getApp() + streamPushItem.getStream());
}
}
- Collection<StreamPushItem> offlinePushItems = pushItemMap.values();
+ List<StreamPushItem> offlinePushItems = new ArrayList<>(pushItemMap.values());
if (offlinePushItems.size() > 0) {
String type = "PUSH";
- streamPushMapper.delAll(new ArrayList<>(offlinePushItems));
+ int runLimit = 300;
+ if (offlinePushItems.size() > runLimit) {
+ for (int i = 0; i < offlinePushItems.size(); i += runLimit) {
+ int toIndex = i + runLimit;
+ if (i + runLimit > offlinePushItems.size()) {
+ toIndex = offlinePushItems.size();
+ }
+ List<StreamPushItem> streamPushItemsSub = offlinePushItems.subList(i, toIndex);
+ streamPushMapper.delAll(streamPushItemsSub);
+ }
+ }else {
+ streamPushMapper.delAll(offlinePushItems);
+ }
+
}
Collection<StreamInfo> offlineStreamInfoItems = streamInfoPushItemMap.values();
if (offlineStreamInfoItems.size() > 0) {
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java
index 5fcb6bd..6dfc257 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java
@@ -40,7 +40,7 @@
@RequestParam(required = false)String query,
@RequestParam(required = false)Boolean online ){
- PageInfo<StreamPushItem> pushList = streamPushService.getPushList(page - 1, page - 1 + count);
+ PageInfo<StreamPushItem> pushList = streamPushService.getPushList(page, count);
return pushList;
}
--
Gitblit v1.8.0