diff --git a/src/main/java/com/xydl/cac/controller/IecServerController.java b/src/main/java/com/xydl/cac/controller/IecServerController.java index b4ecb6d..f078b64 100644 --- a/src/main/java/com/xydl/cac/controller/IecServerController.java +++ b/src/main/java/com/xydl/cac/controller/IecServerController.java @@ -1,5 +1,6 @@ package com.xydl.cac.controller; +import com.xydl.cac.exception.BusinessException; import com.xydl.cac.iec.IecServerService; import com.xydl.cac.iec.RealTimeDataService; import com.xydl.cac.model.Response; @@ -30,16 +31,26 @@ public class IecServerController extends BasicController { @PostMapping("start") @ApiOperation("启动IEC服务端") public Response start(@Validated @NotNull(message = "fileId不能为空!") Integer fileId) throws Exception { + if (RealTimeDataService.inDoing) { + throw new BusinessException("请稍后再操作"); + } + RealTimeDataService.inDoing = true; iecServerService.startServer(fileId); realTimeDataService.start(); + RealTimeDataService.inDoing = false; return Response.success("OK"); } @PostMapping("stop") @ApiOperation("停止IEC服务端") public Response stop() throws Exception { + 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/RealTimeDataService.java b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java index 2fbf75a..e679e38 100644 --- a/src/main/java/com/xydl/cac/iec/RealTimeDataService.java +++ b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java @@ -25,6 +25,7 @@ public class RealTimeDataService { public static HashMap dataMap = new HashMap<>(); public static IecServer iecServer = null; + public static boolean inDoing = false; HashMap clientMap = new HashMap<>(); public void start() {