fuliqi
2024-11-19 3380b0f6767308fa91bd55d68a96a48be5029aa7
ycl-common/src/main/java/enumeration/ErrorType.java
@@ -3,42 +3,98 @@
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
 * @author:xp
 * @date:2024/8/19 11:39
 */
@Getter
public enum ErrorType {
    //通用
//    PLATFORM_OFFLINE("PLATFORMOFFLINE", "平台离线","COMMON"),
//    SEVER_INTERRUPT("SEVERINTERRUPT", "服务中断","COMMON"),
    DEVICE_OFFLINE("DEVICEOFFLINE", "设备离线","COMMON"),
    POINT_INFO_ERROR("POINTINFOERRO", "点位信息错误","COMMON"),
    //视频
    CLOCK_SKEW("CLOCKSKEW", "时钟偏差","VIDEO"),
    SIGNAL_LOSS("SIGNALMISS", "信号缺失","VIDEO"),
    SCREEN_COLOR_DEVIATION("SCREENCOLOR", "画面偏色","VIDEO"),
    SNOW_STORM("SCREENSNOW", "雪花干扰","VIDEO"),
    STRIPE_INTERFERENCE("SCREENSTRIP", "条纹干扰","VIDEO"),
    SCREEN_OCCLUSION("SCREENSHADE", "画面遮挡","VIDEO"),
    ABNORMAL_CLARITY("SCREENBLUR", "清晰度异常","VIDEO"),
//    ABNORMAL_BRIGHTNESS("SCREENLIGHT", "亮度异常","VIDEO"),
    OSD_ERROR("OSD", "osd异常","VIDEO"),
//    VIDEO_LOSS("VIDEOMISS", "录像缺失","VIDEO"),
//    VIDEO_NONE("NOVIDEO", "无录像","VIDEO"),
//    POINT_INFO_MISS("POINTINFOMISS", "点位信息不全","COMMON"),
//    UNKNOWN("UNKNOWN", "未知"),
//    PIC_URLABNORMAL("PICURLABNORMAL","图片访问异常",""),
//    MONITOR_UNQUALIFY("MONITORUNQUALIFY", "一机一档不合格"),
//    PIC_UNUSEFUL("PICUNUSEFUL", "大图不可用"),
//    VIDEO_ORPIC_UNNORMAL("VIDEOORPICUNNORMAL", "视频拉流、图片获取异常"),
    PLATFORM_OFFLINE("PLATFORMOFFLINE", "平台离线"),
    SEVER_INTERRUPT("SEVERINTERRUPT", "服务中断"),
    DEVICE_OFFLINE("DEVICEOFFLINE", "设备离线"),
    VIDEO_LOSS("VIDEOMISS", "录像缺失"),
    VIDEO_NONE("NOVIDEO", "无录像"),
    PIC_URLABNORMAL("PICURLABNORMAL","图片访问异常"),
    POINT_INFO_ERROR("POINTINFOERRO", "点位信息错误"),
    POINT_INFO_MISS("POINTINFOMISS", "点位信息不全"),
    SIGNAL_LOSS("SIGNALMISS", "信号缺失"),
    SCREEN_COLOR_DEVIATION("SCREENCOLOR", "画面偏色"),
    SNOW_STORM("SCREENSNOW", "雪花干扰"),
    STRIPE_INTERFERENCE("SCREENSTRIP", "条纹干扰"),
    SCREEN_OCCLUSION("SCREENSHADE", "画面遮挡"),
    ABNORMAL_CLARITY("SCREENBLUR", "清晰度异常"),
    ABNORMAL_BRIGHTNESS("SCREENLIGHT", "亮度异常"),
    UNKNOWN("UNKNOWN", "未知"),
    CLOCK_SKEW("CLOCKSKEW", "时钟偏差"),
    OSD_ERROR("OSD", "osd异常"),
    MONITOR_UNQUALIFY("MONITORUNQUALIFY", "一机一档不合格"),
    VIDEO_ORPIC_UNNORMAL("VIDEOORPICUNNORMAL", "视频拉流、图片获取异常"),
    PIC_UNUSEFUL("PICUNUSEFUL", "大图不可用"),
    // 阈值
    //车辆人脸通用
    CLOCK_RIGHT("CLOCK_RIGHT", "时钟准确率异常","CARORFACE"),
    LONG_DAY_NO_DATA("LONG_DAY_NO_DATA", "长时间无数据","CARORFACE"),
    DATA_TIMELY_ERROR("DATA_TIMELY_ERROR", "数据及时性异常","CARORFACE"),
    NOT_UNIQUE_DATA_VOLUME("NOT_UNIQUE_DATA_VOLUME", "不唯一数据量异常","CARORFACE"),
    UNRECOGNIZED_DAY_VOLUME("UNRECOGNIZED_DAY_VOLUME", "白天未识别数据量异常","CARORFACE"),
    //车辆
    CAR_SIX("CAR_SIX", "车辆六项属性不完整","CAR"),
    //人脸
    MODELING_FAIL("MODELING_FAIL", "建模失败率异常","FACE"),
    FACE_LOW("FACE_LOW", "人脸低分率异常","FACE"),
    ;
    private String value;
    private String desc;
    ErrorType(String value, String desc) {
    private String category;
    ErrorType(String value, String desc,String category) {
        this.value = value;
        this.desc = desc;
        this.category = category;
    }
    // 根据分类获取错误类型列表
    public static List<ErrorType> getErrorTypesByCategory(String category) {
        return Arrays.stream(values())
                .filter(errorType -> errorType.getCategory() == category)
                .collect(Collectors.toList());
    }
    // 根据value获取desc
    public static List<String> getDescriptionList() {
        List<String> list = new ArrayList<>();
        for (ErrorType errorType : ErrorType.values()) {
            list.add(errorType.getDesc());
        }
        return list;
    }
    // 根据value获取desc
    public static String getDescriptionByValue(String value) {
        for (ErrorType errorType : ErrorType.values()) {
            if (errorType.getValue().equals(value)) {
                return errorType.getDesc();
            }
        }
        return null;
    }
    // 根据desc获取value
    public static String getValueByDescription(String desc) {
        for (ErrorType errorType : ErrorType.values()) {
            if (errorType.getDesc().equals(desc)) {
                return errorType.getValue();
            }
        }
        return null;
    }
}