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;