package com.ard.work.sdk.zlxd.service; import com.ard.common.core.utils.StringUtils; import lombok.Getter; import java.util.Objects; /** * sdk错误码枚举 * 刘苏义 * 2024/3/7 10:50:52 */ @Getter public enum ErrorCodeEnum { NET_DVR_CLIENT_PARAM_ERROR(48, "客户端错误,指参数配置时传给PU的参数错误"), NET_DVR_SERVER_HANDLE_ERROR(49, "服务器错误,指参数正确,PU无法处理"), NET_DVR_PROTOCOL_TRANSLATE_ERROR(50, "协议翻译出错,可能协议中缺少必需结构"), NET_DVR_CHANNEL_MAPPING_LOGIC_ERROR(51, "逻辑通道转真实通道错误,可能NVR没加PU"), NET_DVR_CHANNEL_FULL_ERROR(52, "通道满,加入PU的通道数超过了实际的限制"), NET_DVR_CHANNEL_MAPPING_OCCUPIED_ERROR(53, "通道映射关系指定错误,通道已被占用"), NET_DVR_ANALOG_CHANNEL_DISABLED(54, "模拟通道未使能"), NET_DVR_CHANNEL_STREAM_LIMIT_ERROR(55, "超出接入通道码流限制"), NET_DVR_STREAM_TYPE_NOT_SUPPORT(56, "不支持相应的码流类型"), NET_DVR_USER_NOT_EXIST(257, "无该用户"), NET_DVR_USER_PASSWORD_ERROR(258, "用户密码错误"), NET_DVR_USER_NO_PERMISSION(259, "无权限"), NET_DVR_USER_CONNECT_LIMIT(260, "已达到同时连接的用户上限"), NET_DVR_ILLEGAL_ACCESS(266, "非法访问"), NET_DVR_DEVICE_NOT_IN_WHITELIST(267, "设备不在白名单"); /** * 枚举码 */ private Integer code; /** * 枚举描述 */ private String desc; private ErrorCodeEnum(Integer code, String desc) { this.code = code; this.desc = desc; } /** * 根据枚举码获取枚举 * * @param code 枚举码 * @return 枚举 */ public static final ErrorCodeEnum getByCode(Integer code) { if (StringUtils.isNull(code)) { return null; } for (ErrorCodeEnum item : ErrorCodeEnum.values()) { if (item.getCode() == code) { return item; } } return null; } /** * 根据枚举码获取枚举描述 * * @param code 枚举码 * @return 枚举描述 */ public static final String getDescByCode(Integer code) { if (StringUtils.isNull(code)) { return "未知"; } for (ErrorCodeEnum item : ErrorCodeEnum.values()) { if (Objects.equals(item.getCode(), code)) { return item.getDesc(); } } return "找不到错误码对应的错误描述,请联系管理员"; } }