Browse Source

fix:调试指令开门关门位置从数据库中获取

master
白凤吉 3 months ago
parent
commit
b45e981a8f
  1. 7
      src/main/java/com/iflytop/gd/app/cmd/debug/DoorCloseCommandHandler.java
  2. 7
      src/main/java/com/iflytop/gd/app/cmd/debug/DoorOpenCommandHandler.java
  3. 2
      src/main/java/com/iflytop/gd/app/service/DevicePositionService.java
  4. 12
      src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java

7
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<Void> 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);
});

7
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<Void> 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);
});

2
src/main/java/com/iflytop/gd/app/service/DevicePositionService.java

@ -46,7 +46,7 @@ public class DevicePositionService extends ServiceImpl<DevicePositionMapper, Dev
/**
* 根据位置类型获取位置
*/
public DevicePosition getPoint(DevicePositionCode code) {
public DevicePosition getPosition(DevicePositionCode code) {
return this.getOne(new LambdaQueryWrapper<>(DevicePosition.class).eq(DevicePosition::getCode, code));
}

12
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;

Loading…
Cancel
Save