From 7be636f8b850c2554d9071876820579ce631dc25 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 15 二月 2023 18:30:35 +0800 Subject: [PATCH] 修复更新通道是更新各个坐标系德位置信息 --- src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java index 880b697..7527631 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java @@ -176,5 +176,29 @@ return channelMapper.queryChannelListInAll(null, null, null, platformId, null); } + @Override + public boolean updateAllGps(Device device) { + List<DeviceChannel> deviceChannels = channelMapper.getChannelsWithoutTransform(device.getDeviceId()); + List<DeviceChannel> result = new ArrayList<>(); + if (deviceChannels.size() == 0) { + return true; + } + deviceChannels.parallelStream().forEach(deviceChannel -> { + result.add(updateGps(deviceChannel, device)); + }); + int limitCount = 300; + if (result.size() > limitCount) { + for (int i = 0; i < result.size(); i += limitCount) { + int toIndex = i + limitCount; + if (i + limitCount > result.size()) { + toIndex = result.size(); + } + channelMapper.batchUpdate(result.subList(i, toIndex)); + } + }else { + channelMapper.batchUpdate(result); + } + return true; + } } -- Gitblit v1.8.0