From a6ae930598317223ab2774bedac7b5f09852780e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Thu, 18 Dec 2025 13:47:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=B1=BB=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../instruction/AbstractInstruction.java | 27 ------------------- .../machine/instruction/Instruction.java | 7 +++-- .../machine/vendor/dji/DjiVendorConfig.java | 7 ++++- 3 files changed, 11 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/tuoheng/machine/instruction/AbstractInstruction.java b/src/main/java/com/tuoheng/machine/instruction/AbstractInstruction.java index 19ae8cc..a48c0f2 100644 --- a/src/main/java/com/tuoheng/machine/instruction/AbstractInstruction.java +++ b/src/main/java/com/tuoheng/machine/instruction/AbstractInstruction.java @@ -20,33 +20,6 @@ public abstract class AbstractInstruction implements Instruction { */ private Instruction alwaysNextInstruction; - @Override - public boolean canExecute(InstructionContext context) { - // 默认可以执行 - return true; - } - - @Override - public CallbackConfig getMethodCallbackConfig(InstructionContext context) { - // 默认不需要方法回调 - return null; - } - - @Override - public CallbackConfig getStateCallbackConfig(InstructionContext context) { - // 默认不需要状态回调 - return null; - } - - @Override - public long getTimeoutMs() { - return 60000; // 默认60秒 - } - - @Override - public void onComplete(InstructionContext context, InstructionResult result) { - // 默认空实现 - } @Override public Instruction getOnSuccessInstruction() { diff --git a/src/main/java/com/tuoheng/machine/instruction/Instruction.java b/src/main/java/com/tuoheng/machine/instruction/Instruction.java index 8f63aee..fc85060 100644 --- a/src/main/java/com/tuoheng/machine/instruction/Instruction.java +++ b/src/main/java/com/tuoheng/machine/instruction/Instruction.java @@ -17,12 +17,15 @@ public interface Instruction { /** * a. 判断是否可以执行该指令 */ - boolean canExecute(InstructionContext context); + default boolean canExecute(InstructionContext context){ + return true; + } /** * b. 执行远程调用(如MQTT发送) */ - void executeRemoteCall(InstructionContext context) throws Exception; + default void executeRemoteCall(InstructionContext context) throws Exception{ + } /** * c. 获取方法回调配置(可选) diff --git a/src/main/java/com/tuoheng/machine/vendor/dji/DjiVendorConfig.java b/src/main/java/com/tuoheng/machine/vendor/dji/DjiVendorConfig.java index ca0023e..becabf6 100644 --- a/src/main/java/com/tuoheng/machine/vendor/dji/DjiVendorConfig.java +++ b/src/main/java/com/tuoheng/machine/vendor/dji/DjiVendorConfig.java @@ -2,6 +2,10 @@ package com.tuoheng.machine.vendor.dji; import com.tuoheng.machine.command.CommandType; import com.tuoheng.machine.command.Transaction; +import com.tuoheng.machine.instruction.AbstractInstruction; +import com.tuoheng.machine.instruction.CallbackConfig; +import com.tuoheng.machine.instruction.Instruction; +import com.tuoheng.machine.instruction.InstructionContext; import com.tuoheng.machine.state.*; import com.tuoheng.machine.vendor.VendorConfig; import com.tuoheng.machine.vendor.dji.instruction.*; @@ -82,7 +86,8 @@ public class DjiVendorConfig implements VendorConfig { Transaction takeOffTransaction = new Transaction("起飞", CommandType.TAKE_OFF) .root(new DjiTakeOffInstruction()) .setTimeout(10000); - transactionMap.put(CommandType.TAKE_OFF, takeOffTransaction); + transactionMap.put(takeOffTransaction.getCommandType(), takeOffTransaction); + log.info("大疆厂家配置初始化完成,共配置{}个命令", transactionMap.size());