diff --git a/src/main/java/com/qyft/ms/app/controller/SysMonitorController.java b/src/main/java/com/qyft/ms/app/controller/SysMonitorController.java new file mode 100644 index 0000000..7610e7d --- /dev/null +++ b/src/main/java/com/qyft/ms/app/controller/SysMonitorController.java @@ -0,0 +1,17 @@ +package com.qyft.ms.app.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Tag(name = "系统监控A") +@RestController +@RequestMapping("/api/sys/monitor") +@RequiredArgsConstructor +@Slf4j +public class SysMonitorController { + + +} diff --git a/src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java b/src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java index ad00128..58712c1 100644 --- a/src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java +++ b/src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java @@ -65,7 +65,7 @@ public class SprayTaskExecutor { public synchronized void startTask() { SprayTask sprayTask = SprayTask.getInstance(); if (taskThread != null && taskThread.isAlive()) { - webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.ERROR, "设备正在喷涂,请先停止喷涂")); + webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.DEVICE_ERROR, "设备正在喷涂,请先停止喷涂")); return; } sprayTask.setSpraying(true); diff --git a/src/main/java/com/qyft/ms/app/front/cmd/DemoCommand.java b/src/main/java/com/qyft/ms/app/front/cmd/DemoCommand.java index cbb78b7..8478166 100644 --- a/src/main/java/com/qyft/ms/app/front/cmd/DemoCommand.java +++ b/src/main/java/com/qyft/ms/app/front/cmd/DemoCommand.java @@ -47,7 +47,7 @@ public class DemoCommand extends BaseCommandHandler { JSONObject responseResultJson = motorXyzPositionGetCommandFuture.getResponseResult(); - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "参数XXX必填")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "参数XXX必填")); }); } diff --git a/src/main/java/com/qyft/ms/app/front/cmd/business/DehumidifierStart.java b/src/main/java/com/qyft/ms/app/front/cmd/business/DehumidifierStart.java index b567c53..a0b9bbe 100644 --- a/src/main/java/com/qyft/ms/app/front/cmd/business/DehumidifierStart.java +++ b/src/main/java/com/qyft/ms/app/front/cmd/business/DehumidifierStart.java @@ -39,7 +39,7 @@ public class DehumidifierStart extends BaseCommandHandler { Double humidity = form.getDoubleParam("humidity"); // 参数校验:humidity 必填 if (humidity == null) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "参数 humidity 必填")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "参数 humidity 必填")); throw new RuntimeException("参数 humidity 必填"); } return runAsync(() -> { @@ -53,7 +53,7 @@ public class DehumidifierStart extends BaseCommandHandler { // 判断是否需要除湿:若前端设定湿度大于当前湿度,则无需开启除湿阀 if (humidity > deviceHumidity) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "设定湿度大于当前湿度,无需除湿")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "设定湿度大于当前湿度,无需除湿")); throw new RuntimeException("设定湿度大于当前湿度,无需除湿"); } diff --git a/src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayChangeParam.java b/src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayChangeParam.java index 15c5d5f..dc87402 100644 --- a/src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayChangeParam.java +++ b/src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayChangeParam.java @@ -44,7 +44,7 @@ public class MatrixSprayChangeParam extends BaseCommandHandler { Double movingSpeed = form.getDoubleParam("movingSpeed"); if (highVoltageValue > 6000) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "电压不能大于6000V")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "电压不能大于6000V")); throw new RuntimeException("电压不能大于6000V"); } diff --git a/src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayStart.java b/src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayStart.java index 0b43a20..3f6f79c 100644 --- a/src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayStart.java +++ b/src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayStart.java @@ -79,7 +79,7 @@ public class MatrixSprayStart extends BaseCommandHandler { for (Map.Entry entry : paramMap.entrySet()) { if (entry.getValue() == null) { String errorMsg = "参数 " + entry.getKey() + " 必填"; - webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.ERROR, errorMsg)); + webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.DEVICE_ERROR, errorMsg)); throw new RuntimeException(errorMsg); } } @@ -115,7 +115,7 @@ public class MatrixSprayStart extends BaseCommandHandler { public CompletableFuture handle(FrontCmdControlForm form) { SprayTask sprayTask = SprayTask.getInstance(); if (sprayTask.isSpraying()) {//判断设备是否正在喷涂 - webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "设备正在喷涂,请先停止喷涂")); + webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "设备正在喷涂,请先停止喷涂")); throw new RuntimeException("设备正在喷涂,请先停止喷涂"); } sprayTask.setCmdId(form.getCmdId()); @@ -136,11 +136,11 @@ public class MatrixSprayStart extends BaseCommandHandler { nonNullCheck(matrixPathType, form.getCmdId(), form.getCmdCode(), motorZHeight, gasPressure, volume, highVoltage, spacing, movingSpeed, times, positionList); if (highVoltageValue > 6000) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "电压不能大于6000V")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "电压不能大于6000V")); throw new RuntimeException("电压不能大于6000V"); } if (positionList.isEmpty()) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "喷涂区域不能为空")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "喷涂区域不能为空")); throw new RuntimeException("喷涂区域不能为空"); } // 3. 设定喷涂参数 diff --git a/src/main/java/com/qyft/ms/app/front/cmd/business/NozzlePipelinePreFill.java b/src/main/java/com/qyft/ms/app/front/cmd/business/NozzlePipelinePreFill.java index 2fa9481..53f511f 100644 --- a/src/main/java/com/qyft/ms/app/front/cmd/business/NozzlePipelinePreFill.java +++ b/src/main/java/com/qyft/ms/app/front/cmd/business/NozzlePipelinePreFill.java @@ -45,11 +45,11 @@ public class NozzlePipelinePreFill extends BaseCommandHandler { } Double speed = form.getDoubleParam("speed"); if (speed == null) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "参数 speed 必填")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "参数 speed 必填")); throw new RuntimeException("参数 speed 必填"); } if (speed > 100) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "预充速度不能大于100")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "预充速度不能大于100")); throw new RuntimeException("预充速度不能大于100"); } deviceStatus.setPrefilling(true); @@ -61,7 +61,7 @@ public class NozzlePipelinePreFill extends BaseCommandHandler { JSONObject motorXyzPositionGetCommandDeviceResult = motorXyzPositionGetCommandFuture.getResponseResult(); Double zAxisPosition = motorXyzPositionGetCommandDeviceResult.getJSONObject("data").getDouble("zAxisPosition"); if (zAxisPosition == null) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "获得电机XYZ相对原点坐标失败")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "获得电机XYZ相对原点坐标失败")); throw new RuntimeException("获得电机XYZ相对原点坐标失败"); } SysSettings safeZHeightSysSettings = sysSettingsService.getOne(new LambdaQueryWrapper().eq(SysSettings::getCode, "safe_z_height")); diff --git a/src/main/java/com/qyft/ms/app/front/cmd/business/NozzlePipelineWash.java b/src/main/java/com/qyft/ms/app/front/cmd/business/NozzlePipelineWash.java index 3087ce2..07e9b1d 100644 --- a/src/main/java/com/qyft/ms/app/front/cmd/business/NozzlePipelineWash.java +++ b/src/main/java/com/qyft/ms/app/front/cmd/business/NozzlePipelineWash.java @@ -53,7 +53,7 @@ public class NozzlePipelineWash extends BaseCommandHandler { JSONObject motorXyzPositionGetCommandDeviceResult = motorXyzPositionGetCommandFuture.getResponseResult(); Double zAxisPosition = motorXyzPositionGetCommandDeviceResult.getJSONObject("data").getDouble("zAxisPosition"); if (zAxisPosition == null) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "获得电机XYZ相对原点坐标失败", motorXyzPositionGetCommandDeviceResult)); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "获得电机XYZ相对原点坐标失败", motorXyzPositionGetCommandDeviceResult)); throw new RuntimeException("获得电机XYZ相对原点坐标失败"); } SysSettings safeZHeightSysSettings = sysSettingsService.getOne(new LambdaQueryWrapper().eq(SysSettings::getCode, "safe_z_height")); diff --git a/src/main/java/com/qyft/ms/app/front/cmd/business/SyringePipelineWash.java b/src/main/java/com/qyft/ms/app/front/cmd/business/SyringePipelineWash.java index 7f1d8f1..7bd0eff 100644 --- a/src/main/java/com/qyft/ms/app/front/cmd/business/SyringePipelineWash.java +++ b/src/main/java/com/qyft/ms/app/front/cmd/business/SyringePipelineWash.java @@ -45,11 +45,11 @@ public class SyringePipelineWash extends BaseCommandHandler { } Double speed = form.getDoubleParam("speed"); if (speed == null) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "参数 speed 必填")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "参数 speed 必填")); throw new RuntimeException("参数 speed 必填"); } if (speed > 100) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "清洗速度不能大于100")); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "清洗速度不能大于100")); throw new RuntimeException("预充速度不能大于100"); } deviceStatus.setCleaningSyringePipeline(true); @@ -62,7 +62,7 @@ public class SyringePipelineWash extends BaseCommandHandler { JSONObject motorXyzPositionGetCommandDeviceResult = motorXyzPositionGetCommandFuture.getResponseResult(); Double zAxisPosition = motorXyzPositionGetCommandDeviceResult.getJSONObject("data").getDouble("zAxisPosition"); if (zAxisPosition == null) { - webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "获得电机XYZ相对原点坐标失败", motorXyzPositionGetCommandDeviceResult)); + webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.DEVICE_ERROR, "获得电机XYZ相对原点坐标失败", motorXyzPositionGetCommandDeviceResult)); throw new RuntimeException("获得电机XYZ相对原点坐标失败"); } SysSettings safeZHeightSysSettings = sysSettingsService.getOne(new LambdaQueryWrapper().eq(SysSettings::getCode, "safe_z_height")); diff --git a/src/main/java/com/qyft/ms/system/common/constant/CommandStatus.java b/src/main/java/com/qyft/ms/system/common/constant/CommandStatus.java index bb6ac80..4dfe81a 100644 --- a/src/main/java/com/qyft/ms/system/common/constant/CommandStatus.java +++ b/src/main/java/com/qyft/ms/system/common/constant/CommandStatus.java @@ -4,37 +4,44 @@ public class CommandStatus { /** * 普通消息反馈 */ - public static final String SEND = "SEND"; + public static final String SEND = "send"; + /** - * 收到业务指令反馈 + * 业务指令 收到指令 */ public static final String RECEIVE = "receive"; /** - * 开始执行业务指令反馈 + * 业务指令 开始执行业务指令 */ public static final String START = "start"; /** - * 收到设备结果反馈 - */ - public static final String RESULT = "result"; - /** - * 指令执行错误反馈 - */ - public static final String ERROR = "error"; - /** - * 指令执行成功 + * 业务指令 执行成功 */ public static final String SUCCESS = "success"; /** - * 指令执行失败 + * 业务指令 执行失败 */ public static final String FAIL = "fail"; /** - * 指令执行失败 + * 业务指令 喷涂完毕 */ public static final String SPRAY_TASK_FINISH = "spray_task_finish"; /** - * 业务指令处理完毕反馈 + * 业务指令 指令处理完毕反馈 */ public static final String FINISH = "finish"; + + + /** + * 设备指令 发送设备指令 + */ + public static final String DEVICE_SEND = "device_send"; + /** + * 设备指令 收到设备指令反馈 + */ + public static final String DEVICE_RESULT = "device_result"; + /** + * 设备指令 收到设备指令反馈 错误 + */ + public static final String DEVICE_ERROR = "device_error"; } diff --git a/src/main/java/com/qyft/ms/system/controller/FrontCmdController.java b/src/main/java/com/qyft/ms/system/controller/FrontCmdController.java index 27dddb8..6d848e2 100644 --- a/src/main/java/com/qyft/ms/system/controller/FrontCmdController.java +++ b/src/main/java/com/qyft/ms/system/controller/FrontCmdController.java @@ -45,7 +45,7 @@ public class FrontCmdController { webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.RECEIVE, "已收到业务指令请求,开始处理")); CommandHandler commandHandler = registry.getHandler(cmdCode); if (commandHandler == null) { - webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.ERROR, "未找到对应的业务指令")); + webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.DEVICE_ERROR, "未找到对应的业务指令")); log.error("未找到对应的业务指令"); return Result.failed(); } diff --git a/src/main/java/com/qyft/ms/system/controller/FrontCmdDebugController.java b/src/main/java/com/qyft/ms/system/controller/FrontCmdDebugController.java index 9a1a552..7b582a3 100644 --- a/src/main/java/com/qyft/ms/system/controller/FrontCmdDebugController.java +++ b/src/main/java/com/qyft/ms/system/controller/FrontCmdDebugController.java @@ -37,7 +37,7 @@ public class FrontCmdDebugController { webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.RECEIVE, "已收到调试指令请求,开始处理")); CommandHandler commandHandler = registry.getHandler(cmdCode); if (commandHandler == null) { - webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.ERROR, "未找到对应的调试指令")); + webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.DEVICE_ERROR, "未找到对应的调试指令")); log.error("未找到对应的调试指令"); return Result.failed(); } diff --git a/src/main/java/com/qyft/ms/system/service/device/DeviceCommandService.java b/src/main/java/com/qyft/ms/system/service/device/DeviceCommandService.java index 9b51ad4..59b9ae9 100644 --- a/src/main/java/com/qyft/ms/system/service/device/DeviceCommandService.java +++ b/src/main/java/com/qyft/ms/system/service/device/DeviceCommandService.java @@ -60,8 +60,8 @@ public class DeviceCommandService { // }); commandFuture.getResponseFuture().thenApply(result -> { - Boolean status = result.getBool("status"); - if (!status) { //response失败 + Boolean success = result.getBool("success"); + if (!success) { //response失败 String message = deviceCommand.getCmdName() + "指令,设备response错误"; throw new RuntimeException(message); } @@ -84,7 +84,7 @@ public class DeviceCommandService { // webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.RESULT, deviceCommand.getCmdName() + "指令,设备ack正常", result)); // return result; // }); - + webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.DEVICE_SEND, deviceCommand.getCmdName() + "指令,已发给设备", deviceCommand)); commandFuture.getResponseFuture().thenApply(result -> { Boolean success = result.getBool("success"); if (success == null || !success) { //response失败 @@ -92,7 +92,7 @@ public class DeviceCommandService { webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.SEND, message, result)); throw new RuntimeException(message); } - webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.RESULT, deviceCommand.getCmdName() + "指令,设备response正常,耗时:" + (commandFuture.getEndSendTime() - commandFuture.getStartSendTime()), result)); + webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.DEVICE_RESULT, deviceCommand.getCmdName() + "指令,设备response正常,耗时:" + (commandFuture.getEndSendTime() - commandFuture.getStartSendTime()), result)); return result.get("data"); });