From 6400395b93f95014b060385096d4ebcc13313638 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Sat, 12 Oct 2024 11:22:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xydl/cac/controller/IcdConfigController.java | 3 +++ .../java/com/xydl/cac/controller/IecServerController.java | 4 ---- src/main/java/com/xydl/cac/iec/IecServer.java | 1 + src/main/java/com/xydl/cac/iec/IecServerService.java | 2 ++ src/main/java/com/xydl/cac/iec/RealTimeDataService.java | 2 ++ .../com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java | 3 --- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/xydl/cac/controller/IcdConfigController.java b/src/main/java/com/xydl/cac/controller/IcdConfigController.java index b2a0fb7..30da347 100644 --- a/src/main/java/com/xydl/cac/controller/IcdConfigController.java +++ b/src/main/java/com/xydl/cac/controller/IcdConfigController.java @@ -49,6 +49,9 @@ public class IcdConfigController extends BasicController { @ApiOperation("查询icd文件列表") public Response> listFile() throws Exception { List result = configService.listFile(); + for (IcdFile file : result) { + file.setXml(null); + } return Response.success(result); } diff --git a/src/main/java/com/xydl/cac/controller/IecServerController.java b/src/main/java/com/xydl/cac/controller/IecServerController.java index f078b64..20f9eef 100644 --- a/src/main/java/com/xydl/cac/controller/IecServerController.java +++ b/src/main/java/com/xydl/cac/controller/IecServerController.java @@ -34,10 +34,8 @@ public class IecServerController extends BasicController { if (RealTimeDataService.inDoing) { throw new BusinessException("请稍后再操作"); } - RealTimeDataService.inDoing = true; iecServerService.startServer(fileId); realTimeDataService.start(); - RealTimeDataService.inDoing = false; return Response.success("OK"); } @@ -47,10 +45,8 @@ public class IecServerController extends BasicController { if (RealTimeDataService.inDoing) { throw new BusinessException("请稍后再操作"); } - RealTimeDataService.inDoing = true; realTimeDataService.stop(); iecServerService.stop(); - RealTimeDataService.inDoing = false; return Response.success("OK"); } diff --git a/src/main/java/com/xydl/cac/iec/IecServer.java b/src/main/java/com/xydl/cac/iec/IecServer.java index d663977..60cb232 100644 --- a/src/main/java/com/xydl/cac/iec/IecServer.java +++ b/src/main/java/com/xydl/cac/iec/IecServer.java @@ -15,6 +15,7 @@ public class IecServer implements ServerEventListener { ServerModel serversServerModel = null; public boolean started = false; public String filename = null; + public Integer fileId = null; public void start(String xml, int port) throws Exception { if (!started) { diff --git a/src/main/java/com/xydl/cac/iec/IecServerService.java b/src/main/java/com/xydl/cac/iec/IecServerService.java index 7ec5347..86200e4 100644 --- a/src/main/java/com/xydl/cac/iec/IecServerService.java +++ b/src/main/java/com/xydl/cac/iec/IecServerService.java @@ -26,6 +26,7 @@ public class IecServerService { try { iecServer.start(icdFile.getXml(), 102); iecServer.filename = icdFile.getFilename(); + iecServer.fileId = icdFile.getId(); RealTimeDataService.iecServer = iecServer; } catch (Exception e) { log.error("启动IEC61850服务端异常.", e); @@ -46,6 +47,7 @@ public class IecServerService { map.put("port", 102); map.put("started", iecServer.started); map.put("filename", iecServer.filename); + map.put("fileId", iecServer.fileId); return map; } } diff --git a/src/main/java/com/xydl/cac/iec/RealTimeDataService.java b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java index e679e38..e355a15 100644 --- a/src/main/java/com/xydl/cac/iec/RealTimeDataService.java +++ b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java @@ -29,6 +29,7 @@ public class RealTimeDataService { HashMap clientMap = new HashMap<>(); public void start() { + inDoing = true; List icdFileList = fileRepository.findAll(); if (CollectionUtils.isEmpty(icdFileList)) { return; @@ -49,6 +50,7 @@ public class RealTimeDataService { } } } + inDoing = false; } @PreDestroy diff --git a/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java index daee9e4..49d0ac2 100644 --- a/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java @@ -87,9 +87,6 @@ public class IcdFileConfigServiceImpl implements IcdFileConfigService { @Override public List listFile() { List files = fileRepository.findAll(); - for (IcdFile file : files) { - file.setXml(null); - } return files; }