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