From 310fbe0a019c0a15d3540f36ab163e2b612d6bb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E5=B0=8F=E5=A2=A8?= <16949192+coder-xiaomo@users.noreply.github.com> Date: Sat, 15 Feb 2025 02:09:43 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20[=20h265web.vue]=20?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=90=8D=E5=BC=80=E5=A4=B4=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E7=A9=BA=E6=A0=BC=E5=AF=BC=E8=87=B4=E5=89=8D=E7=AB=AF=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/src/components/common/{ h265web.vue => h265web.vue} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename web_src/src/components/common/{ h265web.vue => h265web.vue} (100%) mode change 100755 => 100644 diff --git a/web_src/src/components/common/ h265web.vue b/web_src/src/components/common/h265web.vue old mode 100755 new mode 100644 similarity index 100% rename from web_src/src/components/common/ h265web.vue rename to web_src/src/components/common/h265web.vue From d0d0776d4acb1bab022d53c891a1bd9b59b70583 Mon Sep 17 00:00:00 2001 From: JerryYan Date: Tue, 18 Feb 2025 09:36:15 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[BUG]=20=E4=BF=AE=E5=A4=8D=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E5=BD=95=E5=83=8F=E8=AE=A1=E5=88=92=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=97=B6=EF=BC=8C=E6=B2=A1=E6=9C=89=E5=BD=95?= =?UTF-8?q?=E5=83=8F=E4=BB=BB=E5=8A=A1=E5=AF=BC=E8=87=B4=E7=9A=84java.util?= =?UTF-8?q?.ConcurrentModificationException?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 报错内容: ``` java.util.ConcurrentModificationException: null at java.util.HashMap$HashIterator.nextNode(HashMap.java:1469) at java.util.HashMap$KeyIterator.next(HashMap.java:1493) at com.genersoft.iot.vmp.service.impl.RecordPlanServiceImpl.stopStreams(RecordPlanServiceImpl.java:143) at com.genersoft.iot.vmp.service.impl.RecordPlanServiceImpl.execution(RecordPlanServiceImpl.java:92) ``` 做出的修改: 按照下面的逻辑搬上来了 --- .../genersoft/iot/vmp/service/impl/RecordPlanServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/RecordPlanServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/RecordPlanServiceImpl.java index 2e97d775..0d2ad55a 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/RecordPlanServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/RecordPlanServiceImpl.java @@ -89,7 +89,8 @@ public class RecordPlanServiceImpl implements IRecordPlanService { if (startChannelIdList.isEmpty()) { // 当前没有录像任务, 如果存在旧的正在录像的就移除 if(!recordStreamMap.isEmpty()) { - stopStreams(recordStreamMap.keySet(), recordStreamMap); + Set recordStreamSet = new HashSet<>(recordStreamMap.keySet()); + stopStreams(recordStreamSet, recordStreamMap); recordStreamMap.clear(); } }else { From e8c65bed6207168103268eda71325ecfb641f205 Mon Sep 17 00:00:00 2001 From: guo <260206558@qq.com> Date: Wed, 19 Feb 2025 09:19:14 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E6=96=B0=E5=A2=9E=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=88=86=E7=BB=84=E6=97=B6=E6=A0=A1=E9=AA=8C=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E5=94=AF=E4=B8=80=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vmp/gb28181/service/impl/GroupServiceImpl.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GroupServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GroupServiceImpl.java index b0316c18..bc8e9f10 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GroupServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GroupServiceImpl.java @@ -10,6 +10,7 @@ import com.genersoft.iot.vmp.gb28181.service.IGbChannelService; import com.genersoft.iot.vmp.gb28181.service.IGroupService; import com.genersoft.iot.vmp.utils.DateUtil; import com.genersoft.iot.vmp.vmanager.bean.ErrorCode; +import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -47,6 +48,13 @@ public class GroupServiceImpl implements IGroupService { GbCode gbCode = GbCode.decode(group.getDeviceId()); Assert.notNull(gbCode, "设备编号不满足国标定义"); + + // 查询数据库中已经存在的. + List groupListInDb = groupManager.queryInGroupListByDeviceId(Lists.newArrayList(group)); + if (!ObjectUtils.isEmpty(groupListInDb)){ + throw new ControllerException(ErrorCode.ERROR100.getCode(), String.format("该节点编号 %s 已存在", group.getDeviceId())); + } + if ("215".equals(gbCode.getTypeCode())){ // 添加业务分组 addBusinessGroup(group); @@ -100,6 +108,12 @@ public class GroupServiceImpl implements IGroupService { Group groupInDb = groupManager.queryOne(group.getId()); Assert.notNull(groupInDb, "分组不存在"); + // 查询数据库中已经存在的. + List groupListInDb = groupManager.queryInGroupListByDeviceId(Lists.newArrayList(group)); + if (!ObjectUtils.isEmpty(groupListInDb) && groupListInDb.get(0).getId() != group.getId()){ + throw new ControllerException(ErrorCode.ERROR100.getCode(), String.format("该该节点编号 %s 已存在", group.getDeviceId())); + } + group.setName(group.getName()); group.setUpdateTime(DateUtil.getNow()); groupManager.update(group);