修改demo
This commit is contained in:
parent
85b744b0f9
commit
6eeb2d3839
|
|
@ -6,8 +6,7 @@ import com.tuoheng.status.airport.platform.repository.AirportPlatformRepository;
|
|||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
|
||||
/**
|
||||
* 多平台演示程序
|
||||
* 演示DJI、AUTEL、YUNEEC等多个平台同时运行的场景
|
||||
* 演示程序(当前仅接入 DJI 平台)
|
||||
*/
|
||||
public class MultiPlatformDemo {
|
||||
|
||||
|
|
@ -24,15 +23,13 @@ public class MultiPlatformDemo {
|
|||
PlatformStrategyFactory strategyFactory = context.getBean(PlatformStrategyFactory.class);
|
||||
AirportPlatformRepository repository = context.getBean(AirportPlatformRepository.class);
|
||||
|
||||
System.out.println("\n========== 多平台机巢系统演示开始 ==========\n");
|
||||
System.out.println("\n========== DJI 机巢系统演示开始 ==========\n");
|
||||
|
||||
// ==================== 场景1: 多平台机巢上线 ====================
|
||||
System.out.println("【场景1】多平台机巢上线");
|
||||
// ==================== 场景1: DJI 机巢上线 ====================
|
||||
System.out.println("【场景1】DJI 机巢上线");
|
||||
System.out.println("----------------------------------------");
|
||||
|
||||
String djiAirport = "airport-001"; // DJI平台
|
||||
String autelAirport = "airport-002"; // AUTEL平台
|
||||
String djiAirport2 = "airport-003"; // DJI平台
|
||||
|
||||
System.out.println("1. DJI机巢上线: " + djiAirport);
|
||||
System.out.println(" 平台类型: " + strategyFactory.getPlatformType(djiAirport).getName());
|
||||
|
|
@ -42,99 +39,46 @@ public class MultiPlatformDemo {
|
|||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
System.out.println("2. AUTEL机巢上线: " + autelAirport);
|
||||
System.out.println(" 平台类型: " + strategyFactory.getPlatformType(autelAirport).getName());
|
||||
AirportSystemManager autelManager = strategyFactory.getSystemManager(autelAirport);
|
||||
autelManager.airportOnline(autelAirport);
|
||||
System.out.println(" " + autelManager.getFullStatus(autelAirport));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
System.out.println("3. 另一个DJI机巢上线: " + djiAirport2);
|
||||
System.out.println(" 平台类型: " + strategyFactory.getPlatformType(djiAirport2).getName());
|
||||
AirportSystemManager djiManager2 = strategyFactory.getSystemManager(djiAirport2);
|
||||
djiManager2.airportOnline(djiAirport2);
|
||||
System.out.println(" " + djiManager2.getFullStatus(djiAirport2));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
// ==================== 场景2: DJI平台开舱流程 ====================
|
||||
System.out.println("【场景2】DJI平台开舱流程");
|
||||
// ==================== 场景2: DJI 开舱流程 ====================
|
||||
System.out.println("【场景2】DJI 开舱流程");
|
||||
System.out.println("----------------------------------------");
|
||||
|
||||
System.out.println("4. DJI机巢开启调试模式: " + djiAirport);
|
||||
System.out.println("2. 开启调试模式: " + djiAirport);
|
||||
djiManager.openDebugMode(djiAirport);
|
||||
System.out.println(" " + djiManager.getFullStatus(djiAirport));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
System.out.println("5. DJI机巢开舱: " + djiAirport);
|
||||
System.out.println("3. 开舱: " + djiAirport);
|
||||
djiManager.openCover(djiAirport);
|
||||
System.out.println(" " + djiManager.getFullStatus(djiAirport));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
System.out.println("6. DJI机巢舱门打开完成: " + djiAirport);
|
||||
System.out.println("4. 舱门打开完成: " + djiAirport);
|
||||
djiManager.coverOpened(djiAirport);
|
||||
System.out.println(" " + djiManager.getFullStatus(djiAirport));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
// ==================== 场景3: AUTEL平台开舱流程(同时进行) ====================
|
||||
System.out.println("【场景3】AUTEL平台开舱流程(与DJI平台并行)");
|
||||
// ==================== 场景3: DJI 关舱流程 ====================
|
||||
System.out.println("【场景3】DJI 关舱流程");
|
||||
System.out.println("----------------------------------------");
|
||||
|
||||
System.out.println("7. AUTEL机巢开启调试模式: " + autelAirport);
|
||||
autelManager.openDebugMode(autelAirport);
|
||||
System.out.println(" " + autelManager.getFullStatus(autelAirport));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
System.out.println("8. AUTEL机巢开舱: " + autelAirport);
|
||||
autelManager.openCover(autelAirport);
|
||||
System.out.println(" " + autelManager.getFullStatus(autelAirport));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
// ==================== 场景4: 查看所有机巢状态 ====================
|
||||
System.out.println("【场景4】查看所有机巢当前状态");
|
||||
System.out.println("----------------------------------------");
|
||||
System.out.println("DJI机巢-001: " + djiManager.getFullStatus(djiAirport));
|
||||
System.out.println("AUTEL机巢-002: " + autelManager.getFullStatus(autelAirport));
|
||||
System.out.println("DJI机巢-003: " + djiManager2.getFullStatus(djiAirport2));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
// ==================== 场景5: DJI机巢关舱 ====================
|
||||
System.out.println("【场景5】DJI机巢关舱流程");
|
||||
System.out.println("----------------------------------------");
|
||||
|
||||
System.out.println("9. DJI机巢关舱: " + djiAirport);
|
||||
System.out.println("5. 关舱: " + djiAirport);
|
||||
djiManager.closeCover(djiAirport);
|
||||
System.out.println(" " + djiManager.getFullStatus(djiAirport));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
System.out.println("10. DJI机巢舱门关闭完成: " + djiAirport);
|
||||
System.out.println("6. 舱门关闭完成: " + djiAirport);
|
||||
djiManager.coverClosed(djiAirport);
|
||||
System.out.println(" " + djiManager.getFullStatus(djiAirport));
|
||||
System.out.println();
|
||||
Thread.sleep(500);
|
||||
|
||||
// ==================== 场景6: 动态注册新平台机巢 ====================
|
||||
System.out.println("【场景6】动态注册新平台机巢");
|
||||
System.out.println("----------------------------------------");
|
||||
|
||||
String yuneecAirport = "airport-004";
|
||||
System.out.println("11. 注册YUNEEC平台机巢: " + yuneecAirport);
|
||||
System.out.println(" 平台类型: " + strategyFactory.getPlatformType(yuneecAirport).getName());
|
||||
AirportSystemManager yuneecManager = strategyFactory.getSystemManager(yuneecAirport);
|
||||
yuneecManager.airportOnline(yuneecAirport);
|
||||
System.out.println(" " + yuneecManager.getFullStatus(yuneecAirport));
|
||||
System.out.println();
|
||||
|
||||
// ==================== 场景7: 最终状态汇总 ====================
|
||||
System.out.println("【场景7】所有机巢最终状态汇总");
|
||||
// ==================== 场景4: 当前状态汇总 ====================
|
||||
System.out.println("【场景4】当前状态汇总");
|
||||
System.out.println("----------------------------------------");
|
||||
System.out.println(String.format("%-20s %-15s %s", "机巢SN", "平台类型", "状态"));
|
||||
System.out.println("------------------------------------------------------------");
|
||||
|
|
@ -142,29 +86,9 @@ public class MultiPlatformDemo {
|
|||
djiAirport,
|
||||
strategyFactory.getPlatformType(djiAirport).getName(),
|
||||
djiManager.getFullStatus(djiAirport)));
|
||||
System.out.println(String.format("%-20s %-15s %s",
|
||||
autelAirport,
|
||||
strategyFactory.getPlatformType(autelAirport).getName(),
|
||||
autelManager.getFullStatus(autelAirport)));
|
||||
System.out.println(String.format("%-20s %-15s %s",
|
||||
djiAirport2,
|
||||
strategyFactory.getPlatformType(djiAirport2).getName(),
|
||||
djiManager2.getFullStatus(djiAirport2)));
|
||||
System.out.println(String.format("%-20s %-15s %s",
|
||||
yuneecAirport,
|
||||
strategyFactory.getPlatformType(yuneecAirport).getName(),
|
||||
yuneecManager.getFullStatus(yuneecAirport)));
|
||||
System.out.println();
|
||||
|
||||
System.out.println("\n========== 多平台机巢系统演示结束 ==========\n");
|
||||
|
||||
System.out.println("✅ 多平台架构优势:");
|
||||
System.out.println(" 1. 支持多个无人机平台(DJI、AUTEL、YUNEEC等)");
|
||||
System.out.println(" 2. 各平台独立实现Guard、Action和Listener");
|
||||
System.out.println(" 3. 通过数据库配置平台映射关系");
|
||||
System.out.println(" 4. 多个平台可以同时运行,互不干扰");
|
||||
System.out.println(" 5. 易于扩展新平台,只需实现对应的Strategy接口");
|
||||
System.out.println(" 6. 默认Listener提供基础功能,各平台可定制");
|
||||
System.out.println("\n========== DJI 机巢系统演示结束 ==========\n");
|
||||
|
||||
context.close();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue