diff --git a/src/main/java/a8k/app/controler/api/v1/engineer/EngineerModeActionCtrlController.java b/src/main/java/a8k/app/controler/api/v1/engineer/EngineerModeActionCtrlController.java new file mode 100644 index 0000000..0502409 --- /dev/null +++ b/src/main/java/a8k/app/controler/api/v1/engineer/EngineerModeActionCtrlController.java @@ -0,0 +1,33 @@ +package a8k.app.controler.api.v1.engineer; + + +import a8k.app.engineer.service.qatest.EngineerModeActionCtrlService; +import a8k.app.engineer.service.qatest.ExperimentConsistencyTestingService; +import a8k.app.type.exception.AppException; +import a8k.app.type.ui.ApiRet; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +@Tag(name = "工程师模式动作控制器", description = "") +@Slf4j +@Controller +@RequestMapping(value = "/api/v1/engineer/experiment-consistency-testing/") +@ResponseBody +@RequiredArgsConstructor +public class EngineerModeActionCtrlController { + private final EngineerModeActionCtrlService engineerModeActionCtrlService; + + @Operation(summary = "停止") + @PostMapping("/stop") + public ApiRet startTest(Integer repeatTimes) throws AppException { + engineerModeActionCtrlService.stop(); + return ApiRet.success(); + } + +} diff --git a/src/main/java/a8k/app/engineer/service/executor/EngineerModeActionExecutor.java b/src/main/java/a8k/app/engineer/service/executor/EngineerModeActionExecutor.java index 02b1fc2..5fa356e 100644 --- a/src/main/java/a8k/app/engineer/service/executor/EngineerModeActionExecutor.java +++ b/src/main/java/a8k/app/engineer/service/executor/EngineerModeActionExecutor.java @@ -68,6 +68,7 @@ public class EngineerModeActionExecutor { } synchronized public void stop() { + log.info("Stopping action..."); stoppingFlag = true; while (!stateMgr.getState().equals(EngineerWorkState.IDLE)) { OS.hsleep(100); @@ -95,7 +96,7 @@ public class EngineerModeActionExecutor { public void docmd(String mark, A8kCmdRunnable runnable) throws AppException { docmd(mark, runnable, () -> { - OS.hsleep(1000); + sleep(1000); }); } diff --git a/src/main/java/a8k/app/engineer/service/qatest/EngineerModeActionCtrlService.java b/src/main/java/a8k/app/engineer/service/qatest/EngineerModeActionCtrlService.java new file mode 100644 index 0000000..96eee88 --- /dev/null +++ b/src/main/java/a8k/app/engineer/service/qatest/EngineerModeActionCtrlService.java @@ -0,0 +1,18 @@ +package a8k.app.engineer.service.qatest; + +import a8k.app.engineer.service.executor.EngineerModeActionExecutor; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +@RequiredArgsConstructor +public class EngineerModeActionCtrlService { + private final EngineerModeActionExecutor executor; + + public void stop() { + executor.stop(); + } + +}