package api.common.pojo.constants;

@SuppressWarnings("all")
public class DictConstants {

    public static final String ALGORITHM_PLATFORM_TOKEN_CACHE_KEY="ALGPLATFORM:TOKEN";

    public static final String ALGORITHM_EXPAND_STATUS_NOT_TESTED = "1";
    public static final String ALGORITHM_EXPAND_STATUS_TESTING = "2";
    public static final String ALGORITHM_EXPAND_STATUS_TESTED = "3";

    public static final String PROJECT_RUN_TYPE_EXECUTE = "1";  // 等待执行
    public static final String PROJECT_RUN_TYPE_EXPAND = "2";  // 等待扩充
    public static final String PROJECT_WAIT_QUEUE_KEY = "project-wait-queue";  // 等待执行

    public static final String MULTI_PROJECT_WAIT_QUEUE_KEY = "multi-project-wait-queue";  // 多模式仿真等待执行
    public static final String PROJECT_WAIT_TYPE_EXECUTE = "1";  // 等待执行
    public static final String PROJECT_WAIT_TYPE_EXPAND = "2";  // 等待扩充
    public static final String PROJECT_WAIT_TYPE_ALL = "3";  // 等待扩充
    public static final String LICENSE_TYPE_SIMULATION = "1";
    public static final String LICENSE_TYPE_DYNAMIC = "2";
    public static final String MODEL_TYPE_VTD = "1";
    public static final String MODEL_TYPE_CARSIM = "2";
    public static final String SCHEDULER_USER_ID = "simulation-resource-scheduler";

    public static final String SENSOR_CAMERA = "camera"; // 摄像头
    public static final String SENSOR_OGT = "ogt"; // 完美传感器
    public static final String SENSOR_LIDAR = "lidar"; // 激光雷达表
    public static final String SENSOR_RADAR = "radar"; // 毫米波雷达表
    public static final String SENSOR_GPS = "gps"; // GPS 传感器表

    // 场景测试包是否被禁用
    public static final String IS_AVAILABLE = "0";
    public static final String IS_UNAVAILABLE = "1";

    //字典缓存目录key
    public static final String BASE_KEY = "DICT:";
    public static final String LIST_KEY = "LIST:";
    public static final String MAP_KEY = "MAP:";
    //文件长传进度key
    public static final String ALGORITHM_KEY = "ALGORITHM:";

    //字典类型
    public static final String LEVEL = "level";//级别
    public static final String MODEL_LABEL = "modelLabel";//车辆模型
    public static final String VEHICLE_TYPE = "vehicleType";//车辆类型
    public static final String DRIVE_TYPE = "driveType";//驱动方式
    public static final String FRAME_RATE = "frameRate";//帧率
    public static final String COORDINATE = "coordinate";//坐标系
    public static final String TARGET_FILTER = "targetFilter";//目标物筛选
    public static final String REGULATION_TYPE = "regulationType"; // 法规类型
    public static final String SELF_DRIVING = "selfDriving"; // 自车驾驶行为
    public static final String TARGET_DRIVING = "targetDriving"; // 目标驾驶行为
    public static final String SELF_REACTION = "selfReaction"; // 自车反应行为
    public static final String CONFLICT_BEHAVIOR = "conflictBehavior"; // 冲突行为
    public static final String CONFLICT_TYPE = "conflictType"; // 冲突类型
    public static final String EVALUATION_LEVEL = "evaluationLevel";//项目评测等级
    public static final String PROJECT_RUN_STATE = "projectRunState";//项目运行状态
    public static final String VALIDATION_STATUS = "validationStatus";//项目运行状态
    public static final String ROLE_CODE = "roleCode";//用户类型（角色编码）
    public static final String USE_TYPE = "useType";//占用类型
    public static final String SCENE_TYPE = "sceneType";//场景类型
    public static final String SCENE_IMPORT_STATUS = "sceneImportStatus";//场景上传状态
    public static final String ALGORITHM_FILE = "algorithmFile";    //算法文件上传type
    public static final String VEHICLE_IMG_FILE = "vehicleImg";    //车辆图片上传type
    // 场景评价规则脚本类型
    public static final String SCENE_EVALUATION_RULE_PY_FILE = "evaluationPy";


    public static final String MAP_DRIVER_FILE = "mapFile";

    // 算法镜像上传类型
    public static final String ALGORITHM_UPLOAD_MODE_FILE = "1";    // 文件上传
    public static final String ALGORITHM_UPLOAD_MODE_GIT = "2";     // git 仓库
    public static final String ALGORITHM_UPLOAD_MODE_PLATFORM = "3";     // 算法平台


    //常用值
    public static final String YES = "1";//是
    public static final String NO = "0";//否

    public static final String USE_GPU = "0";//是
    public static final String NOT_USE_GPU = "1";//否
    public static final String USE_CPU = "1";//否


    public static final String IS_SHARED = "1";//是
    public static final String IS_DELETED = "1";//是
    public static final String IS_NOT_DELETED = "0";
    public static final String IS_NOT_SHARED = "0";//否

