From d41d6b34af2485198ed01e1888db1571e4da1a6a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 23 四月 2024 20:59:20 +0800
Subject: [PATCH] Merge branch 'refs/heads/2.7.0'
---
src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 60 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 6807632..16fc5b5 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java
@@ -23,6 +23,7 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
@@ -248,8 +249,24 @@
}
@Override
+ public void online(DeviceChannel channel) {
+ channelMapper.online(channel.getDeviceId(), channel.getChannelId());
+ }
+
+ @Override
public int channelsOffline(List<DeviceChannel> channels) {
return channelMapper.batchOffline(channels);
+ }
+
+
+ @Override
+ public void offline(DeviceChannel channel) {
+ channelMapper.offline(channel.getDeviceId(), channel.getChannelId());
+ }
+
+ @Override
+ public void delete(DeviceChannel channel) {
+ channelMapper.del(channel.getDeviceId(), channel.getChannelId());
}
@Override
@@ -358,4 +375,47 @@
public void stopPlay(String deviceId, String channelId) {
channelMapper.stopPlay(deviceId, channelId);
}
+
+ @Override
+ @Transactional
+ public void batchUpdateChannelGPS(List<DeviceChannel> channelList) {
+ for (DeviceChannel deviceChannel : channelList) {
+ deviceChannel.setUpdateTime(DateUtil.getNow());
+ if (deviceChannel.getGpsTime() == null) {
+ deviceChannel.setGpsTime(DateUtil.getNow());
+ }
+ }
+ int count = 1000;
+ if (channelList.size() > count) {
+ for (int i = 0; i < channelList.size(); i+=count) {
+ int toIndex = i+count;
+ if ( i + count > channelList.size()) {
+ toIndex = channelList.size();
+ }
+ List<DeviceChannel> channels = channelList.subList(i, toIndex);
+ channelMapper.batchUpdatePosition(channels);
+ }
+ }else {
+ channelMapper.batchUpdatePosition(channelList);
+ }
+ }
+
+ @Override
+ @Transactional
+ public void batchAddMobilePosition(List<MobilePosition> mobilePositions) {
+// int count = 500;
+// if (mobilePositions.size() > count) {
+// for (int i = 0; i < mobilePositions.size(); i+=count) {
+// int toIndex = i+count;
+// if ( i + count > mobilePositions.size()) {
+// toIndex = mobilePositions.size();
+// }
+// List<MobilePosition> mobilePositionsSub = mobilePositions.subList(i, toIndex);
+// deviceMobilePositionMapper.batchadd(mobilePositionsSub);
+// }
+// }else {
+// deviceMobilePositionMapper.batchadd(mobilePositions);
+// }
+ deviceMobilePositionMapper.batchadd(mobilePositions);
+ }
}
--
Gitblit v1.8.0