package com.thinkunion.park.service.common.cache;


public interface CacheNames {

    String ANONYMOUS_PLATE_NO_CHECK = "car:anonymous:check:";

    /**
     * 用于缓存的key为  CAPTCHA_KEY+车牌号+道闸
     * 作用于临闸缴费 下发开闸控制
     */
    String CAPTCHA_KEY = "nest:auth::nest:captcha:";

    String TENANT_CAPTCHA_KEY = "nest:auth::nest:captcha:%s:%s";

    String CAPTCHA_KEY_TIMES = "nest:auth:%s:nest:captcha:times:%s";

    /**
     * 作用于缓存 放行规则返回的数据
     * CAR_RULE_KEY+车牌号
     */
    String CAR_RULE_KEY = "car:auth::nest:plateNo:";

    /**
     * 作用域缓存 无牌车放行规则返回的数据
     * CAR_NO_PLATE_RULE_KEY + 事件Id
     */
    String ANONYMOUS_PLATE_RULE_KEY = "car:auth::nest:no:plateNo:event:";
    /**
     * 作用于车辆入场保存一条过车记录
     * CAR_LOG_IN_KEY+parkingId+roadwayId
     */
    String CAR_LOG_IN_KEY = "car:auth::nest:log:in:";

    /**
     * 作用于车辆出场保存一条过车记录
     * CAR_LOG_OUT_KEY+parkingId+roadwayId
     */
    String CAR_LOG_OUT_KEY = "car:auth::nest:log:out:";

    String ROADWAY_NO_PLATE_NO_ID = "car:auth::nest:no:plate:";

    /**
     * 用于缓存停车场的月卡数据
     * MONTHLY_BILL_KEY+parkingId
     */
    String MONTHLY_BILL_KEY = "car:auth::nest:monthlyBill:";

    /**
     * 用于缓存当前停车场下的所有的道闸信息
     * <p>
     * PARKING_ROADWAY_OUT_KEY + parkingId
     */
    String PARKING_ROADWAY_OUT_KEY = "parking:auth::nest:roadway:";

    /**
     * 用于缓存当前停车场下的所有的道闸信息
     * <p>
     * PARKING_EVENT_ID + （eventCmd + eventIndex）
     */
    String PARKING_EVENT_ID = "parking:auth::nest:event:";

    /**
     * 用于缓存当前停车场下设备+车牌号的事件
     * <p>
     * PARKING_PLATENO_DEVICENAME + （plateNo + deviceName）
     */
    String PARKING_DEVICENAME_PLATENO = "parking:deviceName::plateNo";

    /**
     * 用于缓存厦门银行XCPay支付信息
     */
    String PARK_PAY_XCPAY = "park:pay:xcpay:";

    /**
     * 用于缓存停车场数据信息
     */
    String PARK_PARKING_EXTEND = "park:parking:extend:";
    /**
     * 用于缓存访客车信息
     */
    String VISITOR_CAR_INFO = "park:parking:visitor:";

    /**
     * 用于缓存停车场免费车辆
     */
    String PARK_PARKING_QRCODE_FREE = "park:parking:qrcode:free:";

    /**
     * 是否开启人脸
     */
    String OPEN_FACE = "park:visitor:open:face";


    /**
     * 缓存设备信息的redis_key前缀
     **/
    String DEVICE_PRO_PREFIX = "park:device:";


    /**
     * 缓存计算值整体前缀
     */
    String DEVICE_STATISTIC_CASH_KEY = "park:device:statistic:";

    /**
     * 缓存计算值的能耗统计前缀
     */
    String DEVICE_COUNT_CASH_KEY = "park:device:statistic:count:";
    /**
     * 趋势数据缓存
     */
    String DEVICE_TREND_CASH_KEY = "park:device:statistic:trend:";
    /**
     * 排名数据缓存
     */
    String DEVICE_RANK_CASH_KEY = "park:device:statistic:rank:";
    /**
     * 最新数据缓存key
     */
    String DEVICE_LATEST_CASH_KEY = "park:device:statistic:latest:";

