package com.zc.business.enums; /** * 摄像头方向 */ public enum CameraDirectionEnum { /** * 摄像头上行 */ UPWARD(0, "上行"), /** * 摄像头下行 */ DOWN(1, "下行"), /** * 摄像头上下行(双向) */ BIDIRECTIONAL(2, "上下行(双向)"); private final int code; private final String description; CameraDirectionEnum(int code, String description) { this.code = code; this.description = description; } public int getCode() { return code; } public String getDescription() { return description; } // 可选:根据code获取枚举值 public static CameraDirectionEnum fromCode(int code) { for (CameraDirectionEnum direction : values()) { if (direction.getCode() == code) { return direction; } } throw new IllegalArgumentException("无效的摄像机方向码: " + code); } public LaneDirectionEnum toLaneDirection() { switch (this) { case UPWARD: return LaneDirectionEnum.UPWARD; case DOWN: return LaneDirectionEnum.DOWNWARD; case BIDIRECTIONAL: // 假设摄像机双向就映射为车道双向 return LaneDirectionEnum.BIDIRECTIONAL; default: throw new IllegalStateException("未知的CameraDirection: " + this); } } }