Browse Source

feat:未完成自检无法调用业务接口

tags/1.0
白凤吉 5 months ago
parent
commit
1b3330318d
  1. 6
      src/main/java/com/qyft/ms/app/front/cmd/DemoCommand.java
  2. 1
      src/main/java/com/qyft/ms/app/service/SelfTestService.java
  3. 7
      src/main/java/com/qyft/ms/system/controller/FrontCmdController.java

6
src/main/java/com/qyft/ms/app/front/cmd/DemoCommand.java

@ -2,11 +2,14 @@ package com.qyft.ms.app.front.cmd;
import cn.hutool.json.JSONObject;
import com.qyft.ms.system.common.annotation.CommandMapping;
import com.qyft.ms.system.common.constant.CommandStatus;
import com.qyft.ms.system.common.device.command.CommandFuture;
import com.qyft.ms.system.common.device.command.DeviceCommandGenerator;
import com.qyft.ms.system.common.device.command.FrontResponseGenerator;
import com.qyft.ms.system.core.handler.BaseCommandHandler;
import com.qyft.ms.system.model.bo.DeviceCommand;
import com.qyft.ms.system.model.form.FrontCmdControlForm;
import com.qyft.ms.system.service.WebSocketService;
import com.qyft.ms.system.service.device.DeviceCommandService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -22,6 +25,7 @@ import java.util.concurrent.CompletableFuture;
public class DemoCommand extends BaseCommandHandler {
private final DeviceCommandService deviceCommandService;
private final WebSocketService webSocketService;
@Override
public CompletableFuture<Void> handle(FrontCmdControlForm form) {
@ -42,6 +46,8 @@ public class DemoCommand extends BaseCommandHandler {
commandWait(motorXyzPositionGetCommandFuture);
JSONObject responseResultJson = motorXyzPositionGetCommandFuture.getResponseResult();
webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(form.getCmdId(), form.getCmdCode(), CommandStatus.ERROR, "参数XXX必填"));
});
}

1
src/main/java/com/qyft/ms/app/service/SelfTestService.java

@ -17,6 +17,7 @@ public class SelfTestService {
*/
public SelfTestVO startTest() {
SelfTestVO selfTestBO = new SelfTestVO();
deviceStatus.setSelfTestCompleted(true);
return selfTestBO;
}

7
src/main/java/com/qyft/ms/system/controller/FrontCmdController.java

@ -1,6 +1,7 @@
package com.qyft.ms.system.controller;
import cn.hutool.json.JSONUtil;
import com.qyft.ms.app.device.status.DeviceStatus;
import com.qyft.ms.system.common.constant.CommandStatus;
import com.qyft.ms.system.common.device.command.FrontResponseGenerator;
import com.qyft.ms.system.common.result.Result;
@ -27,6 +28,7 @@ import java.util.concurrent.CompletableFuture;
public class FrontCmdController {
private final CommandHandlerRegistry registry;
private final WebSocketService webSocketService;
private final DeviceStatus deviceStatus;
@Operation(summary = "前端统一调用一个接口")
@PostMapping
@ -34,6 +36,11 @@ public class FrontCmdController {
String cmdId = form.getCmdId();
String cmdCode = form.getCmdCode();
try {
if (!deviceStatus.isSelfTestCompleted()) {
log.error("未进行自检,无法执行业务指令");
return Result.failed("未进行自检,无法执行业务指令");
}
webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(cmdId, cmdCode, CommandStatus.RECEIVE, "已收到业务指令请求,开始处理"));
CommandHandler commandHandler = registry.getHandler(cmdCode);
if (commandHandler == null) {

Loading…
Cancel
Save