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