diff --git a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugBeeOpenCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugBeeOpenCommand.java index 7546441..13dfd93 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugBeeOpenCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugBeeOpenCommand.java @@ -1,5 +1,6 @@ package com.iflytop.sgs.app.cmd.debug; +import cn.hutool.core.lang.Assert; import com.iflytop.sgs.app.core.BaseCommandHandler; import com.iflytop.sgs.app.model.dto.CmdDTO; import com.iflytop.sgs.app.service.device.DeviceCommandService; @@ -7,6 +8,8 @@ import com.iflytop.sgs.common.annotation.CommandDebugMapping; import com.iflytop.sgs.common.cmd.CommandFuture; import com.iflytop.sgs.common.cmd.DeviceCommandBundle; import com.iflytop.sgs.common.cmd.DeviceCommandGenerator; +import com.iflytop.sgs.common.exception.AppException; +import com.iflytop.sgs.common.result.ResultCode; import com.iflytop.sgs.common.utils.CommandUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -27,6 +30,7 @@ public class DebugBeeOpenCommand extends BaseCommandHandler { @Override public CompletableFuture handle(CmdDTO cmdDTO) { String mode = cmdDTO.getStringParam("mode"); + Assert.notNull(mode, ()->new AppException(ResultCode.INVALID_PARAMETER)); return runAsync(() -> { DeviceCommandBundle beeOpenDeviceCommand = DeviceCommandGenerator.beepOpen(mode); CommandFuture doorMoveDeviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), beeOpenDeviceCommand); diff --git a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugDoorOpenCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugDoorOpenCommand.java index 170e62d..e596b64 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugDoorOpenCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugDoorOpenCommand.java @@ -38,8 +38,8 @@ public class DebugDoorOpenCommand extends BaseCommandHandler { CommandFuture doorSetDeviceCommandSetFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), doorSetDeviceCommandBundle); CommandUtil.wait(doorSetDeviceCommandSetFuture); } - - CommandFuture deviceCommandOpenFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), DeviceCommandGenerator.doorMove(devicePosition.getDistance())); + DeviceCommandBundle doorMoveDeviceCommand =DeviceCommandGenerator.doorMove(devicePosition.getDistance()); + CommandFuture deviceCommandOpenFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), doorMoveDeviceCommand); CommandUtil.wait(deviceCommandOpenFuture); }); } diff --git a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugHeaterStartCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugHeaterStartCommand.java index 4790c6d..5c3b61f 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugHeaterStartCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugHeaterStartCommand.java @@ -1,5 +1,6 @@ package com.iflytop.sgs.app.cmd.debug; +import cn.hutool.core.lang.Assert; import com.iflytop.sgs.app.core.BaseCommandHandler; import com.iflytop.sgs.app.model.dto.CmdDTO; import com.iflytop.sgs.app.service.device.DeviceCommandService; @@ -8,6 +9,8 @@ import com.iflytop.sgs.common.cmd.CommandFuture; import com.iflytop.sgs.common.cmd.DeviceCommandBundle; import com.iflytop.sgs.common.cmd.DeviceCommandGenerator; import com.iflytop.sgs.common.enums.HeatModuleCode; +import com.iflytop.sgs.common.exception.AppException; +import com.iflytop.sgs.common.result.ResultCode; import com.iflytop.sgs.common.utils.CommandUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -30,6 +33,8 @@ public class DebugHeaterStartCommand extends BaseCommandHandler { String heatModuleCodeStr = cmdDTO.getStringParam("heatModuleCode"); Double temperature = cmdDTO.getDoubleParam("temperature"); HeatModuleCode heatModuleCode = HeatModuleCode.valueOf(heatModuleCodeStr); + Assert.notNull(temperature,()->new AppException(ResultCode.INVALID_PARAMETER)); + Assert.checkBetween(temperature,0,200,()->new AppException(ResultCode.INVALID_PARAMETER)); return runAsync(() -> { DeviceCommandBundle deviceCommand=switch (heatModuleCode) { case heat_module_01 -> DeviceCommandGenerator.heatRod1Open(temperature); diff --git a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpAddCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpAddCommand.java index f579562..6c0d011 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpAddCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpAddCommand.java @@ -36,12 +36,14 @@ public class DebugLiquidPumpAddCommand extends BaseCommandHandler { Double speed = cmdDTO.getDoubleParam("speed"); return runAsync(() -> { - DeviceCommandBundle deviceCommand; if (speed != null) { - deviceCommand = DeviceCommandGenerator.liquidPumpMoveBy(position); + DeviceCommandBundle deviceCommand = DeviceCommandGenerator.liquidPumpSet(speed); CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); CommandUtil.wait(deviceCommandFuture); } + DeviceCommandBundle deviceCommand = DeviceCommandGenerator.liquidPumpMoveBy(position); + CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); + CommandUtil.wait(deviceCommandFuture); }); } } diff --git a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpReduceCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpReduceCommand.java index 776cdd7..a46ac45 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpReduceCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpReduceCommand.java @@ -34,15 +34,15 @@ public class DebugLiquidPumpReduceCommand extends BaseCommandHandler { double scale = Double.parseDouble(systemConfigService.getSystemConfigValueByCode(SystemConfigCode.scale_water)); double position = volume * scale; Double speed = cmdDTO.getDoubleParam("speed"); - return runAsync(() -> { - CmdDirection cmdDirection = CmdDirection.forward; - DeviceCommandBundle deviceCommand; if (speed != null) { - deviceCommand = DeviceCommandGenerator.liquidPumpMoveBy(-position); - CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); + DeviceCommandBundle liquidPumpSetCommand = DeviceCommandGenerator.liquidPumpSet(speed); + CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), liquidPumpSetCommand); CommandUtil.wait(deviceCommandFuture); } + DeviceCommandBundle liquidPumpMoveByCommand = DeviceCommandGenerator.liquidPumpMoveBy(-position); + CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), liquidPumpMoveByCommand); + CommandUtil.wait(deviceCommandFuture); }); } } diff --git a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpStartCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpStartCommand.java index ed3088b..81026f8 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpStartCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugLiquidPumpStartCommand.java @@ -1,5 +1,6 @@ package com.iflytop.sgs.app.cmd.debug; +import cn.hutool.core.lang.Assert; import com.iflytop.sgs.app.core.BaseCommandHandler; import com.iflytop.sgs.app.model.dto.CmdDTO; import com.iflytop.sgs.app.service.device.DeviceCommandService; @@ -8,6 +9,8 @@ import com.iflytop.sgs.common.cmd.CommandFuture; import com.iflytop.sgs.common.cmd.DeviceCommandBundle; import com.iflytop.sgs.common.cmd.DeviceCommandGenerator; import com.iflytop.sgs.common.enums.cmd.CmdDirection; +import com.iflytop.sgs.common.exception.AppException; +import com.iflytop.sgs.common.result.ResultCode; import com.iflytop.sgs.common.utils.CommandUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -29,14 +32,17 @@ public class DebugLiquidPumpStartCommand extends BaseCommandHandler { public CompletableFuture handle(CmdDTO cmdDTO) { Double speed = cmdDTO.getDoubleParam("speed"); String direction = cmdDTO.getStringParam("direction");//front back 正转倒转 + Assert.notNull(direction, ()->new AppException(ResultCode.INVALID_PARAMETER)); CmdDirection cmdDirection = CmdDirection.valueOf(direction); return runAsync(() -> { - DeviceCommandBundle deviceCommand; if (speed != null) { - deviceCommand = DeviceCommandGenerator.liquidPumpStart(cmdDirection); - CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); + DeviceCommandBundle liquidPumpSetCommand = DeviceCommandGenerator.liquidPumpSet(speed); + CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), liquidPumpSetCommand); CommandUtil.wait(deviceCommandFuture); } + DeviceCommandBundle deviceCommand = DeviceCommandGenerator.liquidPumpStart(cmdDirection); + CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); + CommandUtil.wait(deviceCommandFuture); }); } } diff --git a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorXMoveToCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorXMoveToCommand.java index faa75bd..c26f3c0 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorXMoveToCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorXMoveToCommand.java @@ -1,5 +1,6 @@ package com.iflytop.sgs.app.cmd.debug; +import cn.hutool.core.lang.Assert; import com.iflytop.sgs.app.core.BaseCommandHandler; import com.iflytop.sgs.app.model.dto.CmdDTO; import com.iflytop.sgs.app.service.device.DeviceCommandService; @@ -7,6 +8,8 @@ import com.iflytop.sgs.common.annotation.CommandDebugMapping; import com.iflytop.sgs.common.cmd.CommandFuture; import com.iflytop.sgs.common.cmd.DeviceCommandBundle; import com.iflytop.sgs.common.cmd.DeviceCommandGenerator; +import com.iflytop.sgs.common.exception.AppException; +import com.iflytop.sgs.common.result.ResultCode; import com.iflytop.sgs.common.utils.CommandUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -27,6 +30,7 @@ public class DebugMotorXMoveToCommand extends BaseCommandHandler { @Override public CompletableFuture handle(CmdDTO cmdDTO) { Double position = cmdDTO.getDoubleParam("position"); + Assert.notNull(position, ()->new AppException(ResultCode.INVALID_PARAMETER)); return runAsync(() -> { DeviceCommandBundle deviceCommand = DeviceCommandGenerator.transferXMove(position); CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); diff --git a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorZMoveToCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorZMoveToCommand.java index b253022..bd46e77 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorZMoveToCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorZMoveToCommand.java @@ -1,5 +1,6 @@ package com.iflytop.sgs.app.cmd.debug; +import cn.hutool.core.lang.Assert; import com.iflytop.sgs.app.core.BaseCommandHandler; import com.iflytop.sgs.app.model.dto.CmdDTO; import com.iflytop.sgs.app.service.device.DeviceCommandService; @@ -7,6 +8,8 @@ import com.iflytop.sgs.common.annotation.CommandDebugMapping; import com.iflytop.sgs.common.cmd.CommandFuture; import com.iflytop.sgs.common.cmd.DeviceCommandBundle; import com.iflytop.sgs.common.cmd.DeviceCommandGenerator; +import com.iflytop.sgs.common.exception.AppException; +import com.iflytop.sgs.common.result.ResultCode; import com.iflytop.sgs.common.utils.CommandUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -28,6 +31,7 @@ public class DebugMotorZMoveToCommand extends BaseCommandHandler { @Override public CompletableFuture handle(CmdDTO cmdDTO) throws Exception { Double position = cmdDTO.getDoubleParam("position"); + Assert.notNull(position, ()->new AppException(ResultCode.INVALID_PARAMETER)); return runAsync(() -> { DeviceCommandBundle deviceCommand = DeviceCommandGenerator.transferZMove(position); CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); diff --git a/src/main/java/com/iflytop/sgs/common/cmd/DeviceCommandGenerator.java b/src/main/java/com/iflytop/sgs/common/cmd/DeviceCommandGenerator.java index 53c1154..ccd9266 100644 --- a/src/main/java/com/iflytop/sgs/common/cmd/DeviceCommandGenerator.java +++ b/src/main/java/com/iflytop/sgs/common/cmd/DeviceCommandGenerator.java @@ -344,8 +344,7 @@ public class DeviceCommandGenerator { * 加液泵 停止 */ public static DeviceCommandBundle liquidPumpStop() { - DeviceCommandParams params = new DeviceCommandParams(); - return controlCmd(CmdDevice.liquid_pump, CmdAction.stop, params, "加液泵 停止"); + return controlCmd(CmdDevice.liquid_pump, CmdAction.stop, null, "加液泵 停止"); } /** * 加液泵 失能