package com.ningdatech.carapi.scheduler.contants;

import java.math.BigDecimal;

/**
 * @author PoffyZhang
 * @Classname TaskContant
 * @Description
 * @Date 2022/12/7 11:00
 */
public interface TaskConstant {
    class Host {
        public static final String HOST_ZPF =  "LAPTOP-NQGEQP03";
        public static final String HOST_CMM2 =  "DESKTOP-KN1L6HL";
        public static final String HOST_CMM =  "LAPTOP-PCISPN2O";

        public static final String HOST_207 =  "iZbp13nwyvib53j4j1p2xoZ";
    }

    class DataField {

        public static final String GPS = "GPS";

        public static final String ADAS = "ADAS";
        public static final String ROAD_SIGN_TYPE = "roadSignType";
        public static final String ROAD_SIGN_DATA = "roadSignData";
        public static final String LONGITUDE = "longitude";

        public static final String LATITUDE = "latitude";
    }

    class Data{
        public static final Integer ROAD_SIGN_TYPE_OVERSPEED = 1;
        public static final Integer STAR_NUMBER_RANGE_ZERO = 0;
        public static final Integer STAR_NUMBER_RANGE_TWENTY = 20;
        public static final Integer STAR_NUMBER_RANGE_FORTY = 40;
        public static final Integer STAR_NUMBER_RANGE_SIXTY = 60;
        public static final Integer STAR_NUMBER_RANGE_EIGHTY = 80;

        public static final Integer DRIVER_STAR_DATA_CNT_ONE = 1;

        public static final Integer OPERATOR_ASSESSMENT_SCORE_ZERO = 0;
        public static final Integer OPERATOR_ASSESSMENT_SCORE_HUNDRED = 100;

        public static final Integer MONTH_VALUE_ONE = 1;
        public static final Integer MONTH_VALUE_TWO = 2;
        public static final Integer MONTH_VALUE_THREE = 3;
        public static final Integer MONTH_VALUE_FOUR = 4;
        public static final Integer MONTH_VALUE_FIVE = 5;
        public static final Integer MONTH_VALUE_SIX = 6;
        public static final Integer MONTH_VALUE_SEVEN = 7;
        public static final Integer MONTH_VALUE_EIGHT = 8;
        public static final Integer MONTH_VALUE_NINE = 9;
        public static final Integer MONTH_VALUE_TEN = 10;
        public static final Integer MONTH_VALUE_ELEVEN = 11;
        public static final Integer MONTH_VALUE_TWELVE = 12;

        public static final Integer SUB_LIST_SIZE = 2000;
        public static final Integer VIOLATION_TIME_SEVEN = 7;
        public static final Integer VIOLATION_TIME_NINE = 9;
        public static final Integer VIOLATION_TIME_SIXTEEN = 16;
        public static final Integer VIOLATION_TIME_EIGHTEEN = 18;
        public static final String VIOLATION_TIME_AM_START = "7:00";
        public static final String VIOLATION_TIME_AM_END = "9:00";
        public static final String VIOLATION_TIME_PM_START = "16:30";
        public static final String VIOLATION_TIME_PM_END = "18:30";
        public static final String VIOLATION_TIME_HALF = ":30";
        public static final String VIOLATION_TIME_START = ":00";
        public static final Integer GPS_TIME_BUCKET = 5;

    }

    class RedisKey {
        public static final String OVERSPEED_TASK_LOCK = "cm:task:overspeed:task_lock";

        public static final String OVERSPEED_ALARM_DATA_INDEX = "cm:task:overspeed:alarm_data_index";
        public static final String OVERSPEED_GPS_DATA_INDEX = "cm:task:overspeed:gps_data_index";

        public static final String DRIVER_STAR_MANAGE_OUT_DANGER = "cm:task:driver:star_manage_out_danger_index";

        public static final String DRIVER_BLACK_LIST = "cm:task:driver:black_list_index";

        public static final String COMPANY_VEHICLE_NOT_GET_ON = "cm:task:company:not_get_on_index";

        public static final String DRIVER_STAR_MANAGE_ACCIDENT = "cm:task:driver:star_manage_accident_index";

        public static final String DRIVER_STAR_MANAGE_DEATH_ACCIDENT = "cm:task:driver:star_manage_death_accident_index";

        public static final String DRIVER_ABNORMAL_BEHAVIOR_ANALYSIS = "cm:task:driver:driver_abnormal_behavior_analysis_index";

        public static final String VEHICLE_ALARM_DATA_INDEX = "cm:task:vehicle:alarm_data_index";