    /**
     * 单个设备的统计数据前缀 single
     */
    String DEVICE_DEFINITE_CASH_KEY = "park:device:statistic:count:single:";


    /**
     * 人员登陆之后输入账号和密码的次数
     */
    String USER_ACCESS_AUTH = "user:access:auth:";

    /**
     * 园区土壤湿度界限值
     */
    String PARK_SOIL_HUMIDITY = "park:soil:humidity:";

    /**
     * 设备画像类型key
     */
    String EQ_BREAKDOWN_TYPE = "park:equipment:breakdown:type";

    /**
     * 设备故障规则key
     */
    String EQ_BREAKDOWN_RULE_KEY = "park:equipment:breakdown:rule";

    /**
     * 设备画像规则key
     */
    String EQ_PICTURE_RULE = "park:equipment:picture:rule";

    /**
     * 设备画像分析数据存储前缀
     */
    String EQ_PICTURE_CODE = "park:equipment:picture:analyse";

    /**
     * 旧ISC人员信息同步key
     */
    String SYNC_OLD_ISC_PEOPLE = "sync:old:isc:people:";

    /**
     * 停车场车辆事件
     * parking:car:event:停车场ID:车牌号
     */
    String PARKING_CAR_EVENT = "parking:car:event:";

    /**
     * 停车场车辆无感支付加锁
     * parking:car:noFeel:停车场ID:车牌号
     */
    String PARKING_CAR_NOFEEL = "parking:car:noFeel:";

    /**
     * 停车场——定时任务事件
     * parking:task:定时任务名
     */
    String PARKING_TASK = "parking:task:";

    /**
     * 月卡状态是否进行更新标识
     */
    String PARKING_CARD_STATE_TASK = "parking:card:stateTask";

    /**
     * 停车场车辆开闸记录
     *
     */
    String PARKING_PLATENO_GATEOPEN = "parking:plateNo:gateOpen";
    String CHARGING_TERMINAL_START_LIMIT ="charging_start_limit_terminalid_%s";
    String CHARGING_RESULT_NOTIFY ="charging_result_notify_%s";
    String CHARGING_TERMINAL_BASIC_KEY = "charging:tml:basic:terminalid_%s";

    String CHARGING_TERMINAL_DETAIL_MAP = "charging:tml:station_%s:detail:map";

    String CHARGING_TERMINAL_DETAIL_MAP_KEY = "charging:tml:detail:map:productKey_%s:gunNo_%s";

    String CHARGING_TERMINAL_CHARGING_MAP = "charging:tml:station_%s:charging:map";

    String CHARGING_TERMINAL_USER_CHARGING_LIST_KEY = "charging:tml:userid_%s:charging:list";

    String CHARGING_TERMINAL_CHARGING_MAP_KEY = "charging:tml:charging2:map:terminalid_%s";

    String WECHAT_ACCESS_TOKEN_NAME="wechat_acess_token_appid_%s";
    String RSJ_CAMERA_TOKEN = "rsj:camera:token";
    String CHARGE_STATION_OCCUPY_TIME = "charge:occupy:freetime:station_%s:";
    String CHARGE_STATION_OCCUPY_SB = "charge:occupy:freetime:station_sb%s:";

    String CHANGE_CREATE_SEND_CODE_KEY="change:create:%s";

    /**
     * 应用id
     */
    String APPLY_ID = "apply:id:%s";

    String LOCK="lock:";

    String LOCK_SYNC_DEPT=LOCK+"syncDept:";

    /**
     * 房源抄表加锁
     */
    String LOCK_HOUSE_METER_READING=LOCK+"houseMeterReading:";

    /**
     * 房源抄表加锁
     */
    String LOCK_PUBLIC_METER_READING=LOCK+"publicMeterReading:";

    /**
     * 活动排序调整加锁
     */
    String LOCK_PAY_REDUCTION_SORT=LOCK+"payReductionSort:";
}
