diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java new file mode 100644 index 0000000000..ebe9dc5e08 --- /dev/null +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java @@ -0,0 +1,141 @@ +package com.zhidao.support.adas.high.common; + +/** + * 监控事件报告中定义的事件以及解释 + */ +public class MogoReport { + private static final String RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE"; + private static final String RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED"; + private static final String RESULT_DISCONNECTED_WITH_PAD = "RESULT_DISCONNECTED_WITH_PAD"; + private static final String RESULT_AUTOPILOT_INFERIOR = "RESULT_AUTOPILOT_INFERIOR"; + private static final String RESULT_PAD_CANNOT_CONNECT_TELEMATICS = "RESULT_PAD_CANNOT_CONNECT_TELEMATICS"; + private static final String RESULT_PAD_INFO_LOST = "RESULT_PAD_INFO_LOST"; + private static final String RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS = "RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS"; + private static final String RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS = "RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS"; + private static final String RESULT_PAD_CANNOT_GET_OBSTACLE_INFO = "RESULT_PAD_CANNOT_GET_OBSTACLE_INFO"; + private static final String RESULT_NO_CONNECTION_TO_AICLOUD = "RESULT_NO_CONNECTION_TO_AICLOUD"; + private static final String RESULT_AICLOUD_INFO_LOST = "RESULT_AICLOUD_INFO_LOST"; + private static final String RESULT_CANNOT_CHANGE_LIGHT = "RESULT_CANNOT_CHANGE_LIGHT"; + + public enum Result { + + AUTOPILOT_DISABLE(RESULT_AUTOPILOT_DISABLE, "无法启动自动驾驶"), + AUTOPILOT_SYSTEM_UNSTARTED(RESULT_AUTOPILOT_SYSTEM_UNSTARTED, "某些前置依赖条件未达成,导致的自动驾驶系统(节点)未能运行"), + DISCONNECTED_WITH_PAD(RESULT_DISCONNECTED_WITH_PAD, "未检测到来自pad的链接,如果只报了这个result,可以通过后台/远程驾驶启动自动驾驶"), + AUTOPILOT_INFERIOR(RESULT_AUTOPILOT_INFERIOR, "自动驾驶部分功能受影响,演示模式可以考虑强行启动,需联系人员排查问题"), + PAD_CANNOT_CONNECT_TELEMATICS(RESULT_PAD_INFO_LOST, "Pad无法连接到工控机"), + PAD_INFO_LOST(RESULT_PAD_CANNOT_CONNECT_TELEMATICS, "Pad工控机之间指令信息丢失"), + PAD_CANNOT_GET_AUTOPILOT_STATUS(RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS, "Pad端无法拿到自动驾驶状态信息"), + PAD_CANNOT_GET_GNS_CHASSIS_STATUS(RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS, "Pad端无法拿到自车状态和底盘状态信息"), + PAD_CANNOT_GET_OBSTACLE_INFO(RESULT_PAD_CANNOT_GET_OBSTACLE_INFO, "Pad端无法拿到障碍物信息"), + NO_CONNECTION_TO_AICLOUD(RESULT_NO_CONNECTION_TO_AICLOUD, "无法和云端通信"), + AICLOUD_INFO_LOST(RESULT_AICLOUD_INFO_LOST, "云端工控机之间信息丢失"), + CANNOT_CHANGE_LIGHT(RESULT_CANNOT_CHANGE_LIGHT, "变灯失败"); + + /** + * 消息result code + */ + public final String resultCode; + /** + * 描述 + */ + public final String desc; + + Result(String resultCode, String desc) { + this.resultCode = resultCode; + this.desc = desc; + } + + + public String getDesc(String resultCode) { + switch (resultCode) { + case RESULT_AUTOPILOT_DISABLE: + return AUTOPILOT_DISABLE.desc; + case RESULT_AUTOPILOT_SYSTEM_UNSTARTED: + return AUTOPILOT_SYSTEM_UNSTARTED.desc; + case RESULT_DISCONNECTED_WITH_PAD: + return DISCONNECTED_WITH_PAD.desc; + case RESULT_AUTOPILOT_INFERIOR: + return AUTOPILOT_INFERIOR.desc; + case RESULT_PAD_CANNOT_CONNECT_TELEMATICS: + return PAD_CANNOT_CONNECT_TELEMATICS.desc; + case RESULT_PAD_INFO_LOST: + return PAD_INFO_LOST.desc; + case RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS: + return PAD_CANNOT_GET_AUTOPILOT_STATUS.desc; + case RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS: + return PAD_CANNOT_GET_GNS_CHASSIS_STATUS.desc; + case RESULT_PAD_CANNOT_GET_OBSTACLE_INFO: + return PAD_CANNOT_GET_OBSTACLE_INFO.desc; + case RESULT_NO_CONNECTION_TO_AICLOUD: + return NO_CONNECTION_TO_AICLOUD.desc; + case RESULT_AICLOUD_INFO_LOST: + return AICLOUD_INFO_LOST.desc; + case RESULT_CANNOT_CHANGE_LIGHT: + return CANNOT_CHANGE_LIGHT.desc; + default: + return resultCode; + + } + } + + } + + private static final String ACTION_CONTACT_TECH_SUPPORT = "ACTION_CONTACT_TECH_SUPPORT"; + private static final String ACTION_CONTACT_MAINTENANCE = "ACTION_CONTACT_MAINTENANCE"; + private static final String ACTION_CONTACT_HARDWARE_ENGINEER = "ACTION_CONTACT_HARDWARE_ENGINEER"; + private static final String ACTION_REBOOT_PAD = "ACTION_REBOOT_PAD"; + private static final String ACTION_REBOOT_VEHICLE = "ACTION_REBOOT_VEHICLE"; + private static final String ACTION_CHECK_GEAR = "ACTION_CHECK_GEAR"; + private static final String ACTION_CHECK_NETWORK = "ACTION_CHECK_NETWORK"; + + public enum Action { + + CONTACT_TECH_SUPPORT(ACTION_CONTACT_TECH_SUPPORT, "联系技术支持"), + CONTACT_MAINTENANCE(ACTION_CONTACT_MAINTENANCE, "联系运维"), + CONTACT_HARDWARE_ENGINEER(ACTION_CONTACT_HARDWARE_ENGINEER, "联系硬件"), + REBOOT_PAD(ACTION_REBOOT_PAD, "重启Pad"), + REBOOT_VEHICLE(ACTION_REBOOT_VEHICLE, "重启车辆"), + CHECK_GEAR(ACTION_CHECK_GEAR, "检查车辆档位等影响自动驾驶的因素"), + CHECK_NETWORK(ACTION_CHECK_NETWORK, "检查网络连接和路由器等影响通信的因素"); + + /** + * 消息Action code + */ + public final String actionCode; + /** + * 描述 + */ + public final String desc; + + Action(String actionCode, String desc) { + this.actionCode = actionCode; + this.desc = desc; + } + + + public String getDesc(String actionCode) { + switch (actionCode) { + case ACTION_CONTACT_TECH_SUPPORT: + return CONTACT_TECH_SUPPORT.desc; + case ACTION_CONTACT_MAINTENANCE: + return CONTACT_MAINTENANCE.desc; + case ACTION_CONTACT_HARDWARE_ENGINEER: + return CONTACT_HARDWARE_ENGINEER.desc; + case ACTION_REBOOT_PAD: + return REBOOT_PAD.desc; + case ACTION_REBOOT_VEHICLE: + return REBOOT_VEHICLE.desc; + case ACTION_CHECK_GEAR: + return CHECK_GEAR.desc; + case ACTION_CHECK_NETWORK: + return CHECK_NETWORK.desc; + + default: + return actionCode; + + } + } + + } +}