package com.iflytop.gd.app.cmd; import com.iflytop.gd.app.core.BaseCommandHandler; import com.iflytop.gd.app.model.dto.CmdDTO; import com.iflytop.gd.app.service.DeviceCommandUtilService; import com.iflytop.gd.app.service.DeviceStateService; import com.iflytop.gd.common.annotation.CommandMapping; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.concurrent.CompletableFuture; /** * 摇匀回原点 */ @Slf4j @Component @RequiredArgsConstructor @CommandMapping("shake_origin")//业务指令注解 public class ShakeOriginCommand extends BaseCommandHandler { private final DeviceCommandUtilService deviceCommandUtilService; private final DeviceStateService deviceStateService; @Override public CompletableFuture handle(CmdDTO cmdDTO) { return runAsync(() -> { deviceCommandUtilService.shakeOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand());//摇匀回原点 deviceStateService.setSolutionModuleStateShaking(true); }); } }