From b45e981a8f8deb1ca9502627456780b630eb65b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Thu, 8 May 2025 15:37:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=B0=83=E8=AF=95=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=E5=BC=80=E9=97=A8=E5=85=B3=E9=97=A8=E4=BD=8D=E7=BD=AE=E4=BB=8E?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E4=B8=AD=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iflytop/gd/app/cmd/debug/DoorCloseCommandHandler.java | 7 ++++++- .../com/iflytop/gd/app/cmd/debug/DoorOpenCommandHandler.java | 7 ++++++- .../com/iflytop/gd/app/service/DevicePositionService.java | 2 +- .../com/iflytop/gd/common/enums/data/DevicePositionCode.java | 12 +++++++++++- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/iflytop/gd/app/cmd/debug/DoorCloseCommandHandler.java b/src/main/java/com/iflytop/gd/app/cmd/debug/DoorCloseCommandHandler.java index c2fbe61..789762d 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/debug/DoorCloseCommandHandler.java +++ b/src/main/java/com/iflytop/gd/app/cmd/debug/DoorCloseCommandHandler.java @@ -2,11 +2,14 @@ package com.iflytop.gd.app.cmd.debug; import com.iflytop.gd.app.core.BaseCommandHandler; import com.iflytop.gd.app.model.dto.CmdDTO; +import com.iflytop.gd.app.model.entity.DevicePosition; import com.iflytop.gd.app.service.DeviceCommandService; +import com.iflytop.gd.app.service.DevicePositionService; import com.iflytop.gd.common.annotation.CommandMapping; import com.iflytop.gd.common.cmd.CommandFuture; import com.iflytop.gd.common.cmd.DeviceCommandBundle; import com.iflytop.gd.common.cmd.DeviceCommandGenerator; +import com.iflytop.gd.common.enums.data.DevicePositionCode; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -22,11 +25,13 @@ import java.util.concurrent.CompletableFuture; @CommandMapping("debug_door_close") public class DoorCloseCommandHandler extends BaseCommandHandler { private final DeviceCommandService deviceCommandService; + private final DevicePositionService devicePositionService; @Override public CompletableFuture handle(CmdDTO cmdDTO) { return runAsync(() -> { - DeviceCommandBundle deviceCommand = DeviceCommandGenerator.doorMove(0.0); + DevicePosition devicePosition = devicePositionService.getPosition(DevicePositionCode.doorClose); + DeviceCommandBundle deviceCommand = DeviceCommandGenerator.doorMove(devicePosition.getDistance()); CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); commandWait(deviceCommandFuture); }); diff --git a/src/main/java/com/iflytop/gd/app/cmd/debug/DoorOpenCommandHandler.java b/src/main/java/com/iflytop/gd/app/cmd/debug/DoorOpenCommandHandler.java index e5717ab..7320d3e 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/debug/DoorOpenCommandHandler.java +++ b/src/main/java/com/iflytop/gd/app/cmd/debug/DoorOpenCommandHandler.java @@ -2,11 +2,14 @@ package com.iflytop.gd.app.cmd.debug; import com.iflytop.gd.app.core.BaseCommandHandler; import com.iflytop.gd.app.model.dto.CmdDTO; +import com.iflytop.gd.app.model.entity.DevicePosition; import com.iflytop.gd.app.service.DeviceCommandService; +import com.iflytop.gd.app.service.DevicePositionService; import com.iflytop.gd.common.annotation.CommandMapping; import com.iflytop.gd.common.cmd.CommandFuture; import com.iflytop.gd.common.cmd.DeviceCommandBundle; import com.iflytop.gd.common.cmd.DeviceCommandGenerator; +import com.iflytop.gd.common.enums.data.DevicePositionCode; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -22,11 +25,13 @@ import java.util.concurrent.CompletableFuture; @CommandMapping("debug_door_open") public class DoorOpenCommandHandler extends BaseCommandHandler { private final DeviceCommandService deviceCommandService; + private final DevicePositionService devicePositionService; @Override public CompletableFuture handle(CmdDTO cmdDTO) { return runAsync(() -> { - DeviceCommandBundle deviceCommand = DeviceCommandGenerator.doorMove(100.0); + DevicePosition devicePosition = devicePositionService.getPosition(DevicePositionCode.doorOpen); + DeviceCommandBundle deviceCommand = DeviceCommandGenerator.doorMove(devicePosition.getDistance()); CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); commandWait(deviceCommandFuture); }); diff --git a/src/main/java/com/iflytop/gd/app/service/DevicePositionService.java b/src/main/java/com/iflytop/gd/app/service/DevicePositionService.java index 8368bc9..a26bf60 100644 --- a/src/main/java/com/iflytop/gd/app/service/DevicePositionService.java +++ b/src/main/java/com/iflytop/gd/app/service/DevicePositionService.java @@ -46,7 +46,7 @@ public class DevicePositionService extends ServiceImpl(DevicePosition.class).eq(DevicePosition::getCode, code)); } diff --git a/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java b/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java index a819252..c560ee9 100644 --- a/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java +++ b/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java @@ -100,7 +100,17 @@ public enum DevicePositionCode { /** * 试管相对原点位置 */ - testTubeRelativeToOrigin(DevicePositionType.POINT_3D, "试管相对原点位置"); + testTubeRelativeToOrigin(DevicePositionType.POINT_3D, "试管相对原点位置"), + + /** + * 开门位置 + */ + doorOpen(DevicePositionType.DISTANCE, "开门位置"), + + /** + * 关门位置 + */ + doorClose(DevicePositionType.DISTANCE, "关门位置"); private final DevicePositionType type; private final String name;