package com.multictrl.modules.business.q20.handler;

/**
 * Q20设备相关常量
 *
 * @author 938693313@qq.com
 * @since 1.0.0 2026/5/12
 */
public interface Q20Constant {

    // Q20 osd topic method字段值
    String METHOD_OSD = "osd";
    String METHOD_RTK = "rtk";
    String METHOD_RC = "rc";
    String METHOD_MOUNT = "mount";
    String METHOD_BATTERY = "battery";
    String METHOD_OBS = "obs";
    // Q20 status topic method字段值（sys/device/{sn}/status）
    String METHOD_ONLINE = "online";
    String METHOD_HEARTBEAT = "heartbeat";
    // Q20 state topic method字段值
    String METHOD_VERSION = "version";
    String METHOD_NOTIFY = "notify";
    String METHOD_HMS = "hms";
    // Q20 events topic method字段值
    String METHOD_LIFTOFF = "liftoff";
    String METHOD_ARRIVAL = "arrival";
    String METHOD_TAKEOFF = "takeoff";
    String METHOD_LAND = "land";
    String METHOD_NAVIGATE = "navigate";
    String METHOD_ROUTE_UPLOAD = "route_upload";
    String METHOD_ROUTE_EXECUTE = "route_execute";
    String METHOD_ROUTE_AUTO = "route_auto";
    String METHOD_OTA = "ota";

    // Q20 缓存key前缀
    String Q20_OSD = "q20_osd_";
    String Q20_RTK = "q20_rtk_";
    String Q20_RC = "q20_rc_";
    String Q20_MOUNT = "q20_mount_";
    String Q20_BATTERY = "q20_battery_";
    String Q20_OBS = "q20_obs_";
    String Q20_VERSION = "q20_version_";
    String Q20_HMS = "q20_hms_";
    String Q20_IN_WORK = "q20_in_work_";
    String Q20_LIFTOFF = "q20_liftoff_";
    String Q20_ARRIVAL = "q20_arrival_";
    String Q20_ROUTE_EXECUTE = "q20_route_execute_";
    String Q20_ROUTE_AUTO = "q20_route_auto_";
    String Q20_ONLINE = "q20_online_";

    // sys/device/ status topic前缀
    String Q20_SYS_TOPIC_PREFIX = "sys/device/";
    String STATUS_REPLY_SUFFIX = "_reply";
    long ONLINE_TTL_MS = 35_000L;
}
