From 983adf7cf2ee71f74b4205c5858378b5659be0b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Thu, 31 Jul 2025 17:56:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=81=9C=E6=AD=A2=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E5=81=9C=E6=AD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/command/control/PumpRotateStopCommand.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/iflytop/handacid/app/command/control/PumpRotateStopCommand.java b/src/main/java/com/iflytop/handacid/app/command/control/PumpRotateStopCommand.java index 336759d..7b36e3c 100644 --- a/src/main/java/com/iflytop/handacid/app/command/control/PumpRotateStopCommand.java +++ b/src/main/java/com/iflytop/handacid/app/command/control/PumpRotateStopCommand.java @@ -6,6 +6,7 @@ import com.iflytop.handacid.app.common.utils.CommandUtil; import com.iflytop.handacid.app.core.command.BaseCommandHandler; import com.iflytop.handacid.app.core.command.CommandFuture; import com.iflytop.handacid.app.core.command.DeviceCommand; +import com.iflytop.handacid.app.core.command.DeviceCommandGenerator; import com.iflytop.handacid.app.model.dto.CommandDTO; import com.iflytop.handacid.app.service.ChannelCtrlService; import com.iflytop.handacid.app.service.DeviceCommandService; @@ -13,6 +14,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.List; import java.util.concurrent.CompletableFuture; /** @@ -28,14 +31,14 @@ public class PumpRotateStopCommand extends BaseCommandHandler { @Override public CompletableFuture handle(CommandDTO commandDTO) { - ChannelCode channelCode = commandDTO.getEnumParam("channelCode", ChannelCode.class); - if (channelCode == null) { - throw new IllegalArgumentException("参数 channelCode 不能为空"); - } return runAsync(() -> { - DeviceCommand deviceCommand = channelCtrlService.getPumpStopCommandByChannel(channelCode); - CommandFuture commandFuture = deviceCommandService.sendCommand(deviceCommand); - CommandUtil.wait(commandFuture); + List commandFutureList = new ArrayList<>(); + for(ChannelCode channelCode : ChannelCode.values()) { + DeviceCommand deviceCommand = channelCtrlService.getPumpStopCommandByChannel(channelCode); + CommandFuture commandFuture = deviceCommandService.sendCommand(deviceCommand); + commandFutureList.add(commandFuture); + } + CommandUtil.wait(commandFutureList); }); } }