    public static final String SCENE_NATURAL = "1"; // 自然驾驶
    public static final String SCENE_STANDARD = "2";    // 标准法规
    public static final String SCENE_ACCIDENT = "3";    // 交通事故
    public static final String SCENE_GENERAL = "4";    // 泛化场景

    // 基准场景库
    public static final String SCENE_REFERENCE_LIB = "5";
    // 复杂度
    public static final String COMPLEXITY = "1";
    // 危险度
    public static final String RISK = "2";
    // 暴露率
    public static final String EXPOSURE_RATE = "3";
    // 覆盖率
    public static final String COVERAGE = "4";


    public static final String PROJECT_WAITING = "10"; // 项目执行状态，待执行
    public static final String PROJECT_RUNNING = "20"; // 项目执行状态，执行中
    public static final String PROJECT_RUNNING_NAME = "执行中"; // 项目执行状态，执行中
    public static final String PROJECT_COMPLETED = "30"; // 项目执行状态，已完成
    public static final String PROJECT_TERMINATED = "40"; // 项目执行状态，已终止
    public static final String PROJECT_TERMINATED_NAME = "已终止"; // 项目执行状态，已终止
    public static final String PROJECT_TERMINATING = "50"; // 项目执行状态，执行出错


    public static final String TASK_PENDING = "Pending"; // 任务执行状态，待执行
    public static final String TASK_RUNNING = "Running"; // 任务执行状态，运行中
    public static final String TASK_ABORTED = "Aborted"; // 任务执行状态，中断
    public static final String TASK_ANALYSIS = "PendingAnalysis"; // 任务执行状态，准备分析
    public static final String TASK_ANALYSING = "Analysing"; // 任务执行状态，分析中
    public static final String TASK_COMPLETED = "Completed"; // 任务执行状态，已完成
    public static final String TASK_TERMINATING = "Terminating"; // 任务执行状态，终止中
    public static final String TASK_TERMINATED = "Terminated"; // 任务执行状态，已终止
    public static final String TASK_TIMEOUT = "Timeout"; // 非常用状态，任务超时


    //算法校验状态
    public static final String WAITING = "1"; //等待校验
    public static final String RUNNING = "2"; //校验中
    public static final String SUCCESS = "3"; //校验成功
    public static final String FAIL = "4"; //校验失败

    //算法上传方式
    public static final String FILE = "1"; //文件上传
    public static final String GIT = "2"; //仓库地址
    public static final String PLATFORM = "3"; //算法平台


    //报告评测等级
    public static final String REPORT_LEVEL_G = "G";
    public static final String REPORT_LEVEL_A = "A";
    public static final String REPORT_LEVEL_M = "M";
    public static final String REPORT_LEVEL_P = "P";

    public static final String ROLE_CODE_SYSADMIN = "0"; //用户类型-超级管理员
    public static final String ROLE_CODE_ADMIN = "1"; //用户类型-子管理员
    public static final String ROLE_CODE_UESR = "2"; //用户类型-普通用户
    public static final String ROLE_CODE_SUBUESR = "3"; //用户类型-子账户


    // 任务失败原因
    public static final String TASK_ERROR_REASON_1 = "任务执行超时！";
    public static final String TASK_ERROR_REASON_2 = "任务执行超时或未知错误！";
    public static final String TASK_ERROR_REASON_3 = "容器终止！";
    public static final String TASK_ERROR_REASON_4 = "未知状态！";
    public static final String TASK_ERROR_REASON_5 = "打分出错！";

    public static final String USER_TYPE_EXCLUSIVE = "1";//独占使用
    public static final String USER_TYPE_PUBLIC = "2";//公共使用

    // 场景上传任务状态
    public static final String SCENE_IMPORT_STATUS_0 = "0"; //未上传
    public static final String SCENE_IMPORT_STATUS_1 = "1"; //上传中
    public static final String SCENE_IMPORT_STATUS_2 = "2"; //上传完成
    public static final String SCENE_IMPORT_STATUS_3 = "3"; //解析中
    public static final String SCENE_IMPORT_STATUS_4 = "4"; //解析完成

    // 项目类型
    public static final String PROJECT_TYPE_MANUAL = "1"; // 手动运行项目
    public static final String PROJECT_TYPE_AUTO_SUB = "2"; // 自动运行项目子项目

    // 集群id
    public static final String SYSTEM_CLUSTER_ID = "system"; // 超管使用此集群id执行项目
    public static final String SYSTEM_USER_ID = "admin"; // 超管使用此集群id执行项目

    // 评测等级
    public static final String EVALUATION_LEVEL_G = "G";
    public static final String EVALUATION_LEVEL_G_DESCRIPTION = "优秀（G）";
    public static final String EVALUATION_LEVEL_A = "A";
    public static final String EVALUATION_LEVEL_A_DESCRIPTION = "良好（A）";
    public static final String EVALUATION_LEVEL_M = "M";
    public static final String EVALUATION_LEVEL_M_DESCRIPTION = "一般（M）";
    public static final String EVALUATION_LEVEL_P = "P";
    public static final String EVALUATION_LEVEL_P_DESCRIPTION = "较差（P）";


    public static final String VIDEO_GPU = "0";
    public static final String VIDEO_CPU = "1";

}