        public static final String OPERATOR_ASSESSMENT_SCORE = "cm:task:operator:operator_assessment_score_index";
        public static final String ACCIDENT_QUERY_IRS = "cm:task:irs:accident_query_irs_index";
        public static final String VEHICLE_ILLEGAL_QUERY_IRS = "cm:task:irs:vehicle_illegal_query_irs_index";
        public static final String DRIVING_LICENCE_IRS = "cm:task:irs:driving_license_irs_index";
        public static final String VEHICLE_LICENSE_IRS = "cm:task:irs:vehicle_license_irs_index";
        public static final String IRS_VEHICLE_ILLEGAL_REQUEST_SECRET = "cm:task:irs:irs_vehicle_illegal_request_secret_index";
        public static final String IRS_VEHICLE_ILLEGAL_REFRESH_SECRET = "cm:task:irs:irs_vehicle_illegal_refresh_secret_index";
        public static final String IRS_VEHICLE_LICENSE_REQUEST_SECRET = "cm:task:irs:irs_vehicle_license_request_secret_index";
        public static final String IRS_VEHICLE_LICENSE_REFRESH_SECRET = "cm:task:irs:irs_vehicle_license_refresh_secret_index";
        public static final String IRS_ACCIDENT_QUERY_REQUEST_SECRET = "cm:task:irs:irs_accident_query_request_secret_index";
        public static final String IRS_ACCIDENT_QUERY_REFRESH_SECRET = "cm:task:irs:irs_accident_query_refresh_secret_index";
        public static final String IRS_ACCIDENT_DUTY_REQUEST_SECRET = "cm:task:irs:irs_accident_duty_request_secret_index";
        public static final String IRS_ACCIDENT_DUTY_REFRESH_SECRET = "cm:task:irs:irs_accident_duty_refresh_secret_index";

        public static final String IRS_ACCIDENT_QUERY_REQUEST_SECRET_TEST = "cm:task:irs:irs_accident_query_request_secret_test_index";
        public static final String IRS_ACCIDENT_QUERY_REFRESH_SECRET_TEST = "cm:task:irs:irs_accident_query_refresh_secret_test_index";

        public static final Integer IRS_SECRET_TIME_INTERVAL = 10;

        public static final String GPS_DATA_PULL_MAX_BIZ_ID = "cm:task:gps:gps_data_pull_max_biz_id";

        // 黄山隧道东阳去向
        public static final String HS_DY_GO_REDIS_ALL_DATA_KEY = "yw:algorithm:redis:hs_dy_go_all_data_key";
        // 黄山隧道东阳来向
        public static final String HS_DY_COME_REDIS_ALL_DATA_KEY = "yw:algorithm:redis:hs_dy_come_all_data_key";
        // 黄山隧道义乌去向
        public static final String HS_YW_GO_REDIS_ALL_DATA_KEY = "yw:algorithm:redis:hs_yw_go_all_data_key";
        // 黄山隧道义乌来向
        public static final String HS_YW_COME_REDIS_ALL_DATA_KEY = "yw:algorithm:redis:hs_yw_come_all_data_key";
        // 何里隧道兰溪方向
        public static final String HL_LX_REDIS_ALL_DATA_KEY = "yw:algorithm:redis:hl_lx_all_data_key";
        // 何里隧道义乌方向
        public static final String HL_YW_REDIS_ALL_DATA_KEY = "yw:algorithm:redis:hl_yw_all_data_key";
    }

    class Math {
        public static final BigDecimal LONGITUDE_UNITS = BigDecimal.valueOf(1000000);

        public static final BigDecimal SPEED_UNITS = BigDecimal.valueOf(0.036);

        public static final BigDecimal ALTITUDE_UNITS = BigDecimal.valueOf(100);

        public static final BigDecimal DIRECTION_UNITS = BigDecimal.valueOf(10);
    }


    class Msg {
        public static final String REDIS_KEY_NOT_FOUND = "redis key {} not found 请查找原因!";
        public static final String REFRESH_KEY_FREQUENTLY = "请求过于频繁，请稍候再试";
    }

    class Code {
        public static final String REFRESH_KEY_FREQUENTLY_CODE = "88";
    }

    class Star{
        public static final Double ONE_STAR = 1.0;
        public static final Double TWO_STAR = 2.0;
        public static final Double THREE_STAR = 3.0;
        public static final Double FOUR_STAR = 4.0;
        public static final Double FIVE_STAR = 5.0;


    }
}
