修改日志采用日志框架打印

This commit is contained in:
孙小云 2025-12-16 15:51:07 +08:00
parent a0eccffb45
commit ef057bb526
62 changed files with 359 additions and 182 deletions

View File

@ -64,5 +64,12 @@
<version>3.14.0</version> <version>3.14.0</version>
</dependency> </dependency>
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -23,6 +23,7 @@ public class AirportMachineConfig {
@Bean(name = "airportStateMachineFactory") @Bean(name = "airportStateMachineFactory")
public StateMachineFactory<AirportState, AirportEvent> stateMachineFactory( public StateMachineFactory<AirportState, AirportEvent> stateMachineFactory(
PlatformStrategyFactory platformStrategyFactory) throws Exception { PlatformStrategyFactory platformStrategyFactory) throws Exception {
return new StateMachineFactory<AirportState, AirportEvent>() { return new StateMachineFactory<AirportState, AirportEvent>() {
@Override @Override
public StateMachine<AirportState, AirportEvent> getStateMachine() { public StateMachine<AirportState, AirportEvent> getStateMachine() {

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.listener; package com.tuoheng.machine.listener;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.platform.strategy.PlatformListener; import com.tuoheng.machine.platform.strategy.PlatformListener;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
@ -14,30 +16,30 @@ import org.springframework.statemachine.transition.Transition;
* 提供基础的状态变化监听功能各平台可以继承并定制 * 提供基础的状态变化监听功能各平台可以继承并定制
*/ */
@Slf4j
public abstract class DefaultAirportListener implements PlatformListener<AirportState, AirportEvent> { public abstract class DefaultAirportListener implements PlatformListener<AirportState, AirportEvent> {
@Override @Override
public void stateChanged(State<AirportState, AirportEvent> from, State<AirportState, AirportEvent> to) { public void stateChanged(State<AirportState, AirportEvent> from, State<AirportState, AirportEvent> to) {
if (from != null && to != null) { if (from != null && to != null) {
System.out.println(String.format("[%s] 状态变化: %s -> %s", log.debug("[{}] 状态变化: {} -> {}", getName(), from.getId(), to.getId());
getName(), from.getId(), to.getId()));
} }
} }
@Override @Override
public void stateEntered(State<AirportState, AirportEvent> state) { public void stateEntered(State<AirportState, AirportEvent> state) {
System.out.println(String.format("[%s] 进入状态: %s", getName(), state.getId())); log.debug("[{}] 进入状态: {}", getName(), state.getId());
} }
@Override @Override
public void stateExited(State<AirportState, AirportEvent> state) { public void stateExited(State<AirportState, AirportEvent> state) {
System.out.println(String.format("[%s] 退出状态: %s", getName(), state.getId())); log.debug("[{}] 退出状态: {}", getName(), state.getId());
} }
@Override @Override
public void eventNotAccepted(Message<AirportEvent> event) { public void eventNotAccepted(Message<AirportEvent> event) {
System.out.println(String.format("[%s] 事件未被接受: %s", getName(), event.getPayload())); log.warn("[{}] 事件未被接受: {}", getName(), event.getPayload());
} }
@Override @Override
@ -48,41 +50,41 @@ public abstract class DefaultAirportListener implements PlatformListener<Airport
@Override @Override
public void transitionStarted(Transition<AirportState, AirportEvent> transition) { public void transitionStarted(Transition<AirportState, AirportEvent> transition) {
if (transition.getSource() != null && transition.getTarget() != null) { if (transition.getSource() != null && transition.getTarget() != null) {
System.out.println(String.format("[%s] 转换开始: %s -> %s", log.debug("[{}] 转换开始: {} -> {}",
getName(), transition.getSource().getId(), transition.getTarget().getId())); getName(), transition.getSource().getId(), transition.getTarget().getId());
} }
} }
@Override @Override
public void transitionEnded(Transition<AirportState, AirportEvent> transition) { public void transitionEnded(Transition<AirportState, AirportEvent> transition) {
if (transition.getSource() != null && transition.getTarget() != null) { if (transition.getSource() != null && transition.getTarget() != null) {
System.out.println(String.format("[%s] 转换结束: %s -> %s", log.debug("[{}] 转换结束: {} -> {}",
getName(), transition.getSource().getId(), transition.getTarget().getId())); getName(), transition.getSource().getId(), transition.getTarget().getId());
} }
} }
@Override @Override
public void stateMachineStarted(StateMachine<AirportState, AirportEvent> stateMachine) { public void stateMachineStarted(StateMachine<AirportState, AirportEvent> stateMachine) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[%s] 状态机启动: %s", getName(), machineId)); log.info("[{}] 状态机启动: {}", getName(), machineId);
} }
@Override @Override
public void stateMachineStopped(StateMachine<AirportState, AirportEvent> stateMachine) { public void stateMachineStopped(StateMachine<AirportState, AirportEvent> stateMachine) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[%s] 状态机停止: %s", getName(), machineId)); log.info("[{}] 状态机停止: {}", getName(), machineId);
} }
@Override @Override
public void stateMachineError(StateMachine<AirportState, AirportEvent> stateMachine, Exception exception) { public void stateMachineError(StateMachine<AirportState, AirportEvent> stateMachine, Exception exception) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.err.println(String.format("[%s] 状态机错误: %s, 异常: %s", log.error("[{}] 状态机错误: {}, 异常信息: {}",
getName(), machineId, exception.getMessage())); getName(), machineId, exception.getMessage());
} }
@Override @Override
public void extendedStateChanged(Object key, Object value) { public void extendedStateChanged(Object key, Object value) {
System.out.println(String.format("[%s] 扩展状态变化: %s = %s", getName(), key, value)); log.info("[{}] 扩展状态变化: {} = {}", getName(), key, value);
} }
@Override @Override

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.listener; package com.tuoheng.machine.listener;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.platform.strategy.PlatformListener; import com.tuoheng.machine.platform.strategy.PlatformListener;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
@ -13,35 +15,29 @@ import org.springframework.statemachine.transition.Transition;
* 默认舱门状态监听器 * 默认舱门状态监听器
* 提供基础的状态变化监听功能各平台可以继承并定制 * 提供基础的状态变化监听功能各平台可以继承并定制
*/ */
@Slf4j
public abstract class DefaultCoverListener implements PlatformListener<CoverState, CoverEvent> { public abstract class DefaultCoverListener implements PlatformListener<CoverState, CoverEvent> {
@Override
public String getName() {
return "DefaultCoverListener";
}
@Override @Override
public void stateChanged(State<CoverState, CoverEvent> from, State<CoverState, CoverEvent> to) { public void stateChanged(State<CoverState, CoverEvent> from, State<CoverState, CoverEvent> to) {
if (from != null && to != null) { if (from != null && to != null) {
System.out.println(String.format("[%s] 状态变化: %s -> %s", log.debug("[{}] 状态变化: {} -> {}", getName(), from.getId(), to.getId());
getName(), from.getId(), to.getId()));
} }
} }
@Override @Override
public void stateEntered(State<CoverState, CoverEvent> state) { public void stateEntered(State<CoverState, CoverEvent> state) {
System.out.println(String.format("[%s] 进入状态: %s", getName(), state.getId())); log.debug("[{}] 进入状态: {}", getName(), state.getId());
} }
@Override @Override
public void stateExited(State<CoverState, CoverEvent> state) { public void stateExited(State<CoverState, CoverEvent> state) {
System.out.println(String.format("[%s] 退出状态: %s", getName(), state.getId())); log.debug("[{}] 退出状态: {}", getName(), state.getId());
} }
@Override @Override
public void eventNotAccepted(Message<CoverEvent> event) { public void eventNotAccepted(Message<CoverEvent> event) {
System.out.println(String.format("[%s] 事件未被接受: %s", getName(), event.getPayload())); log.warn("[{}] 事件未被接受: {}", getName(), event.getPayload());
} }
@Override @Override
@ -52,41 +48,41 @@ public abstract class DefaultCoverListener implements PlatformListener<CoverStat
@Override @Override
public void transitionStarted(Transition<CoverState, CoverEvent> transition) { public void transitionStarted(Transition<CoverState, CoverEvent> transition) {
if (transition.getSource() != null && transition.getTarget() != null) { if (transition.getSource() != null && transition.getTarget() != null) {
System.out.println(String.format("[%s] 转换开始: %s -> %s", log.debug("[{}] 转换开始: {} -> {}",
getName(), transition.getSource().getId(), transition.getTarget().getId())); getName(), transition.getSource().getId(), transition.getTarget().getId());
} }
} }
@Override @Override
public void transitionEnded(Transition<CoverState, CoverEvent> transition) { public void transitionEnded(Transition<CoverState, CoverEvent> transition) {
if (transition.getSource() != null && transition.getTarget() != null) { if (transition.getSource() != null && transition.getTarget() != null) {
System.out.println(String.format("[%s] 转换结束: %s -> %s", log.debug("[{}] 转换结束: {} -> {}",
getName(), transition.getSource().getId(), transition.getTarget().getId())); getName(), transition.getSource().getId(), transition.getTarget().getId());
} }
} }
@Override @Override
public void stateMachineStarted(StateMachine<CoverState, CoverEvent> stateMachine) { public void stateMachineStarted(StateMachine<CoverState, CoverEvent> stateMachine) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[%s] 状态机启动: %s", getName(), machineId)); log.info("[{}] 状态机启动: {}", getName(), machineId);
} }
@Override @Override
public void stateMachineStopped(StateMachine<CoverState, CoverEvent> stateMachine) { public void stateMachineStopped(StateMachine<CoverState, CoverEvent> stateMachine) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[%s] 状态机停止: %s", getName(), machineId)); log.info("[{}] 状态机停止: {}", getName(), machineId);
} }
@Override @Override
public void stateMachineError(StateMachine<CoverState, CoverEvent> stateMachine, Exception exception) { public void stateMachineError(StateMachine<CoverState, CoverEvent> stateMachine, Exception exception) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.err.println(String.format("[%s] 状态机错误: %s, 异常: %s", log.error("[{}] 状态机错误: {}, 异常信息: {}",
getName(), machineId, exception.getMessage())); getName(), machineId, exception.getMessage());
} }
@Override @Override
public void extendedStateChanged(Object key, Object value) { public void extendedStateChanged(Object key, Object value) {
System.out.println(String.format("[%s] 扩展状态变化: %s = %s", getName(), key, value)); log.info("[{}] 扩展状态变化: {} = {}", getName(), key, value);
} }
@Override @Override

View File

@ -1,5 +1,9 @@
package com.tuoheng.machine.listener; package com.tuoheng.machine.listener;
import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.DrcEvent; import com.tuoheng.machine.events.DrcEvent;
import com.tuoheng.machine.platform.strategy.PlatformListener; import com.tuoheng.machine.platform.strategy.PlatformListener;
import com.tuoheng.machine.status.DrcState; import com.tuoheng.machine.status.DrcState;
@ -13,29 +17,30 @@ import org.springframework.statemachine.transition.Transition;
* 默认DRC状态监听器 * 默认DRC状态监听器
* 提供基础的状态变化监听功能各平台可以继承并定制 * 提供基础的状态变化监听功能各平台可以继承并定制
*/ */
@Slf4j
public abstract class DefaultDrcListener implements PlatformListener<DrcState, DrcEvent> { public abstract class DefaultDrcListener implements PlatformListener<DrcState, DrcEvent> {
@Override @Override
public void stateChanged(State<DrcState, DrcEvent> from, State<DrcState, DrcEvent> to) { public void stateChanged(State<DrcState, DrcEvent> from, State<DrcState, DrcEvent> to) {
if (from != null && to != null) { if (from != null && to != null) {
System.out.println(String.format("[%s] 状态变化: %s -> %s", log.debug("[{}] 状态变化: {} -> {}", getName(), from.getId(), to.getId());
getName(), from.getId(), to.getId()));
} }
} }
@Override @Override
public void stateEntered(State<DrcState, DrcEvent> state) { public void stateEntered(State<DrcState, DrcEvent> state) {
System.out.println(String.format("[%s] 进入状态: %s", getName(), state.getId())); log.debug("[{}] 进入状态: {}", getName(), state.getId());
} }
@Override @Override
public void stateExited(State<DrcState, DrcEvent> state) { public void stateExited(State<DrcState, DrcEvent> state) {
System.out.println(String.format("[%s] 退出状态: %s", getName(), state.getId())); log.debug("[{}] 退出状态: {}", getName(), state.getId());
} }
@Override @Override
public void eventNotAccepted(Message<DrcEvent> event) { public void eventNotAccepted(Message<DrcEvent> event) {
System.out.println(String.format("[%s] 事件未被接受: %s", getName(), event.getPayload())); log.warn("[{}] 事件未被接受: {}", getName(), event.getPayload());
} }
@Override @Override
@ -46,41 +51,41 @@ public abstract class DefaultDrcListener implements PlatformListener<DrcState, D
@Override @Override
public void transitionStarted(Transition<DrcState, DrcEvent> transition) { public void transitionStarted(Transition<DrcState, DrcEvent> transition) {
if (transition.getSource() != null && transition.getTarget() != null) { if (transition.getSource() != null && transition.getTarget() != null) {
System.out.println(String.format("[%s] 转换开始: %s -> %s", log.debug("[{}] 转换开始: {} -> {}",
getName(), transition.getSource().getId(), transition.getTarget().getId())); getName(), transition.getSource().getId(), transition.getTarget().getId());
} }
} }
@Override @Override
public void transitionEnded(Transition<DrcState, DrcEvent> transition) { public void transitionEnded(Transition<DrcState, DrcEvent> transition) {
if (transition.getSource() != null && transition.getTarget() != null) { if (transition.getSource() != null && transition.getTarget() != null) {
System.out.println(String.format("[%s] 转换结束: %s -> %s", log.debug("[{}] 转换结束: {} -> {}",
getName(), transition.getSource().getId(), transition.getTarget().getId())); getName(), transition.getSource().getId(), transition.getTarget().getId());
} }
} }
@Override @Override
public void stateMachineStarted(StateMachine<DrcState, DrcEvent> stateMachine) { public void stateMachineStarted(StateMachine<DrcState, DrcEvent> stateMachine) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[%s] 状态机启动: %s", getName(), machineId)); log.info("[{}] 状态机启动: {}", getName(), machineId);
} }
@Override @Override
public void stateMachineStopped(StateMachine<DrcState, DrcEvent> stateMachine) { public void stateMachineStopped(StateMachine<DrcState, DrcEvent> stateMachine) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[%s] 状态机停止: %s", getName(), machineId)); log.info("[{}] 状态机停止: {}", getName(), machineId);
} }
@Override @Override
public void stateMachineError(StateMachine<DrcState, DrcEvent> stateMachine, Exception exception) { public void stateMachineError(StateMachine<DrcState, DrcEvent> stateMachine, Exception exception) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.err.println(String.format("[%s] 状态机错误: %s, 异常: %s", log.error("[{}] 状态机错误: {}, 异常信息: {}",
getName(), machineId, exception.getMessage())); getName(), machineId, exception.getMessage());
} }
@Override @Override
public void extendedStateChanged(Object key, Object value) { public void extendedStateChanged(Object key, Object value) {
System.out.println(String.format("[%s] 扩展状态变化: %s = %s", getName(), key, value)); log.info("[{}] 扩展状态变化: {} = {}", getName(), key, value);
} }
@Override @Override

View File

@ -1,5 +1,9 @@
package com.tuoheng.machine.listener; package com.tuoheng.machine.listener;
import com.tuoheng.machine.events.DrcEvent;
import com.tuoheng.machine.status.DrcState;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.platform.strategy.PlatformListener; import com.tuoheng.machine.platform.strategy.PlatformListener;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
@ -13,29 +17,29 @@ import org.springframework.statemachine.transition.Transition;
* 默认无人机状态监听器 * 默认无人机状态监听器
* 提供基础的状态变化监听功能各平台可以继承并定制 * 提供基础的状态变化监听功能各平台可以继承并定制
*/ */
@Slf4j
public abstract class DefaultDroneListener implements PlatformListener<DroneState, DroneEvent> { public abstract class DefaultDroneListener implements PlatformListener<DroneState, DroneEvent> {
@Override @Override
public void stateChanged(State<DroneState, DroneEvent> from, State<DroneState, DroneEvent> to) { public void stateChanged(State<DroneState, DroneEvent> from, State<DroneState, DroneEvent> to) {
if (from != null && to != null) { if (from != null && to != null) {
System.out.println(String.format("[%s] 状态变化: %s -> %s", log.debug("[{}] 状态变化: {} -> {}", getName(), from.getId(), to.getId());
getName(), from.getId(), to.getId()));
} }
} }
@Override @Override
public void stateEntered(State<DroneState, DroneEvent> state) { public void stateEntered(State<DroneState, DroneEvent> state) {
System.out.println(String.format("[%s] 进入状态: %s", getName(), state.getId())); log.debug("[{}] 进入状态: {}", getName(), state.getId());
} }
@Override @Override
public void stateExited(State<DroneState, DroneEvent> state) { public void stateExited(State<DroneState, DroneEvent> state) {
System.out.println(String.format("[%s] 退出状态: %s", getName(), state.getId())); log.debug("[{}] 退出状态: {}", getName(), state.getId());
} }
@Override @Override
public void eventNotAccepted(Message<DroneEvent> event) { public void eventNotAccepted(Message<DroneEvent> event) {
System.out.println(String.format("[%s] 事件未被接受: %s", getName(), event.getPayload())); log.warn("[{}] 事件未被接受: {}", getName(), event.getPayload());
} }
@Override @Override
@ -46,41 +50,41 @@ public abstract class DefaultDroneListener implements PlatformListener<DroneStat
@Override @Override
public void transitionStarted(Transition<DroneState, DroneEvent> transition) { public void transitionStarted(Transition<DroneState, DroneEvent> transition) {
if (transition.getSource() != null && transition.getTarget() != null) { if (transition.getSource() != null && transition.getTarget() != null) {
System.out.println(String.format("[%s] 转换开始: %s -> %s", log.debug("[{}] 转换开始: {} -> {}",
getName(), transition.getSource().getId(), transition.getTarget().getId())); getName(), transition.getSource().getId(), transition.getTarget().getId());
} }
} }
@Override @Override
public void transitionEnded(Transition<DroneState, DroneEvent> transition) { public void transitionEnded(Transition<DroneState, DroneEvent> transition) {
if (transition.getSource() != null && transition.getTarget() != null) { if (transition.getSource() != null && transition.getTarget() != null) {
System.out.println(String.format("[%s] 转换结束: %s -> %s", log.debug("[{}] 转换结束: {} -> {}",
getName(), transition.getSource().getId(), transition.getTarget().getId())); getName(), transition.getSource().getId(), transition.getTarget().getId());
} }
} }
@Override @Override
public void stateMachineStarted(StateMachine<DroneState, DroneEvent> stateMachine) { public void stateMachineStarted(StateMachine<DroneState, DroneEvent> stateMachine) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[%s] 状态机启动: %s", getName(), machineId)); log.info("[{}] 状态机启动: {}", getName(), machineId);
} }
@Override @Override
public void stateMachineStopped(StateMachine<DroneState, DroneEvent> stateMachine) { public void stateMachineStopped(StateMachine<DroneState, DroneEvent> stateMachine) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[%s] 状态机停止: %s", getName(), machineId)); log.info("[{}] 状态机停止: {}", getName(), machineId);
} }
@Override @Override
public void stateMachineError(StateMachine<DroneState, DroneEvent> stateMachine, Exception exception) { public void stateMachineError(StateMachine<DroneState, DroneEvent> stateMachine, Exception exception) {
String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId"); String machineId = (String) stateMachine.getExtendedState().getVariables().get("machineId");
System.err.println(String.format("[%s] 状态机错误: %s, 异常: %s", log.error("[{}] 状态机错误: {}, 异常信息: {}",
getName(), machineId, exception.getMessage())); getName(), machineId, exception.getMessage());
} }
@Override @Override
public void extendedStateChanged(Object key, Object value) { public void extendedStateChanged(Object key, Object value) {
System.out.println(String.format("[%s] 扩展状态变化: %s = %s", getName(), key, value)); log.info("[{}] 扩展状态变化: {} = {}", getName(), key, value);
} }
@Override @Override

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.manager; package com.tuoheng.machine.manager;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
@ -19,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
* 机巢系统管理器抽象类 * 机巢系统管理器抽象类
* 提供通用的业务编排能力具体实现可按需扩展 * 提供通用的业务编排能力具体实现可按需扩展
*/ */
@Slf4j
public abstract class AbstractAirportSystemManager implements AirportSystemManager { public abstract class AbstractAirportSystemManager implements AirportSystemManager {
/** /**
@ -68,28 +71,28 @@ public abstract class AbstractAirportSystemManager implements AirportSystemManag
AirportState currentState = airportService.getCurrentState(airportSn); AirportState currentState = airportService.getCurrentState(airportSn);
if (currentState == null) { if (currentState == null) {
System.out.println(String.format("同步机巢状态失败 - 机巢: %s, 状态机不存在", airportSn)); log.error("同步机巢状态失败 - 机巢: {}, 状态机不存在", airportSn);
return false; return false;
} }
if (currentState != AirportState.UNKNOWN) { if (currentState != AirportState.UNKNOWN) {
System.out.println(String.format("同步机巢状态跳过 - 机巢: %s, 当前状态: %s (非UNKNOWN状态无需同步)", log.debug("同步机巢状态跳过 - 机巢: {}, 当前状态: {} (非UNKNOWN状态无需同步)",
airportSn, currentState)); airportSn, currentState);
return false; return false;
} }
// 根据目标状态发送相应的事件 // 根据目标状态发送相应的事件
AirportEvent event = getAirportEventForState(targetState); AirportEvent event = getAirportEventForState(targetState);
if (event == null) { if (event == null) {
System.out.println(String.format("同步机巢状态失败 - 机巢: %s, 无法为目标状态 %s 找到对应事件", log.error("同步机巢状态失败 - 机巢: {}, 无法为目标状态 {} 找到对应事件",
airportSn, targetState)); airportSn, targetState);
return false; return false;
} }
boolean result = airportService.sendEvent(airportSn, event); boolean result = airportService.sendEvent(airportSn, event);
if (result) { if (result) {
System.out.println(String.format("同步机巢状态成功 - 机巢: %s, 从 UNKNOWN 同步到 %s", log.info("同步机巢状态成功 - 机巢: {}, 从 UNKNOWN 同步到 {}",
airportSn, targetState)); airportSn, targetState);
} }
return result; return result;
} }
@ -106,28 +109,28 @@ public abstract class AbstractAirportSystemManager implements AirportSystemManag
CoverState currentState = coverService.getCurrentState(airportSn); CoverState currentState = coverService.getCurrentState(airportSn);
if (currentState == null) { if (currentState == null) {
System.out.println(String.format("同步舱门状态失败 - 机巢: %s, 状态机不存在", airportSn)); log.error("同步舱门状态失败 - 机巢: {}, 状态机不存在", airportSn);
return false; return false;
} }
if (currentState != CoverState.UNKNOWN) { if (currentState != CoverState.UNKNOWN) {
System.out.println(String.format("同步舱门状态跳过 - 机巢: %s, 当前状态: %s (非UNKNOWN状态无需同步)", log.debug("同步舱门状态跳过 - 机巢: {}, 当前状态: {} (非UNKNOWN状态无需同步)",
airportSn, currentState)); airportSn, currentState);
return false; return false;
} }
// 根据目标状态发送相应的事件 // 根据目标状态发送相应的事件
CoverEvent event = getCoverEventForState(targetState); CoverEvent event = getCoverEventForState(targetState);
if (event == null) { if (event == null) {
System.out.println(String.format("同步舱门状态失败 - 机巢: %s, 无法为目标状态 %s 找到对应事件", log.error("同步舱门状态失败 - 机巢: {}, 无法为目标状态 {} 找到对应事件",
airportSn, targetState)); airportSn, targetState);
return false; return false;
} }
boolean result = coverService.sendEvent(airportSn, event); boolean result = coverService.sendEvent(airportSn, event);
if (result) { if (result) {
System.out.println(String.format("同步舱门状态成功 - 机巢: %s, 从 UNKNOWN 同步到 %s", log.info("同步舱门状态成功 - 机巢: {}, 从 UNKNOWN 同步到 {}",
airportSn, targetState)); airportSn, targetState);
} }
return result; return result;
} }
@ -195,28 +198,28 @@ public abstract class AbstractAirportSystemManager implements AirportSystemManag
DroneState currentState = droneService.getCurrentState(droneSn); DroneState currentState = droneService.getCurrentState(droneSn);
if (currentState == null) { if (currentState == null) {
System.out.println(String.format("同步无人机状态失败 - 无人机: %s, 状态机不存在", droneSn)); log.error("同步无人机状态失败 - 无人机: {}, 状态机不存在", droneSn);
return false; return false;
} }
if (currentState != DroneState.UNKNOWN) { if (currentState != DroneState.UNKNOWN) {
System.out.println(String.format("同步无人机状态跳过 - 无人机: %s, 当前状态: %s (非UNKNOWN状态无需同步)", log.debug("同步无人机状态跳过 - 无人机: {}, 当前状态: {} (非UNKNOWN状态无需同步)",
droneSn, currentState)); droneSn, currentState);
return false; return false;
} }
// 根据目标状态发送相应的事件 // 根据目标状态发送相应的事件
DroneEvent event = getDroneEventForState(targetState); DroneEvent event = getDroneEventForState(targetState);
if (event == null) { if (event == null) {
System.out.println(String.format("同步无人机状态失败 - 无人机: %s, 无法为目标状态 %s 找到对应事件", log.error("同步无人机状态失败 - 无人机: {}, 无法为目标状态 {} 找到对应事件",
droneSn, targetState)); droneSn, targetState);
return false; return false;
} }
boolean result = droneService.sendEvent(droneSn, event); boolean result = droneService.sendEvent(droneSn, event);
if (result) { if (result) {
System.out.println(String.format("同步无人机状态成功 - 无人机: %s, 从 UNKNOWN 同步到 %s", log.info("同步无人机状态成功 - 无人机: {}, 从 UNKNOWN 同步到 {}",
droneSn, targetState)); droneSn, targetState);
} }
return result; return result;
} }
@ -233,28 +236,28 @@ public abstract class AbstractAirportSystemManager implements AirportSystemManag
DrcState currentState = drcService.getCurrentState(airportSn); DrcState currentState = drcService.getCurrentState(airportSn);
if (currentState == null) { if (currentState == null) {
System.out.println(String.format("同步DRC状态失败 - 机巢: %s, 状态机不存在", airportSn)); log.error("同步DRC状态失败 - 机巢: {}, 状态机不存在", airportSn);
return false; return false;
} }
if (currentState != DrcState.UNKNOWN) { if (currentState != DrcState.UNKNOWN) {
System.out.println(String.format("同步DRC状态跳过 - 机巢: %s, 当前状态: %s (非UNKNOWN状态无需同步)", log.debug("同步DRC状态跳过 - 机巢: {}, 当前状态: {} (非UNKNOWN状态无需同步)",
airportSn, currentState)); airportSn, currentState);
return false; return false;
} }
// 根据目标状态发送相应的事件 // 根据目标状态发送相应的事件
DrcEvent event = getDrcEventForState(targetState); DrcEvent event = getDrcEventForState(targetState);
if (event == null) { if (event == null) {
System.out.println(String.format("同步DRC状态失败 - 机巢: %s, 无法为目标状态 %s 找到对应事件", log.error("同步DRC状态失败 - 机巢: {}, 无法为目标状态 {} 找到对应事件",
airportSn, targetState)); airportSn, targetState);
return false; return false;
} }
boolean result = drcService.sendEvent(airportSn, event); boolean result = drcService.sendEvent(airportSn, event);
if (result) { if (result) {
System.out.println(String.format("同步DRC状态成功 - 机巢: %s, 从 UNKNOWN 同步到 %s", log.info("同步DRC状态成功 - 机巢: {}, 从 UNKNOWN 同步到 {}",
airportSn, targetState)); airportSn, targetState);
} }
return result; return result;
} }

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.manager; package com.tuoheng.machine.manager;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;

View File

@ -3,6 +3,7 @@ package com.tuoheng.machine.manager.factory;
import com.tuoheng.machine.manager.AirportSystemManager; import com.tuoheng.machine.manager.AirportSystemManager;
import com.tuoheng.machine.platform.PlatformType; import com.tuoheng.machine.platform.PlatformType;
import com.tuoheng.machine.repository.AirportPlatformRepository; import com.tuoheng.machine.repository.AirportPlatformRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -14,6 +15,7 @@ import java.util.concurrent.ConcurrentHashMap;
* 机巢系统管理器工厂 * 机巢系统管理器工厂
* 根据机巢SN从数据库查询平台类型返回对应的系统管理器 * 根据机巢SN从数据库查询平台类型返回对应的系统管理器
*/ */
@Slf4j
@Component @Component
public class AirportSystemManagerFactory { public class AirportSystemManagerFactory {
@ -35,8 +37,8 @@ public class AirportSystemManagerFactory {
public void registerManagers(List<AirportSystemManager> managers) { public void registerManagers(List<AirportSystemManager> managers) {
for (AirportSystemManager manager : managers) { for (AirportSystemManager manager : managers) {
managerMap.put(manager.getPlatformType(), manager); managerMap.put(manager.getPlatformType(), manager);
System.out.println(String.format("注册系统管理器: %s -> %s", log.info("注册系统管理器: {} -> {}",
manager.getPlatformType().getName(), manager.getClass().getSimpleName())); manager.getPlatformType().getName(), manager.getClass().getSimpleName());
} }
} }

View File

@ -6,6 +6,7 @@ import com.tuoheng.machine.platform.strategy.AirportPlatformStrategy;
import com.tuoheng.machine.platform.strategy.CoverPlatformStrategy; import com.tuoheng.machine.platform.strategy.CoverPlatformStrategy;
import com.tuoheng.machine.platform.strategy.DronePlatformStrategy; import com.tuoheng.machine.platform.strategy.DronePlatformStrategy;
import com.tuoheng.machine.platform.strategy.DrcPlatformStrategy; import com.tuoheng.machine.platform.strategy.DrcPlatformStrategy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -17,6 +18,7 @@ import java.util.concurrent.ConcurrentHashMap;
* 平台策略工厂 * 平台策略工厂
* 根据机巢/无人机SN从数据库查询平台类型返回对应的平台策略 * 根据机巢/无人机SN从数据库查询平台类型返回对应的平台策略
*/ */
@Slf4j
@Component @Component
public class PlatformStrategyFactory { public class PlatformStrategyFactory {
@ -65,29 +67,29 @@ public class PlatformStrategyFactory {
// 注册机巢策略 // 注册机巢策略
for (AirportPlatformStrategy strategy : airportStrategies) { for (AirportPlatformStrategy strategy : airportStrategies) {
airportStrategyMap.put(strategy.getPlatformType(), strategy); airportStrategyMap.put(strategy.getPlatformType(), strategy);
System.out.println(String.format("注册机巢平台策略: %s -> %s", log.info("注册机巢平台策略: {} -> {}",
strategy.getPlatformType().getName(), strategy.getClass().getSimpleName())); strategy.getPlatformType().getName(), strategy.getClass().getSimpleName());
} }
// 注册舱门策略 // 注册舱门策略
for (CoverPlatformStrategy strategy : coverStrategies) { for (CoverPlatformStrategy strategy : coverStrategies) {
coverStrategyMap.put(strategy.getPlatformType(), strategy); coverStrategyMap.put(strategy.getPlatformType(), strategy);
System.out.println(String.format("注册舱门平台策略: %s -> %s", log.info("注册舱门平台策略: {} -> {}",
strategy.getPlatformType().getName(), strategy.getClass().getSimpleName())); strategy.getPlatformType().getName(), strategy.getClass().getSimpleName());
} }
// 注册无人机策略 // 注册无人机策略
for (DronePlatformStrategy strategy : droneStrategies) { for (DronePlatformStrategy strategy : droneStrategies) {
droneStrategyMap.put(strategy.getPlatformType(), strategy); droneStrategyMap.put(strategy.getPlatformType(), strategy);
System.out.println(String.format("注册无人机平台策略: %s -> %s", log.info("注册无人机平台策略: {} -> {}",
strategy.getPlatformType().getName(), strategy.getClass().getSimpleName())); strategy.getPlatformType().getName(), strategy.getClass().getSimpleName());
} }
// 注册DRC策略 // 注册DRC策略
for (DrcPlatformStrategy strategy : drcStrategies) { for (DrcPlatformStrategy strategy : drcStrategies) {
drcStrategyMap.put(strategy.getPlatformType(), strategy); drcStrategyMap.put(strategy.getPlatformType(), strategy);
System.out.println(String.format("注册DRC平台策略: %s -> %s", log.info("注册DRC平台策略: {} -> {}",
strategy.getPlatformType().getName(), strategy.getClass().getSimpleName())); strategy.getPlatformType().getName(), strategy.getClass().getSimpleName());
} }
} }

View File

@ -7,12 +7,14 @@ import com.tuoheng.machine.manager.AbstractAirportSystemManager;
import com.tuoheng.machine.platform.PlatformType; import com.tuoheng.machine.platform.PlatformType;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
* 大疆平台机巢系统管理器实现 * 大疆平台机巢系统管理器实现
*/ */
@Component @Component
@Slf4j
public class DjiAirportSystemManager extends AbstractAirportSystemManager { public class DjiAirportSystemManager extends AbstractAirportSystemManager {
@Override @Override
@ -41,7 +43,7 @@ public class DjiAirportSystemManager extends AbstractAirportSystemManager {
@Override @Override
public boolean openDebugMode(String airportSn) { public boolean openDebugMode(String airportSn) {
if (!airportService.isInState(airportSn, AirportState.ONLINE)) { if (!airportService.isInState(airportSn, AirportState.ONLINE)) {
System.out.println("机巢未在线,无法开启调试模式"); log.warn("机巢未在线,无法开启调试模式");
return false; return false;
} }
return airportService.sendEvent(airportSn, AirportEvent.DEBUG_MODE_OPEN); return airportService.sendEvent(airportSn, AirportEvent.DEBUG_MODE_OPEN);
@ -55,11 +57,11 @@ public class DjiAirportSystemManager extends AbstractAirportSystemManager {
@Override @Override
public boolean openCover(String airportSn) { public boolean openCover(String airportSn) {
if (!airportService.isInState(airportSn, AirportState.DEBUG_MODE)) { if (!airportService.isInState(airportSn, AirportState.DEBUG_MODE)) {
System.out.println("必须在调试模式下才能开舱"); log.warn("机巢: {} 必须在调试模式下才能开舱", airportSn);
return false; return false;
} }
if (coverService.isInState(airportSn, CoverState.OPENED)) { if (coverService.isInState(airportSn, CoverState.OPENED)) {
System.out.println("舱门已经打开"); log.info("舱门已经打开");
return false; return false;
} }
return coverService.sendEvent(airportSn, CoverEvent.OPEN); return coverService.sendEvent(airportSn, CoverEvent.OPEN);
@ -73,11 +75,11 @@ public class DjiAirportSystemManager extends AbstractAirportSystemManager {
@Override @Override
public boolean closeCover(String airportSn) { public boolean closeCover(String airportSn) {
if (!airportService.isInState(airportSn, AirportState.DEBUG_MODE)) { if (!airportService.isInState(airportSn, AirportState.DEBUG_MODE)) {
System.out.println("必须在调试模式下才能关舱"); log.warn("必须在调试模式下才能关舱");
return false; return false;
} }
if (coverService.isInState(airportSn, CoverState.CLOSED)) { if (coverService.isInState(airportSn, CoverState.CLOSED)) {
System.out.println("舱门已经关闭"); log.info("机巢: {} 舱门已经关闭", airportSn);
return false; return false;
} }
return coverService.sendEvent(airportSn, CoverEvent.CLOSE); return coverService.sendEvent(airportSn, CoverEvent.CLOSE);
@ -91,7 +93,7 @@ public class DjiAirportSystemManager extends AbstractAirportSystemManager {
@Override @Override
public boolean rebootAirport(String airportSn) { public boolean rebootAirport(String airportSn) {
if (!airportService.isInState(airportSn, AirportState.DEBUG_MODE)) { if (!airportService.isInState(airportSn, AirportState.DEBUG_MODE)) {
System.out.println("必须在调试模式下才能重启"); log.warn("必须在调试模式下才能重启");
return false; return false;
} }
return airportService.sendEvent(airportSn, AirportEvent.AIRPORT_REBOOT); return airportService.sendEvent(airportSn, AirportEvent.AIRPORT_REBOOT);

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.airport; package com.tuoheng.machine.platform.impl.dji.action.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.debug.CloseDebugModeAction; import com.tuoheng.machine.action.debug.CloseDebugModeAction;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCloseDebugModeAction extends CloseDebugModeAction { public class DjiCloseDebugModeAction extends CloseDebugModeAction {
@ -17,6 +20,6 @@ public class DjiCloseDebugModeAction extends CloseDebugModeAction {
@Override @Override
public void execute(StateContext<AirportState, AirportEvent> context) { public void execute(StateContext<AirportState, AirportEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 关闭调试模式: %s", machineId)); log.info("[DJI] 关闭调试模式: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.airport; package com.tuoheng.machine.platform.impl.dji.action.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.airport.OfflineAction; import com.tuoheng.machine.action.airport.OfflineAction;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiOfflineAction extends OfflineAction { public class DjiOfflineAction extends OfflineAction {
@ -17,6 +20,6 @@ public class DjiOfflineAction extends OfflineAction {
@Override @Override
public void execute(StateContext<AirportState, AirportEvent> context) { public void execute(StateContext<AirportState, AirportEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 机巢离线: %s", machineId)); log.info("[DJI] 机巢离线: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.airport; package com.tuoheng.machine.platform.impl.dji.action.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.airport.OnlineAction; import com.tuoheng.machine.action.airport.OnlineAction;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiOnlineAction extends OnlineAction { public class DjiOnlineAction extends OnlineAction {
@ -17,7 +20,7 @@ public class DjiOnlineAction extends OnlineAction {
@Override @Override
public void execute(StateContext<AirportState, AirportEvent> context) { public void execute(StateContext<AirportState, AirportEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 机巢上线: %s", machineId)); log.info("[DJI] 机巢上线: %s", machineId);
// DJI平台特定的上线逻辑 // DJI平台特定的上线逻辑
// 例如初始化DJI SDK连接注册设备等 // 例如初始化DJI SDK连接注册设备等
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.airport; package com.tuoheng.machine.platform.impl.dji.action.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.debug.OpenDebugModeAction; import com.tuoheng.machine.action.debug.OpenDebugModeAction;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiOpenDebugModeAction extends OpenDebugModeAction { public class DjiOpenDebugModeAction extends OpenDebugModeAction {
@ -17,6 +20,6 @@ public class DjiOpenDebugModeAction extends OpenDebugModeAction {
@Override @Override
public void execute(StateContext<AirportState, AirportEvent> context) { public void execute(StateContext<AirportState, AirportEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 开启调试模式: %s", machineId)); log.info("[DJI] 开启调试模式: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.airport; package com.tuoheng.machine.platform.impl.dji.action.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.reboot.RebootAction; import com.tuoheng.machine.action.reboot.RebootAction;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiRebootAction extends RebootAction { public class DjiRebootAction extends RebootAction {
@ -17,6 +20,6 @@ public class DjiRebootAction extends RebootAction {
@Override @Override
public void execute(StateContext<AirportState, AirportEvent> context) { public void execute(StateContext<AirportState, AirportEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 机巢重启: %s", machineId)); log.info("[DJI] 机巢重启: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.airport; package com.tuoheng.machine.platform.impl.dji.action.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.reboot.RebootCompletedAction; import com.tuoheng.machine.action.reboot.RebootCompletedAction;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiRebootCompletedAction extends RebootCompletedAction { public class DjiRebootCompletedAction extends RebootCompletedAction {
@ -17,6 +20,6 @@ public class DjiRebootCompletedAction extends RebootCompletedAction {
@Override @Override
public void execute(StateContext<AirportState, AirportEvent> context) { public void execute(StateContext<AirportState, AirportEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 重启完成: %s", machineId)); log.info("[DJI] 重启完成: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.cover; package com.tuoheng.machine.platform.impl.dji.action.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.cover.CloseCoverAction; import com.tuoheng.machine.action.cover.CloseCoverAction;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCloseCoverAction extends CloseCoverAction { public class DjiCloseCoverAction extends CloseCoverAction {
@ -17,6 +20,6 @@ public class DjiCloseCoverAction extends CloseCoverAction {
@Override @Override
public void execute(StateContext<CoverState, CoverEvent> context) { public void execute(StateContext<CoverState, CoverEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 开始关舱: %s", machineId)); log.info("[DJI] 开始关舱: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.cover; package com.tuoheng.machine.platform.impl.dji.action.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.cover.CoverClosedAction; import com.tuoheng.machine.action.cover.CoverClosedAction;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCoverClosedAction extends CoverClosedAction { public class DjiCoverClosedAction extends CoverClosedAction {
@ -17,6 +20,6 @@ public class DjiCoverClosedAction extends CoverClosedAction {
@Override @Override
public void execute(StateContext<CoverState, CoverEvent> context) { public void execute(StateContext<CoverState, CoverEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 舱门已关闭: %s", machineId)); log.info("[DJI] 舱门已关闭: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.cover; package com.tuoheng.machine.platform.impl.dji.action.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.platform.strategy.PlatformAction; import com.tuoheng.machine.platform.strategy.PlatformAction;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCoverErrorAction implements PlatformAction<CoverState, CoverEvent> { public class DjiCoverErrorAction implements PlatformAction<CoverState, CoverEvent> {
@ -17,6 +20,6 @@ public class DjiCoverErrorAction implements PlatformAction<CoverState, CoverEven
@Override @Override
public void execute(StateContext<CoverState, CoverEvent> context) { public void execute(StateContext<CoverState, CoverEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 舱门错误: %s", machineId)); log.info("[DJI] 舱门错误: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.cover; package com.tuoheng.machine.platform.impl.dji.action.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.cover.CoverOpenedAction; import com.tuoheng.machine.action.cover.CoverOpenedAction;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCoverOpenedAction extends CoverOpenedAction { public class DjiCoverOpenedAction extends CoverOpenedAction {
@ -17,6 +20,6 @@ public class DjiCoverOpenedAction extends CoverOpenedAction {
@Override @Override
public void execute(StateContext<CoverState, CoverEvent> context) { public void execute(StateContext<CoverState, CoverEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 舱门已打开: %s", machineId)); log.info("[DJI] 舱门已打开: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.cover; package com.tuoheng.machine.platform.impl.dji.action.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.platform.strategy.PlatformAction; import com.tuoheng.machine.platform.strategy.PlatformAction;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCoverResetAction implements PlatformAction<CoverState, CoverEvent> { public class DjiCoverResetAction implements PlatformAction<CoverState, CoverEvent> {
@ -17,6 +20,6 @@ public class DjiCoverResetAction implements PlatformAction<CoverState, CoverEven
@Override @Override
public void execute(StateContext<CoverState, CoverEvent> context) { public void execute(StateContext<CoverState, CoverEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 舱门重置: %s", machineId)); log.info("[DJI] 舱门重置: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.cover; package com.tuoheng.machine.platform.impl.dji.action.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.cover.OpenCoverAction; import com.tuoheng.machine.action.cover.OpenCoverAction;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiOpenCoverAction extends OpenCoverAction { public class DjiOpenCoverAction extends OpenCoverAction {
@ -17,7 +20,7 @@ public class DjiOpenCoverAction extends OpenCoverAction {
@Override @Override
public void execute(StateContext<CoverState, CoverEvent> context) { public void execute(StateContext<CoverState, CoverEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 开始开舱: %s", machineId)); log.info("[DJI] 开始开舱: %s", machineId);
// DJI平台特定的开舱逻辑 // DJI平台特定的开舱逻辑
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drc; package com.tuoheng.machine.platform.impl.dji.action.drc;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drc.EnterAction; import com.tuoheng.machine.action.drc.EnterAction;
import com.tuoheng.machine.events.DrcEvent; import com.tuoheng.machine.events.DrcEvent;
import com.tuoheng.machine.status.DrcState; import com.tuoheng.machine.status.DrcState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiEnterAction extends EnterAction { public class DjiEnterAction extends EnterAction {
@ -17,6 +20,6 @@ public class DjiEnterAction extends EnterAction {
@Override @Override
public void execute(StateContext<DrcState, DrcEvent> context) { public void execute(StateContext<DrcState, DrcEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 进入DRC模式: %s", machineId)); log.info("[DJI] 进入DRC模式: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drc; package com.tuoheng.machine.platform.impl.dji.action.drc;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drc.EnteredAction; import com.tuoheng.machine.action.drc.EnteredAction;
import com.tuoheng.machine.events.DrcEvent; import com.tuoheng.machine.events.DrcEvent;
import com.tuoheng.machine.status.DrcState; import com.tuoheng.machine.status.DrcState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiEnteredAction extends EnteredAction { public class DjiEnteredAction extends EnteredAction {
@ -17,6 +20,6 @@ public class DjiEnteredAction extends EnteredAction {
@Override @Override
public void execute(StateContext<DrcState, DrcEvent> context) { public void execute(StateContext<DrcState, DrcEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 已进入DRC模式: %s", machineId)); log.info("[DJI] 已进入DRC模式: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drc; package com.tuoheng.machine.platform.impl.dji.action.drc;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drc.ExitAction; import com.tuoheng.machine.action.drc.ExitAction;
import com.tuoheng.machine.events.DrcEvent; import com.tuoheng.machine.events.DrcEvent;
import com.tuoheng.machine.status.DrcState; import com.tuoheng.machine.status.DrcState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiExitAction extends ExitAction { public class DjiExitAction extends ExitAction {
@ -17,6 +20,6 @@ public class DjiExitAction extends ExitAction {
@Override @Override
public void execute(StateContext<DrcState, DrcEvent> context) { public void execute(StateContext<DrcState, DrcEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 退出DRC模式: %s", machineId)); log.info("[DJI] 退出DRC模式: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drc; package com.tuoheng.machine.platform.impl.dji.action.drc;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drc.ExitedAction; import com.tuoheng.machine.action.drc.ExitedAction;
import com.tuoheng.machine.events.DrcEvent; import com.tuoheng.machine.events.DrcEvent;
import com.tuoheng.machine.status.DrcState; import com.tuoheng.machine.status.DrcState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiExitedAction extends ExitedAction { public class DjiExitedAction extends ExitedAction {
@ -17,6 +20,6 @@ public class DjiExitedAction extends ExitedAction {
@Override @Override
public void execute(StateContext<DrcState, DrcEvent> context) { public void execute(StateContext<DrcState, DrcEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 已退出DRC模式: %s", machineId)); log.info("[DJI] 已退出DRC模式: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.ArriveAction; import com.tuoheng.machine.action.drone.ArriveAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiArriveAction extends ArriveAction { public class DjiArriveAction extends ArriveAction {
@ -17,6 +20,6 @@ public class DjiArriveAction extends ArriveAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机到达目的地: %s", machineId)); log.info("[DJI] 无人机到达目的地: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.CancelPointAction; import com.tuoheng.machine.action.drone.CancelPointAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCancelPointAction extends CancelPointAction { public class DjiCancelPointAction extends CancelPointAction {
@ -17,6 +20,6 @@ public class DjiCancelPointAction extends CancelPointAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机取消指点: %s", machineId)); log.info("[DJI] 无人机取消指点: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.OfflineAction; import com.tuoheng.machine.action.drone.OfflineAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiDroneOfflineAction extends OfflineAction { public class DjiDroneOfflineAction extends OfflineAction {
@ -17,6 +20,6 @@ public class DjiDroneOfflineAction extends OfflineAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机离线: %s", machineId)); log.info("[DJI] 无人机离线: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.EmergencyStopAction; import com.tuoheng.machine.action.drone.EmergencyStopAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiEmergencyStopAction extends EmergencyStopAction { public class DjiEmergencyStopAction extends EmergencyStopAction {
@ -17,6 +20,6 @@ public class DjiEmergencyStopAction extends EmergencyStopAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机急停: %s", machineId)); log.info("[DJI] 无人机急停: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.PointFlyingCompletedAction; import com.tuoheng.machine.action.drone.PointFlyingCompletedAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiPointFlyingCompletedAction extends PointFlyingCompletedAction { public class DjiPointFlyingCompletedAction extends PointFlyingCompletedAction {
@ -17,6 +20,6 @@ public class DjiPointFlyingCompletedAction extends PointFlyingCompletedAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机指点飞行完成: %s", machineId)); log.info("[DJI] 无人机指点飞行完成: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.PointPrepareCompletedAction; import com.tuoheng.machine.action.drone.PointPrepareCompletedAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiPointPrepareCompletedAction extends PointPrepareCompletedAction { public class DjiPointPrepareCompletedAction extends PointPrepareCompletedAction {
@ -17,6 +20,6 @@ public class DjiPointPrepareCompletedAction extends PointPrepareCompletedAction
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机指点准备完成: %s", machineId)); log.info("[DJI] 无人机指点准备完成: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.PointToFlyingAction; import com.tuoheng.machine.action.drone.PointToFlyingAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiPointToFlyingAction extends PointToFlyingAction { public class DjiPointToFlyingAction extends PointToFlyingAction {
@ -17,6 +20,6 @@ public class DjiPointToFlyingAction extends PointToFlyingAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机从指点返回飞行: %s", machineId)); log.info("[DJI] 无人机从指点返回飞行: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.PointToReturnAction; import com.tuoheng.machine.action.drone.PointToReturnAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiPointToReturnAction extends PointToReturnAction { public class DjiPointToReturnAction extends PointToReturnAction {
@ -17,6 +20,6 @@ public class DjiPointToReturnAction extends PointToReturnAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机从指点开始返航: %s", machineId)); log.info("[DJI] 无人机从指点开始返航: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.PrepareCompletedAction; import com.tuoheng.machine.action.drone.PrepareCompletedAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiPrepareCompletedAction extends PrepareCompletedAction { public class DjiPrepareCompletedAction extends PrepareCompletedAction {
@ -17,6 +20,6 @@ public class DjiPrepareCompletedAction extends PrepareCompletedAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机准备完成: %s", machineId)); log.info("[DJI] 无人机准备完成: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.ResumeFlyingAction; import com.tuoheng.machine.action.drone.ResumeFlyingAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiResumeFlyingAction extends ResumeFlyingAction { public class DjiResumeFlyingAction extends ResumeFlyingAction {
@ -17,6 +20,6 @@ public class DjiResumeFlyingAction extends ResumeFlyingAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机恢复飞行: %s", machineId)); log.info("[DJI] 无人机恢复飞行: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.ResumeReturnAction; import com.tuoheng.machine.action.drone.ResumeReturnAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiResumeReturnAction extends ResumeReturnAction { public class DjiResumeReturnAction extends ResumeReturnAction {
@ -17,6 +20,6 @@ public class DjiResumeReturnAction extends ResumeReturnAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机恢复返航: %s", machineId)); log.info("[DJI] 无人机恢复返航: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.ReturnCompletedAction; import com.tuoheng.machine.action.drone.ReturnCompletedAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiReturnCompletedAction extends ReturnCompletedAction { public class DjiReturnCompletedAction extends ReturnCompletedAction {
@ -17,6 +20,6 @@ public class DjiReturnCompletedAction extends ReturnCompletedAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机返航完成: %s", machineId)); log.info("[DJI] 无人机返航完成: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.ReturnEmergencyStopAction; import com.tuoheng.machine.action.drone.ReturnEmergencyStopAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiReturnEmergencyStopAction extends ReturnEmergencyStopAction { public class DjiReturnEmergencyStopAction extends ReturnEmergencyStopAction {
@ -17,6 +20,6 @@ public class DjiReturnEmergencyStopAction extends ReturnEmergencyStopAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机返航急停: %s", machineId)); log.info("[DJI] 无人机返航急停: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.StartFlyingAction; import com.tuoheng.machine.action.drone.StartFlyingAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiStartFlyingAction extends StartFlyingAction { public class DjiStartFlyingAction extends StartFlyingAction {
@ -17,6 +20,6 @@ public class DjiStartFlyingAction extends StartFlyingAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机开始飞行: %s", machineId)); log.info("[DJI] 无人机开始飞行: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.StartPointingAction; import com.tuoheng.machine.action.drone.StartPointingAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiStartPointingAction extends StartPointingAction { public class DjiStartPointingAction extends StartPointingAction {
@ -17,6 +20,6 @@ public class DjiStartPointingAction extends StartPointingAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机开始指点操作: %s", machineId)); log.info("[DJI] 无人机开始指点操作: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.StartPrepareAction; import com.tuoheng.machine.action.drone.StartPrepareAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiStartPrepareAction extends StartPrepareAction { public class DjiStartPrepareAction extends StartPrepareAction {
@ -17,6 +20,6 @@ public class DjiStartPrepareAction extends StartPrepareAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机开始准备: %s", machineId)); log.info("[DJI] 无人机开始准备: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.action.drone; package com.tuoheng.machine.platform.impl.dji.action.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.action.drone.StartReturnAction; import com.tuoheng.machine.action.drone.StartReturnAction;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiStartReturnAction extends StartReturnAction { public class DjiStartReturnAction extends StartReturnAction {
@ -17,6 +20,6 @@ public class DjiStartReturnAction extends StartReturnAction {
@Override @Override
public void execute(StateContext<DroneState, DroneEvent> context) { public void execute(StateContext<DroneState, DroneEvent> context) {
String machineId = (String) context.getExtendedState().getVariables().get("machineId"); String machineId = (String) context.getExtendedState().getVariables().get("machineId");
System.out.println(String.format("[DJI] 无人机开始返航: %s", machineId)); log.info("[DJI] 无人机开始返航: %s", machineId);
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.guard.airport; package com.tuoheng.machine.platform.impl.dji.guard.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.debug.CanCloseDebugModeGuard; import com.tuoheng.machine.guard.debug.CanCloseDebugModeGuard;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCanCloseDebugModeGuard extends CanCloseDebugModeGuard { public class DjiCanCloseDebugModeGuard extends CanCloseDebugModeGuard {
@ -16,7 +19,7 @@ public class DjiCanCloseDebugModeGuard extends CanCloseDebugModeGuard {
@Override @Override
public boolean evaluate(StateContext<AirportState, AirportEvent> context) { public boolean evaluate(StateContext<AirportState, AirportEvent> context) {
System.out.println("[DJI] 检查是否可以关闭调试模式"); log.info("[DJI] 检查是否可以关闭调试模式");
return true; return true;
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.guard.airport; package com.tuoheng.machine.platform.impl.dji.guard.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.airport.CanOfflineGuard; import com.tuoheng.machine.guard.airport.CanOfflineGuard;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCanOfflineGuard extends CanOfflineGuard { public class DjiCanOfflineGuard extends CanOfflineGuard {
@ -16,7 +19,7 @@ public class DjiCanOfflineGuard extends CanOfflineGuard {
@Override @Override
public boolean evaluate(StateContext<AirportState, AirportEvent> context) { public boolean evaluate(StateContext<AirportState, AirportEvent> context) {
System.out.println("[DJI] 检查机巢是否可以离线"); log.info("[DJI] 检查机巢是否可以离线");
return true; return true;
} }
} }

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.platform.impl.dji.guard.airport; package com.tuoheng.machine.platform.impl.dji.guard.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.airport.CanOnlineGuard; import com.tuoheng.machine.guard.airport.CanOnlineGuard;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
@ -9,6 +11,7 @@ import org.springframework.stereotype.Component;
/** /**
* DJI平台 - 机巢上线Guard * DJI平台 - 机巢上线Guard
*/ */
@Slf4j
@Component @Component
public class DjiCanOnlineGuard extends CanOnlineGuard { public class DjiCanOnlineGuard extends CanOnlineGuard {
@ -20,7 +23,7 @@ public class DjiCanOnlineGuard extends CanOnlineGuard {
@Override @Override
public boolean evaluate(StateContext<AirportState, AirportEvent> context) { public boolean evaluate(StateContext<AirportState, AirportEvent> context) {
// DJI平台特定的上线检查逻辑 // DJI平台特定的上线检查逻辑
System.out.println("[DJI] 检查机巢是否可以上线"); log.info("[DJI] 检查机巢是否可以上线");
// 这里可以添加DJI平台特定的检查逻辑例如 // 这里可以添加DJI平台特定的检查逻辑例如
// - 检查DJI设备连接状态 // - 检查DJI设备连接状态
// - 检查DJI固件版本 // - 检查DJI固件版本

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.guard.airport; package com.tuoheng.machine.platform.impl.dji.guard.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.debug.IsDebugModeGuard; import com.tuoheng.machine.guard.debug.IsDebugModeGuard;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiIsDebugModeGuard extends IsDebugModeGuard { public class DjiIsDebugModeGuard extends IsDebugModeGuard {
@ -16,7 +19,7 @@ public class DjiIsDebugModeGuard extends IsDebugModeGuard {
@Override @Override
public boolean evaluate(StateContext<AirportState, AirportEvent> context) { public boolean evaluate(StateContext<AirportState, AirportEvent> context) {
System.out.println("[DJI] 检查是否处于调试模式"); log.info("[DJI] 检查是否处于调试模式");
return true; return true;
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.guard.airport; package com.tuoheng.machine.platform.impl.dji.guard.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.debug.IsNotDebugModeGuard; import com.tuoheng.machine.guard.debug.IsNotDebugModeGuard;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiIsNotDebugModeGuard extends IsNotDebugModeGuard { public class DjiIsNotDebugModeGuard extends IsNotDebugModeGuard {
@ -16,7 +19,7 @@ public class DjiIsNotDebugModeGuard extends IsNotDebugModeGuard {
@Override @Override
public boolean evaluate(StateContext<AirportState, AirportEvent> context) { public boolean evaluate(StateContext<AirportState, AirportEvent> context) {
System.out.println("[DJI] 检查是否不在调试模式"); log.info("[DJI] 检查是否不在调试模式");
return true; return true;
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.guard.airport; package com.tuoheng.machine.platform.impl.dji.guard.airport;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.reboot.IsRebootCompletedGuard; import com.tuoheng.machine.guard.reboot.IsRebootCompletedGuard;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiIsRebootCompletedGuard extends IsRebootCompletedGuard { public class DjiIsRebootCompletedGuard extends IsRebootCompletedGuard {
@ -16,7 +19,7 @@ public class DjiIsRebootCompletedGuard extends IsRebootCompletedGuard {
@Override @Override
public boolean evaluate(StateContext<AirportState, AirportEvent> context) { public boolean evaluate(StateContext<AirportState, AirportEvent> context) {
System.out.println("[DJI] 检查重启是否完成"); log.info("[DJI] 检查重启是否完成");
return true; return true;
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.guard.cover; package com.tuoheng.machine.platform.impl.dji.guard.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.cover.CanCloseCoverGuard; import com.tuoheng.machine.guard.cover.CanCloseCoverGuard;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCanCloseCoverGuard extends CanCloseCoverGuard { public class DjiCanCloseCoverGuard extends CanCloseCoverGuard {
@ -16,7 +19,7 @@ public class DjiCanCloseCoverGuard extends CanCloseCoverGuard {
@Override @Override
public boolean evaluate(StateContext<CoverState, CoverEvent> context) { public boolean evaluate(StateContext<CoverState, CoverEvent> context) {
System.out.println("[DJI] 检查舱门是否可以关闭"); log.info("[DJI] 检查舱门是否可以关闭");
return true; return true;
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.guard.cover; package com.tuoheng.machine.platform.impl.dji.guard.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.cover.CanOpenCoverGuard; import com.tuoheng.machine.guard.cover.CanOpenCoverGuard;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiCanOpenCoverGuard extends CanOpenCoverGuard { public class DjiCanOpenCoverGuard extends CanOpenCoverGuard {
@ -16,7 +19,7 @@ public class DjiCanOpenCoverGuard extends CanOpenCoverGuard {
@Override @Override
public boolean evaluate(StateContext<CoverState, CoverEvent> context) { public boolean evaluate(StateContext<CoverState, CoverEvent> context) {
System.out.println("[DJI] 检查舱门是否可以打开"); log.info("[DJI] 检查舱门是否可以打开");
return true; return true;
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.guard.cover; package com.tuoheng.machine.platform.impl.dji.guard.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.cover.IsCoverClosedGuard; import com.tuoheng.machine.guard.cover.IsCoverClosedGuard;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiIsCoverClosedGuard extends IsCoverClosedGuard { public class DjiIsCoverClosedGuard extends IsCoverClosedGuard {
@ -16,7 +19,7 @@ public class DjiIsCoverClosedGuard extends IsCoverClosedGuard {
@Override @Override
public boolean evaluate(StateContext<CoverState, CoverEvent> context) { public boolean evaluate(StateContext<CoverState, CoverEvent> context) {
System.out.println("[DJI] 检查舱门是否已关闭"); log.info("[DJI] 检查舱门是否已关闭");
return true; return true;
} }
} }

View File

@ -1,11 +1,14 @@
package com.tuoheng.machine.platform.impl.dji.guard.cover; package com.tuoheng.machine.platform.impl.dji.guard.cover;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.guard.cover.IsCoverOpenedGuard; import com.tuoheng.machine.guard.cover.IsCoverOpenedGuard;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Slf4j
@Component @Component
public class DjiIsCoverOpenedGuard extends IsCoverOpenedGuard { public class DjiIsCoverOpenedGuard extends IsCoverOpenedGuard {
@ -16,7 +19,7 @@ public class DjiIsCoverOpenedGuard extends IsCoverOpenedGuard {
@Override @Override
public boolean evaluate(StateContext<CoverState, CoverEvent> context) { public boolean evaluate(StateContext<CoverState, CoverEvent> context) {
System.out.println("[DJI] 检查舱门是否已打开"); log.info("[DJI] 检查舱门是否已打开");
return true; return true;
} }
} }

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.platform.impl.dji.guard.drc; package com.tuoheng.machine.platform.impl.dji.guard.drc;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.DrcEvent; import com.tuoheng.machine.events.DrcEvent;
import com.tuoheng.machine.guard.drc.CanEnterGuard; import com.tuoheng.machine.guard.drc.CanEnterGuard;
import com.tuoheng.machine.status.DrcState; import com.tuoheng.machine.status.DrcState;
@ -9,6 +11,7 @@ import org.springframework.stereotype.Component;
/** /**
* DJI平台检查是否可以进入DRC模式 * DJI平台检查是否可以进入DRC模式
*/ */
@Slf4j
@Component @Component
public class DjiCanEnterGuard extends CanEnterGuard { public class DjiCanEnterGuard extends CanEnterGuard {

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.platform.impl.dji.guard.drc; package com.tuoheng.machine.platform.impl.dji.guard.drc;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.DrcEvent; import com.tuoheng.machine.events.DrcEvent;
import com.tuoheng.machine.guard.drc.CanExitGuard; import com.tuoheng.machine.guard.drc.CanExitGuard;
import com.tuoheng.machine.status.DrcState; import com.tuoheng.machine.status.DrcState;
@ -9,6 +11,7 @@ import org.springframework.stereotype.Component;
/** /**
* DJI平台检查是否可以退出DRC模式 * DJI平台检查是否可以退出DRC模式
*/ */
@Slf4j
@Component @Component
public class DjiCanExitGuard extends CanExitGuard { public class DjiCanExitGuard extends CanExitGuard {

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.platform.impl.dji.guard.drone; package com.tuoheng.machine.platform.impl.dji.guard.drone;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.guard.drone.CanPointGuard; import com.tuoheng.machine.guard.drone.CanPointGuard;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
@ -10,6 +12,7 @@ import org.springframework.stereotype.Component;
* DJI平台检查无人机是否可以进行指点操作 * DJI平台检查无人机是否可以进行指点操作
* 注意返航中不可以指点 * 注意返航中不可以指点
*/ */
@Slf4j
@Component @Component
public class DjiCanPointGuard extends CanPointGuard { public class DjiCanPointGuard extends CanPointGuard {
@ -24,7 +27,7 @@ public class DjiCanPointGuard extends CanPointGuard {
// 返航中不能指点 // 返航中不能指点
if (currentState == DroneState.RETURNING) { if (currentState == DroneState.RETURNING) {
System.out.println("[DJI] 返航中不能进行指点操作"); log.info("[DJI] 返航中不能进行指点操作");
return false; return false;
} }

View File

@ -1,6 +1,7 @@
package com.tuoheng.machine.repository; package com.tuoheng.machine.repository;
import com.tuoheng.machine.platform.PlatformType; import com.tuoheng.machine.platform.PlatformType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Map; import java.util.Map;
@ -10,6 +11,7 @@ import java.util.concurrent.ConcurrentHashMap;
* 机巢平台映射仓储 * 机巢平台映射仓储
* 模拟数据库查询存储机巢SN到平台类型的映射关系 * 模拟数据库查询存储机巢SN到平台类型的映射关系
*/ */
@Slf4j
@Repository @Repository
public class AirportPlatformRepository { public class AirportPlatformRepository {
@ -49,7 +51,7 @@ public class AirportPlatformRepository {
*/ */
public void savePlatformMapping(String airportSn, PlatformType platformType) { public void savePlatformMapping(String airportSn, PlatformType platformType) {
airportPlatformMap.put(airportSn, platformType); airportPlatformMap.put(airportSn, platformType);
System.out.println(String.format("保存平台映射: %s -> %s", airportSn, platformType.getName())); log.info("保存平台映射: {} -> {}", airportSn, platformType.getName());
} }
/** /**
@ -59,7 +61,7 @@ public class AirportPlatformRepository {
*/ */
public void deletePlatformMapping(String airportSn) { public void deletePlatformMapping(String airportSn) {
airportPlatformMap.remove(airportSn); airportPlatformMap.remove(airportSn);
System.out.println(String.format("删除平台映射: %s", airportSn)); log.info("删除平台映射: {}", airportSn);
} }
/** /**

View File

@ -3,6 +3,7 @@ package com.tuoheng.machine.service;
import com.tuoheng.machine.events.AirportEvent; import com.tuoheng.machine.events.AirportEvent;
import com.tuoheng.machine.redis.RedisStateStore; import com.tuoheng.machine.redis.RedisStateStore;
import com.tuoheng.machine.status.AirportState; import com.tuoheng.machine.status.AirportState;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.StateMachine;
import org.springframework.statemachine.config.StateMachineFactory; import org.springframework.statemachine.config.StateMachineFactory;
@ -15,6 +16,7 @@ import java.util.concurrent.ConcurrentHashMap;
* 机巢状态机管理器 * 机巢状态机管理器
* 负责管理多个机巢的状态机实例 * 负责管理多个机巢的状态机实例
*/ */
@Slf4j
@Component @Component
public class AirportMachineService { public class AirportMachineService {
@ -45,7 +47,7 @@ public class AirportMachineService {
// 不从 Redis 恢复旧状态等待第一次心跳同步真实状态 // 不从 Redis 恢复旧状态等待第一次心跳同步真实状态
// 这样可以避免服务器重启期间丢失心跳导致的状态不一致问题 // 这样可以避免服务器重启期间丢失心跳导致的状态不一致问题
stateMachine.start(); stateMachine.start();
System.out.println(String.format("创建并启动状态机: %s, 初始状态: UNKNOWN (等待心跳同步)", id)); log.info("创建并启动状态机: {}, 初始状态: UNKNOWN (等待心跳同步)", id);
return stateMachine; return stateMachine;
}); });
} }
@ -69,7 +71,7 @@ public class AirportMachineService {
public AirportState getCurrentState(String airportSn) { public AirportState getCurrentState(String airportSn) {
StateMachine<AirportState, AirportEvent> stateMachine = stateMachineMap.get(airportSn); StateMachine<AirportState, AirportEvent> stateMachine = stateMachineMap.get(airportSn);
if (stateMachine == null) { if (stateMachine == null) {
System.out.println("状态机不存在: " + airportSn); log.warn("状态机不存在: {}", airportSn);
return null; return null;
} }
return stateMachine.getState().getId(); return stateMachine.getState().getId();
@ -112,11 +114,11 @@ public class AirportMachineService {
if (result) { if (result) {
// 持久化最新状态 // 持久化最新状态
redisStateStore.saveAirportState(airportSn, stateMachine.getState().getId()); redisStateStore.saveAirportState(airportSn, stateMachine.getState().getId());
System.out.println(String.format("事件发送成功 - 机巢: %s, 事件: %s, 当前状态: %s", log.info("事件发送成功 - 机巢: {}, 事件: {}, 当前状态: {}",
airportSn, event, getCurrentStates(airportSn))); airportSn, event, getCurrentStates(airportSn));
} else { } else {
System.out.println(String.format("事件发送失败 - 机巢: %s, 事件: %s, 当前状态: %s", log.warn("事件发送失败 - 机巢: {}, 事件: {}, 当前状态: {}",
airportSn, event, getCurrentStates(airportSn))); airportSn, event, getCurrentStates(airportSn));
} }
return result; return result;
@ -131,7 +133,7 @@ public class AirportMachineService {
StateMachine<AirportState, AirportEvent> stateMachine = stateMachineMap.remove(airportSn); StateMachine<AirportState, AirportEvent> stateMachine = stateMachineMap.remove(airportSn);
if (stateMachine != null) { if (stateMachine != null) {
stateMachine.stop(); stateMachine.stop();
System.out.println("停止并移除状态机: " + airportSn); log.info("停止并移除状态机: {}", airportSn);
} }
} }
@ -186,6 +188,6 @@ public class AirportMachineService {
public void restartStateMachine(String airportSn) { public void restartStateMachine(String airportSn) {
removeStateMachine(airportSn); removeStateMachine(airportSn);
getOrCreateStateMachine(airportSn); getOrCreateStateMachine(airportSn);
System.out.println("重启状态机: " + airportSn); log.info("重启状态机: {}", airportSn);
} }
} }

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.service; package com.tuoheng.machine.service;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.CoverEvent; import com.tuoheng.machine.events.CoverEvent;
import com.tuoheng.machine.redis.RedisStateStore; import com.tuoheng.machine.redis.RedisStateStore;
import com.tuoheng.machine.status.CoverState; import com.tuoheng.machine.status.CoverState;
@ -14,6 +16,7 @@ import java.util.concurrent.ConcurrentHashMap;
/** /**
* 舱门状态机管理器 * 舱门状态机管理器
*/ */
@Slf4j
@Component @Component
public class CoverMachineService { public class CoverMachineService {
@ -32,7 +35,7 @@ public class CoverMachineService {
// 不从 Redis 恢复旧状态等待第一次心跳同步真实状态 // 不从 Redis 恢复旧状态等待第一次心跳同步真实状态
// 这样可以避免服务器重启期间丢失心跳导致的状态不一致问题 // 这样可以避免服务器重启期间丢失心跳导致的状态不一致问题
stateMachine.start(); stateMachine.start();
System.out.println(String.format("创建并启动舱门状态机: %s, 初始状态: UNKNOWN (等待心跳同步)", id)); log.info("创建并启动舱门状态机: %s, 初始状态: UNKNOWN (等待心跳同步)", id);
return stateMachine; return stateMachine;
}); });
} }
@ -52,11 +55,11 @@ public class CoverMachineService {
if (result) { if (result) {
// 持久化最新状态 // 持久化最新状态
redisStateStore.saveCoverState(airportSn, stateMachine.getState().getId()); redisStateStore.saveCoverState(airportSn, stateMachine.getState().getId());
System.out.println(String.format("舱门事件发送成功 - 机巢: %s, 事件: %s, 当前状态: %s", log.info("舱门事件发送成功 - 机巢: {}, 事件: {}, 当前状态: {}",
airportSn, event, getCurrentState(airportSn))); airportSn, event, getCurrentState(airportSn));
} else { } else {
System.out.println(String.format("舱门事件发送失败 - 机巢: %s, 事件: %s, 当前状态: %s", log.error("舱门事件发送失败 - 机巢: {}, 事件: {}, 当前状态: {}",
airportSn, event, getCurrentState(airportSn))); airportSn, event, getCurrentState(airportSn));
} }
return result; return result;
@ -74,7 +77,7 @@ public class CoverMachineService {
StateMachine<CoverState, CoverEvent> stateMachine = stateMachineMap.remove(airportSn); StateMachine<CoverState, CoverEvent> stateMachine = stateMachineMap.remove(airportSn);
if (stateMachine != null) { if (stateMachine != null) {
stateMachine.stop(); stateMachine.stop();
System.out.println("停止并移除舱门状态机: " + airportSn); log.info("停止并移除舱门状态机: {}", airportSn);
} }
} }
} }

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.service; package com.tuoheng.machine.service;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.DrcEvent; import com.tuoheng.machine.events.DrcEvent;
import com.tuoheng.machine.redis.RedisStateStore; import com.tuoheng.machine.redis.RedisStateStore;
import com.tuoheng.machine.status.DrcState; import com.tuoheng.machine.status.DrcState;
@ -15,6 +17,7 @@ import java.util.concurrent.ConcurrentHashMap;
* DRC状态机管理器 * DRC状态机管理器
* 负责管理多个机巢的DRC状态机实例 * 负责管理多个机巢的DRC状态机实例
*/ */
@Slf4j
@Component @Component
public class DrcMachineService { public class DrcMachineService {
@ -45,7 +48,7 @@ public class DrcMachineService {
// 不从 Redis 恢复旧状态等待第一次心跳同步真实状态 // 不从 Redis 恢复旧状态等待第一次心跳同步真实状态
// 这样可以避免服务器重启期间丢失心跳导致的状态不一致问题 // 这样可以避免服务器重启期间丢失心跳导致的状态不一致问题
stateMachine.start(); stateMachine.start();
System.out.println(String.format("创建并启动DRC状态机: %s, 初始状态: UNKNOWN (等待心跳同步)", id)); log.info("创建并启动DRC状态机: %s, 初始状态: UNKNOWN (等待心跳同步)", id);
return stateMachine; return stateMachine;
}); });
} }
@ -69,7 +72,7 @@ public class DrcMachineService {
public DrcState getCurrentState(String airportSn) { public DrcState getCurrentState(String airportSn) {
StateMachine<DrcState, DrcEvent> stateMachine = stateMachineMap.get(airportSn); StateMachine<DrcState, DrcEvent> stateMachine = stateMachineMap.get(airportSn);
if (stateMachine == null) { if (stateMachine == null) {
System.out.println("DRC状态机不存在: " + airportSn); log.info("DRC状态机不存在: {}", airportSn);
return null; return null;
} }
return stateMachine.getState().getId(); return stateMachine.getState().getId();
@ -112,11 +115,11 @@ public class DrcMachineService {
if (result) { if (result) {
// 持久化最新状态 // 持久化最新状态
redisStateStore.saveDrcState(airportSn, stateMachine.getState().getId()); redisStateStore.saveDrcState(airportSn, stateMachine.getState().getId());
System.out.println(String.format("DRC事件发送成功 - 机巢: %s, 事件: %s, 当前状态: %s", log.info("DRC事件发送成功 - 机巢: {}, 事件: {}, 当前状态: {}",
airportSn, event, getCurrentStates(airportSn))); airportSn, event, getCurrentStates(airportSn));
} else { } else {
System.out.println(String.format("DRC事件发送失败 - 机巢: %s, 事件: %s, 当前状态: %s", log.error("DRC事件发送失败 - 机巢: {}, 事件: {}, 当前状态: {}",
airportSn, event, getCurrentStates(airportSn))); airportSn, event, getCurrentStates(airportSn));
} }
return result; return result;
@ -131,7 +134,7 @@ public class DrcMachineService {
StateMachine<DrcState, DrcEvent> stateMachine = stateMachineMap.remove(airportSn); StateMachine<DrcState, DrcEvent> stateMachine = stateMachineMap.remove(airportSn);
if (stateMachine != null) { if (stateMachine != null) {
stateMachine.stop(); stateMachine.stop();
System.out.println("停止并移除DRC状态机: " + airportSn); log.info("停止并移除DRC状态机: {}", airportSn);
} }
} }
@ -186,6 +189,6 @@ public class DrcMachineService {
public void restartStateMachine(String airportSn) { public void restartStateMachine(String airportSn) {
removeStateMachine(airportSn); removeStateMachine(airportSn);
getOrCreateStateMachine(airportSn); getOrCreateStateMachine(airportSn);
System.out.println("重启DRC状态机: " + airportSn); log.info("重启DRC状态机: {}", airportSn);
} }
} }

View File

@ -1,5 +1,7 @@
package com.tuoheng.machine.service; package com.tuoheng.machine.service;
import lombok.extern.slf4j.Slf4j;
import com.tuoheng.machine.events.DroneEvent; import com.tuoheng.machine.events.DroneEvent;
import com.tuoheng.machine.redis.RedisStateStore; import com.tuoheng.machine.redis.RedisStateStore;
import com.tuoheng.machine.status.DroneState; import com.tuoheng.machine.status.DroneState;
@ -15,6 +17,7 @@ import java.util.concurrent.ConcurrentHashMap;
* 无人机状态机管理器 * 无人机状态机管理器
* 负责管理多个无人机的状态机实例 * 负责管理多个无人机的状态机实例
*/ */
@Slf4j
@Component @Component
public class DroneMachineService { public class DroneMachineService {
@ -45,7 +48,7 @@ public class DroneMachineService {
// 不从 Redis 恢复旧状态等待第一次心跳同步真实状态 // 不从 Redis 恢复旧状态等待第一次心跳同步真实状态
// 这样可以避免服务器重启期间丢失心跳导致的状态不一致问题 // 这样可以避免服务器重启期间丢失心跳导致的状态不一致问题
stateMachine.start(); stateMachine.start();
System.out.println(String.format("创建并启动状态机: %s, 初始状态: UNKNOWN (等待心跳同步)", id)); log.info("创建并启动状态机: %s, 初始状态: UNKNOWN (等待心跳同步)", id);
return stateMachine; return stateMachine;
}); });
} }
@ -69,7 +72,7 @@ public class DroneMachineService {
public DroneState getCurrentState(String droneSn) { public DroneState getCurrentState(String droneSn) {
StateMachine<DroneState, DroneEvent> stateMachine = stateMachineMap.get(droneSn); StateMachine<DroneState, DroneEvent> stateMachine = stateMachineMap.get(droneSn);
if (stateMachine == null) { if (stateMachine == null) {
System.out.println("状态机不存在: " + droneSn); log.info("状态机不存在: {}", droneSn);
return null; return null;
} }
return stateMachine.getState().getId(); return stateMachine.getState().getId();
@ -112,11 +115,11 @@ public class DroneMachineService {
if (result) { if (result) {
// 持久化最新状态 // 持久化最新状态
redisStateStore.saveDroneState(droneSn, stateMachine.getState().getId()); redisStateStore.saveDroneState(droneSn, stateMachine.getState().getId());
System.out.println(String.format("事件发送成功 - 无人机: %s, 事件: %s, 当前状态: %s", log.info("事件发送成功 - 无人机: {}, 事件: {}, 当前状态: {}",
droneSn, event, getCurrentStates(droneSn))); droneSn, event, getCurrentStates(droneSn));
} else { } else {
System.out.println(String.format("事件发送失败 - 无人机: %s, 事件: %s, 当前状态: %s", log.error("事件发送失败 - 无人机: {}, 事件: {}, 当前状态: {}",
droneSn, event, getCurrentStates(droneSn))); droneSn, event, getCurrentStates(droneSn));
} }
return result; return result;
@ -131,7 +134,7 @@ public class DroneMachineService {
StateMachine<DroneState, DroneEvent> stateMachine = stateMachineMap.remove(droneSn); StateMachine<DroneState, DroneEvent> stateMachine = stateMachineMap.remove(droneSn);
if (stateMachine != null) { if (stateMachine != null) {
stateMachine.stop(); stateMachine.stop();
System.out.println("停止并移除状态机: " + droneSn); log.info("停止并移除状态机: {}", droneSn);
} }
} }
@ -186,6 +189,6 @@ public class DroneMachineService {
public void restartStateMachine(String droneSn) { public void restartStateMachine(String droneSn) {
removeStateMachine(droneSn); removeStateMachine(droneSn);
getOrCreateStateMachine(droneSn); getOrCreateStateMachine(droneSn);
System.out.println("重启状态机: " + droneSn); log.info("重启状态机: {}", droneSn);
} }
} }