From 09efdef4cee532bfd69811088d9bd21026159af5 Mon Sep 17 00:00:00 2001
From: hexq <hexiaoqu@visioninsight.com>
Date: 星期四, 16 五月 2024 13:25:06 +0800
Subject: [PATCH] 解决MacOS 14寸 M2:最新Chrome国标设备通道“直播”Jessibuca播放下方出现黑屏的兼容BUG
---
src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 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 16fc5b5..75cfb12 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
@@ -275,15 +275,23 @@
}
@Override
- public void batchUpdateChannel(List<DeviceChannel> channels) {
+ public synchronized void batchUpdateChannel(List<DeviceChannel> channels) {
String now = DateUtil.getNow();
for (DeviceChannel channel : channels) {
channel.setUpdateTime(now);
}
- channelMapper.batchUpdate(channels);
- for (DeviceChannel channel : channels) {
- if (channel.getParentId() != null) {
- channelMapper.updateChannelSubCount(channel.getDeviceId(), channel.getParentId());
+ int limitCount = 1000;
+ if (!channels.isEmpty()) {
+ if (channels.size() > limitCount) {
+ for (int i = 0; i < channels.size(); i += limitCount) {
+ int toIndex = i + limitCount;
+ if (i + limitCount > channels.size()) {
+ toIndex = channels.size();
+ }
+ channelMapper.batchUpdate(channels.subList(i, toIndex));
+ }
+ }else {
+ channelMapper.batchUpdate(channels);
}
}
}
--
Gitblit v1.8.0