From 198db8f68491809d91e4d23341f31db325a3525b Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Mon, 12 May 2025 09:00:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=86=E5=B1=8F=E7=9B=91?= =?UTF-8?q?=E6=8E=A7=E5=9C=B0=E5=9D=80=E4=B8=8D=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DeviceChannelServiceImpl.java | 134 +++++++++--------- web/src/router/index.js | 2 +- 2 files changed, 67 insertions(+), 69 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java index ba4644632..613e54901 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java @@ -120,85 +120,83 @@ public class DeviceChannelServiceImpl implements IDeviceChannelService { List updateChannels = new ArrayList<>(); HashMap channelsInStore = new HashMap<>(); int result = 0; - if (channels != null && !channels.isEmpty()) { - List channelList = channelMapper.queryChannelsByDeviceDbId(device.getId()); - if (channelList.isEmpty()) { - for (DeviceChannel channel : channels) { - channel.setDataDeviceId(device.getId()); - InviteInfo inviteInfo = inviteStreamService.getInviteInfoByDeviceAndChannel(InviteSessionType.PLAY, channel.getId()); - if (inviteInfo != null && inviteInfo.getStreamInfo() != null) { - channel.setStreamId(inviteInfo.getStreamInfo().getStream()); - } - String now = DateUtil.getNow(); + List channelList = channelMapper.queryChannelsByDeviceDbId(device.getId()); + if (channelList.isEmpty()) { + for (DeviceChannel channel : channels) { + channel.setDataDeviceId(device.getId()); + InviteInfo inviteInfo = inviteStreamService.getInviteInfoByDeviceAndChannel(InviteSessionType.PLAY, channel.getId()); + if (inviteInfo != null && inviteInfo.getStreamInfo() != null) { + channel.setStreamId(inviteInfo.getStreamInfo().getStream()); + } + String now = DateUtil.getNow(); + channel.setUpdateTime(now); + channel.setCreateTime(now); + addChannels.add(channel); + } + }else { + for (DeviceChannel deviceChannel : channelList) { + channelsInStore.put(deviceChannel.getDataDeviceId() + deviceChannel.getDeviceId(), deviceChannel); + } + for (DeviceChannel channel : channels) { + InviteInfo inviteInfo = inviteStreamService.getInviteInfoByDeviceAndChannel(InviteSessionType.PLAY, channel.getId()); + if (inviteInfo != null && inviteInfo.getStreamInfo() != null) { + channel.setStreamId(inviteInfo.getStreamInfo().getStream()); + } + String now = DateUtil.getNow(); + channel.setUpdateTime(now); + DeviceChannel deviceChannelInDb = channelsInStore.get(channel.getDataDeviceId() + channel.getDeviceId()); + if ( deviceChannelInDb != null) { + channel.setId(deviceChannelInDb.getId()); channel.setUpdateTime(now); + updateChannels.add(channel); + }else { channel.setCreateTime(now); + channel.setUpdateTime(now); addChannels.add(channel); } - }else { - for (DeviceChannel deviceChannel : channelList) { - channelsInStore.put(deviceChannel.getDataDeviceId() + deviceChannel.getDeviceId(), deviceChannel); - } - for (DeviceChannel channel : channels) { - InviteInfo inviteInfo = inviteStreamService.getInviteInfoByDeviceAndChannel(InviteSessionType.PLAY, channel.getId()); - if (inviteInfo != null && inviteInfo.getStreamInfo() != null) { - channel.setStreamId(inviteInfo.getStreamInfo().getStream()); - } - String now = DateUtil.getNow(); - channel.setUpdateTime(now); - DeviceChannel deviceChannelInDb = channelsInStore.get(channel.getDataDeviceId() + channel.getDeviceId()); - if ( deviceChannelInDb != null) { - channel.setId(deviceChannelInDb.getId()); - channel.setUpdateTime(now); - updateChannels.add(channel); - }else { - channel.setCreateTime(now); - channel.setUpdateTime(now); - addChannels.add(channel); - } - } } - Set channelSet = new HashSet<>(); - // 滤重 - List addChannelList = new ArrayList<>(); - List updateChannelList = new ArrayList<>(); - addChannels.forEach(channel -> { - if (channelSet.add(channel.getDeviceId())) { - addChannelList.add(channel); - } - }); - channelSet.clear(); - updateChannels.forEach(channel -> { - if (channelSet.add(channel.getDeviceId())) { - updateChannelList.add(channel); - } - }); + } + Set channelSet = new HashSet<>(); + // 滤重 + List addChannelList = new ArrayList<>(); + List updateChannelList = new ArrayList<>(); + addChannels.forEach(channel -> { + if (channelSet.add(channel.getDeviceId())) { + addChannelList.add(channel); + } + }); + channelSet.clear(); + updateChannels.forEach(channel -> { + if (channelSet.add(channel.getDeviceId())) { + updateChannelList.add(channel); + } + }); - int limitCount = 500; - if (!addChannelList.isEmpty()) { - if (addChannelList.size() > limitCount) { - for (int i = 0; i < addChannelList.size(); i += limitCount) { - int toIndex = i + limitCount; - if (i + limitCount > addChannelList.size()) { - toIndex = addChannelList.size(); - } - result += channelMapper.batchAdd(addChannelList.subList(i, toIndex)); + int limitCount = 500; + if (!addChannelList.isEmpty()) { + if (addChannelList.size() > limitCount) { + for (int i = 0; i < addChannelList.size(); i += limitCount) { + int toIndex = i + limitCount; + if (i + limitCount > addChannelList.size()) { + toIndex = addChannelList.size(); } - }else { - result += channelMapper.batchAdd(addChannelList); + result += channelMapper.batchAdd(addChannelList.subList(i, toIndex)); } + }else { + result += channelMapper.batchAdd(addChannelList); } - if (!updateChannelList.isEmpty()) { - if (updateChannelList.size() > limitCount) { - for (int i = 0; i < updateChannelList.size(); i += limitCount) { - int toIndex = i + limitCount; - if (i + limitCount > updateChannelList.size()) { - toIndex = updateChannelList.size(); - } - result += channelMapper.batchUpdate(updateChannelList.subList(i, toIndex)); + } + if (!updateChannelList.isEmpty()) { + if (updateChannelList.size() > limitCount) { + for (int i = 0; i < updateChannelList.size(); i += limitCount) { + int toIndex = i + limitCount; + if (i + limitCount > updateChannelList.size()) { + toIndex = updateChannelList.size(); } - }else { - result += channelMapper.batchUpdate(updateChannelList); + result += channelMapper.batchUpdate(updateChannelList.subList(i, toIndex)); } + }else { + result += channelMapper.batchUpdate(updateChannelList); } } return result; diff --git a/web/src/router/index.js b/web/src/router/index.js index cebaa4c6b..d86627dfe 100644 --- a/web/src/router/index.js +++ b/web/src/router/index.js @@ -60,7 +60,7 @@ export const constantRoutes = [ component: Layout, redirect: '/live', children: [{ - path: 'live', + path: '', name: 'Live', component: () => import('@/views/live/index'), meta: { title: '分屏监控', icon: 'live' }