package com.ho.common.tools.constant;

import java.math.BigDecimal;

/**
 * @author fancl
 * @desc: 公共常量
 * @date 2022/8/18
 */
public interface CommonConstant {

    //优先级
    String first = "first";
    //
    String value = "value";

    //配置
    String CONFIG = "config";
    //MES文件
    String MES_FILE = "mesFile";
    //minin固定的桶
    String BUCKET = "filestore";
    //url
    String url = "/mqtt_async";

    Integer NEGATIV_ONE = -1;

    Integer ZERO = 0;
    Integer ONE = 1;
    Integer TWO = 2;
    Integer THREE = 3;
    Integer FOUR = 4;
    Integer FIVE = 5;
    Integer SIX = 6;
    Integer SEVEN = 7;
    Integer EIGHT = 8;
    Integer NINE = 9;
    Integer TEN = 10;
    Integer ELEVEN = 11;
    Integer TWELVE = 12;
    Integer THIRTEEN = 13;
    Integer FOURTEEN = 14;
    Integer FIFTEEN = 15;
    Integer SIXTEEN = 16;
    Integer EIGHTEEN = 18;
    Integer SIXTY = 60;
    Integer TWENTY_THREE = 23;
    Integer TWENTY_FOUR = 24;
    Integer TWENTYFIVE = 25;
    Integer THIRTY = 30;
    Integer FIFTY = 50;
    Integer FIVE_HUNDRED = 500;
    Integer TWO_HUNDRED = 200;
    Integer FIVE_HUNDRED_AND_ONE = 501;
    Integer THREE_THOUSAND_AND_FOUR_HUNDRED = 3400;
    Integer THREETHOUSAND = 3401;
    Integer NINE_HUNDRED_AND_NINETY_NINE = 999;

    Integer HUNDRED = 100;
    String UTF_8 = "UTF-8";

    Float F_TWO = 2.0f;

    //顶层父ID
    Integer TOP_PARENT_ID = 0;

    //删除标志位
    Integer DELETED_FLAG = 0;
    Integer DELETED = 1;

    //遥信遥测标识
    String YX = "YX";
    String YC = "YC";

    //状态标志位
    Integer STATUS_FLAG = 1;
    Integer STATUS = 0;

    //菜单
    Integer MENU_FLAG = 2;
    //按钮
    Integer BUTTON_FLAG = 3;

    String ROWS = "rows";// 运维页面数据类型
    String USAGEINFO = "usage_info";// 运维页面数据类型
    String DATA = "data"; //
    String LIST = "list";          //多条数据的都有这个

    //header中 token的标识
    String ACCESS_TOKEN = "authorization";

    //工单表示
    String WORK_ORDER = "workOrder";

    //时间格式

    String DATE = "yyyy-MM-dd HH:mm:ss";

    //时间格式统一改为了 yyyy-MM-dd HH:mm:ss.SSS 2023-01-10 fan update
    //String MQTT_DATE = "yyyy-MM-dd/HH:mm:ss.SSS";
    String MQTT_DATE = "yyyy-MM-dd HH:mm:ss.SSS";

    String DATE_YMD = "yyyy-MM-dd";

    String DATE_YM = "yyyy-MM";

    String DATE_Y = "yyyy";

    String DATE_YMD_HMSS = "yyyy-MM-dd HH:mm:ss.SSS";

    String DATE_YMD_HMS = "yyyyMMdd HH:mm:ss";

    String DATEYMDHSS = "yyyyMMddHHmmssSSS";

    String DATEYMDHS = "yyyyMMddHHmmss";

    String DATE_PATH = "/yyyy/MM/dd";

    String DATEYMD = "yyyyMMdd";

    String DATA_DATE_YMD = "%Y-%m-%d";

    String DATA_DATE_YM = "%Y-%m";

    String DATA_DATE_Y = "%Y";

    String DATE_Hms = "HH:mm:ss";

    String DATE_Hm = "HH:mm";

    String DATE_YMD_Hm = "yyyy-MM-dd HH:mm";

    String DATE_YMD_H = "yyyy-MM-dd HH";

    String ZERO_SECOND = ":00";
    String ZERO_SECOND_MINUTE_HOUR = " 00:00:00";

    String FIFTY_NINE_SECOND = ":59";
    String FIFTY_NINE_SECOND_MINUTE_HOUR = "23:59:59";

    String START_SUFFIX_TIMESTAMP = " 00:00:00";
    String END_SUFFIX_TIMESTAMP = " 23:59:59";

    String START_TIMESTAMP = "-01";
    String MINUTES_SECONDS_BEGIN = ":00:00";
    String BEGIN_MINUTES_DAY = "00:00";
    String END_MINUTES_DAY = "24:00";
    String END_DAY = "23:59";
    String MINUTES_SECONDS_END = ":59:59";

    String MILLI_SECONDS_END = ".999";
    String MILLI_SECONDS_START = ".000";
    //超时时间
    long timeoutMilliSeconds = 3000L;
    //5分钟毫秒数
    Long FIVE_MINUTE_MS = 300000L;

    String JOIN = "_";

    String BRACE = "{}";

    //温湿度常量
    String TRANSMITTER = "rs-ws";

    /**
     * 组织机构编码key
     */
    String DEPT_KEY = "dept";
    /**
     * 角色编码key
     */
    String ROLE_KEY = "role";

    //超级管理员
    String SUPER_ROLE = "超级管理员";

    //超级管理员,这个角色比较特殊,系统会进行特殊处理
    String SUPER_ROLE_CODE = "SUPER_ROLE";

    //系统管理  （菜单名称）
    String SYS_MENU_NAME = "system";
    Integer SYS_MENU_Id = 28;

    //菜单管理,字段name为 menu
    String PERMISSION_MENU_NAME = "menu";
    //菜单管理的id 用固定值
    Integer PERMISSION_MENU_ID = 10;
    String PICTURE_TYPE = "png,jpg";

    //启用
    String IS_ENABLE = "启用";
    //禁用
    String NOT_IS_ENABlE = "禁用";

    //特殊用户
    String SPECIAL_USER = "specialUser";

    //运维人员
    String OPERATIONS_PERSON = "operationsPerson";

    //公司调试人员
    String DEBUGGING_PERSONNEL = "debuggingPersonnel";

    //演示用戶
    String DEMO_USER = "demoUser";

    //上送数据
    String PUSH_DATA = "pushData";

    //转发数据
    String FORWARD_DATA = "forwardData";

    //方法
    String METHOD = "method";

    //环境信息
    interface Env {
        //本地环境
        String DEV = "dev";
        //开发环境
        String EXP = "exp";
        //演示环境
        String TEST = "test";

    }

    //时间类型
    interface TimeType {
        //分钟
        String MINUTE = "minute";
        //小时
        String HOUR = "hour";
        //天
        String DAY = "day";
        //月
        String MONTH = "month";
        //年
        String YEAR = "year";

    }

    interface YC_VAULE_TYPE {

        //充电
        Integer CHARGE = 1;
        //放电
        Integer DISCHARGE = 2;

    }

    //设备类型
    interface DEVICE {
        //未知
        Integer UNKNOWN_STATUS = 0;
        //正在连接
        Integer ON_CONNECTION_STATUS = 1;
        //连接超时
        Integer CONNECTION_TIMED_OUT_STATUS = 2;
        //连接保持
        Integer CONNECTION_HOLD_STATUS = 3;
        //开始升级
        Integer START_UPGRADE_STATUS = 4;
        //正在升级
        Integer UPGRADING_STATUS = 5;
        //升级完成
        Integer UPGRADE_COMPLETED = 6;
    }


    //菜单展示类型
    interface MenuShowType {
        //通用菜单
        String ALL = "all";
        //仅PC端展示
        String PC = "pc";
        //仅APP展示
        String APP = "app";
        //仅组态展示
        String CONFIG = "config";
    }

    //能流图类型
    interface EnergyFlow {
        Integer electric = 1; //电
        Integer water = 2;   //水
        Integer gas = 3;//燃气
        String emptyString = "";
    }

    //告警类型
    interface EventType {
        Integer alarm = 1; //告警
        Integer soe = 2;   //soe
        Integer manualOperation = 3; //人工操作
        Integer troubleshooting = 4; //故障处理
        Integer networkAnalysisWarning = 5; //网络分析预警
    }

    //告警等级
    interface EventLevel {
        Integer accident = 1; //一级（事故）
        Integer abnormal = 2; //二级（故障）
        Integer overLimit = 3;//三级（告警）
        Integer statusChange = 4;//四级（提示）

        Integer notice = 5;//五级（告知）
    }

    //告警等级
    interface AlarmStatus {
        // 在线 1
        Integer onLine = 1;
        // 故障停机 2
        Integer faultShutdown = 2;
        // 离线 3
        Integer offline = 3;
        // 失联 4
        Integer Loss = 4;
    }

    //告警转工单状态
    interface EventConversionStatus {
        Integer doNotConversion = 0;//不能转化
        Integer NotConversion = 1;//未转
        Integer Conversion = 2;  //已转
    }

    //告警信号
    interface EventSignal {
        //遥信
        Integer SIGNAL = 1;
        //遥测
        Integer TELEMETER = 2;
    }

    //内置角色的前缀
    String SYS_INNER_ROLE_PREFIX = "INNER_";
    //内置的角色名,用于特殊业务处理
    //工单创建
    String ROLE_WORK_ORDER_CREATE = "INNER_WORK_ORDER_CREATE";
    //工单班长,用于分配工单
    String ROLE_WORK_ORDER_LEADER = "INNER_WORK_ORDER_LEADER";
    //工单维修
    String ROLE_WORK_ORDER_DO = "INNER_WORK_ORDER_DO";
    //其他的用户
    String ROLE_WORK_ORDER_OTHER = "INNER_WORK_ORDER_OTHER";

    //电站类型
    Integer STATION_TYPE = 1;//电站类型设备


    //表示光伏界面统计下拉选择框 :
    String DAY = "day"; //天
    String HOUR = "hour"; //天
    String MONTH = "month";//yue
    String YEAR = "year"; //年
    String WEEK = "week"; //周
    String RANGE_TIME = "rangeTime";//范围时间

    //更新时间
    String UPDATE_TIME = "updateTime";

    //用户相关
    interface USER {
        //锁定状态
        Integer STATUS_LOCKING = 0;
        //正常状态
        Integer STATUS_NORMAL = 1;
    }

    //pv_enegy_value表中的type属性值
    interface PV_ENERGY {
        //发电量
        Integer DAY_GENERATION = 1;
        //收益
        Integer DAY_REVENUE = 2;
        Integer MONTH_GENERATION = 3;
        Integer MONTH_REVENUE = 4;
        Integer YEAR_GENERATION = 5;
        Integer YEAR_REVENUE = 6;
        //桩日收益
        Integer PILE_DAY_INCOME = 7;
        //桩日充电量
        Integer PILE_DAY_CHARGE = 8;
        //桩尖日充电量
        Integer PILE_TIP_CHARGE = 9;
        //桩峰日充电量
        Integer PILE_PEAK_CHARGE = 10;
        //桩平日充电量
        Integer PILE_LEVEL_CHARGE = 11;
        //桩谷日充电量
        Integer PILE_VALLEY_CHARGE = 12;
    }

    //电价的尖峰平谷类型
    interface ELEC_PRICES {
        String J = "J";
        String F = "F";
        String P = "P";
        String G = "G";
    }

    //充电状态
    interface CHARGE_STATUS {
        Integer charging = 3;
    }

    //碳足迹的冻结值
    //elec_meter_value表中的type属性值
    interface CARBON_FOOTPRINT {
        //储能空调（集装箱空调）1
        String ENERGY_EQUIPMENT_1 = "energy_equipment_1";
        Integer ENERGY_EQUIPMENT_1_TYPE = 1;
        //办公空调： 2,
        String ENERGY_EQUIPMENT_2 = "energy_equipment_2";
        Integer ENERGY_EQUIPMENT_2_TYPE = 2;
        //办公插座： 3
        String ENERGY_EQUIPMENT_3 = "energy_equipment_3";
        Integer ENERGY_EQUIPMENT_3_TYPE = 3;
        //办公照明： 4
        String ENERGY_EQUIPMENT_4 = "energy_equipment_4";
        Integer ENERGY_EQUIPMENT_4_TYPE = 4;
        //其它用电： 5
        String ENERGY_EQUIPMENT_5 = "energy_equipment_5";
        Integer ENERGY_EQUIPMENT_5_TYPE = 5;
        //办公用水： 6
        String ENERGY_EQUIPMENT_6 = "energy_equipment_6";
        Integer ENERGY_EQUIPMENT_6_TYPE = 6;
        //桩日充电量 ： 7
        String ENERGY_EQUIPMENT_7 = "energy_equipment_7";
        Integer ENERGY_EQUIPMENT_7_TYPE = 7;
    }

    //运行评价中的权重
    interface weight {
        Double CHARGING_AND_DISCHARGING = 0.2;
        Double COMPREHENSIVE_EFFICIENCY = 0.15;
        Double STATION_LECTRICITY_CONSUMPTION = 0.05;
        Double ENERGY_STORAGE_LOSS_RATE = 0.1;
        Double UNPLANNED_OUTAGE_FACTOR = 0.05;
        Double PLANT_AVAILABILITY_FACTOR = 0.05;
        Double DISPATCH_RESPONSE_SUCCESS_RATE = 0.15;
        Double STATION_UTILIZATION_POWER = 0.1;
    }

    //碳足迹
    interface REDUCE_EMISSIONS {
        String STORAGE = "storage";//储能相关type
        String STORAGE_1 = "storage_1";//储能原材料重量
        String STORAGE_2 = "storage_2";//储能碳排放因子
        String STORAGE_3 = "storage_3";//储能运输公里数
        String STORAGE_4 = "storage_4";//储能运输碳排放因子；
        String STORAGE_5 = "storage_5";//储能运行碳排放因子；

        String PV = "pv";//光伏
        String PV_1 = "pv_1";//光伏原材料重量
        String PV_2 = "pv_2";//光伏硬性碳排放因子
        String PV_3 = "pv_3";//光伏运输公里数
        String PV_4 = "pv_4";//光伏运输碳排放因子
        String PV_5 = "pv_5";//光伏运行耗能碳排放因子
        String PV_6 = "pv_6";//光伏碳收益碳排放因子

        String CHARGEPILE = "chargepile";//充电桩
        String CHARGEPILE_1 = "chargepile_1";//充电桩原材料重量
        String CHARGEPILE_2 = "chargepile_2";//充电桩隐形碳排放因子
        String CHARGEPILE_3 = "chargepile_3";//充电桩运输公里数(公里)
        String CHARGEPILE_4 = "chargepile_4";//充电桩运输碳排放因子
        String CHARGEPILE_5 = "chargepile_5";//充电桩系统运行耗能碳排放因子
        String CHARGEPILE_6 = "chargepile_6";//充电桩碳收益碳排放因子

    }

    //能耗类型
    interface PARK_VALUE {
        Integer ELECTRIC_TYPE = 1;
        Integer WATER_TYPE = 2;
        Integer GAS_TYPE = 3;
        Integer TOTAL_TYPE = 4;
    }

    //mqtt中的dataType枚举
    interface MQTT_DATATYPE {

        //写参数
        Integer WRITE_REQUEST = 1;
        //读参数
        Integer READ_REQUEST = 2;
        //读所有参数
        Integer READ_ALL_REQUEST = 3;
        //平台响应(云端响应)
        Integer CLOUD_RESPONSE = 4;
        //平台下发报告
        Integer PUSH_REPORT = 5;
        //平台下发命令
        Integer PUSH_COMMAND = 7;
        //断开命令
        Integer DISCONNECT = 8;

        //写参数响应
        Integer WRITE_RESPONSE = 101;
        //读参数响应
        Integer READ_RESPONSE = 102;

        //定时上送
        Integer PUSH_TIMING = 104;
        //突发上送
        Integer BURST = 105;
        //Event突发上送 , 用于设备按产品模型中定义的格式将事件数据上报给平台
        Integer EVENT_PUSH = 106;
        //边端的心跳检测
        Integer HEARTBEAT_DETECTION = 108;
        //文件服务
        Integer FILE_SERVICE = 200;
        //云端向边端读入文件
        Integer FILE_SERVICE_READ = 201;
        //云端向边端写入文件
        Integer FILE_SERVICE_WRITE = 202;
        //云端向边端删除文件
        Integer FILE_SERVICE_DELETE = 203;
        //云端向边端读取文件列表属性
        Integer FILE_SERVICE_ATTRIBUTE = 206;
        //云端向边端删除文件夹
        Integer FILE_SERVICE_DELETE_DIRECTORY = 208;
        //云端向边修改文件权限
        Integer FILE_SERVICE_MODIFY_PERMISSION = 209;
    }

    //mqtt中的description枚举
    interface MQTT_DESCRIPTION {
        //正确
        String OK = "OK";
        //认证失败
        String AUTHENTICATION_FAILED = "AuthenticationFailed";
        //数据结构被破坏
        String STRUCTURE_CORRUPTED = "Structure Corrupted";
        //压缩包被破坏
        String COMPRESSED_PACKAGE_CORRUPTED = "Compressed Package Corrupted";
        //包含不对应的结构
        String UNDEFINED_STRUCTURES = "Undefined Structures";
        //目标不存在
        String TARGET_AVIRRABLE = "Target Avirrable";

        //读取全部的cmdId后缀
        String ALL = "all";

    }

    //mqtt中的isZip枚举
    interface MQTT_ISZIP {
        //压缩
        Integer IS = 1;

        //未压缩
        Integer NOT_IS = 0;
    }

    //图片类型
    interface PICTURE {
        //电站
        Integer STATION = 1;
        //设备
        Integer DEVICE = 2;
        //工单
        Integer WORK_ORDER = 1;

        //文件升级包
        Integer FILE_JAR = 4;

        //logo
        Integer LOGO = 5;
        //文件
        Integer FIlE = 6;
        //缩略图
        Integer THUMBNAIL = 7;
        //pack充放电文件
        Integer PACK_FILE = 8;
        //整柜文件
        Integer CUPBOARD_FILE = 9;
    }

    interface InverterQueryType {
        //电流
        Integer ELEC = 1;
        //电压
        Integer VOL = 2;
        //功率
        Integer POWER = 3;
    }

    //设备模型类型枚举
    interface ModelDeviceType {
        //设备
        String DEVICE = "device";
        //模型
        String MODEL = "model";
    }

    //通合驾驶舱数据
    interface TongHeCockpit {
        //光伏装机量
        BigDecimal PvCapacity = new BigDecimal(116000);
        //光伏累计发电量(基础值)
        BigDecimal PvPowerGeneration = new BigDecimal(1710000);
        //储能装机量
        BigDecimal EnergyCapacity = new BigDecimal(24000);
        //储能累计发电量
        BigDecimal EnergyPowerGeneration = new BigDecimal(12500000);
        //储能每日累计发电量
        BigDecimal DailyEnergyPowerGeneration = new BigDecimal(21000);
        //充电桩装机量
        BigDecimal ChargePileCapacity = new BigDecimal(5220);
        //充电桩累计充电量
        BigDecimal ChargePilePowerGeneration = new BigDecimal(346000);
        //充电桩每日添加的充电量
        BigDecimal DailyChargePilePowerGeneration = new BigDecimal(24000);

    }

    interface ChineseProvinces {

        //五个自治区
        //广西
        String guangxi = "广西壮族自治区";
        //宁夏
        String ningxia = "宁夏回族自治区";
        //新疆
        String xinjiang = "新疆维吾尔族自治区";
        //西藏
        String xizang = "西藏自治区";
        //内蒙古
        String neimenggu = "内蒙古自治区";

        //两个特别行政区
        //香港
        String xianggang = "香港特别行政区";
        //澳门
        String aomen = "澳门特别行政区";

        //四个直辖市
        //北京
        String beijing = "北京市";
        //天津
        String tianjin = "天津市";
        //上海
        String shanghai = "上海市";
        //重庆
        String chongqing = "重庆市";

        String PROVINCE = "省";

        String CITY = "市";

    }

    //根目录
    String ROOT_PATH = "/";

    //工单计划类型
    interface WorkOrderPlanSubType {
        //电站
        Integer STATION = 1;
        //设备
        Integer DEVICE = 2;
        //人员
        Integer PERSON = 3;
        //告警
        Integer EVENT = 4;
    }

    //下发成功与否
    interface IssuedFlag {

        String MSG = ",请稍后再试";

        String SUCCESS = "下发成功";

        String FAIL = "下发失败";

        String UPDATE_FAIL = "边端向设备下发消息后没有得到设备的回应";

        String TIMEOUT_FAIL = "下发超时" + MSG;

        String ORDER_PROCESS = "命令下发中";

        String FILE_SUCCESS = "文件下发成功";

        String FILE_FAIL = "文件下发失败";

        String FILE_PROCESS = "文件下发中";

        String ATTRIBUTE_PROCESS = "文件属性读取中";

        String ATTRIBUTE_SUCCESS = "文件属性读取完成";

        String ATTRIBUTE_TIMEOUT = "文件属性读取超时" + MSG;

        String DELETE_FILE_PROCESS = "删除文件命令下发中";

        String DELETE_FILE_SUCCESS = "删除文件成功";

        String DELETE_FILE_TIMEOUT = "删除文件超时" + MSG;

        String READ_FILE_PROCESS = "文件下载准备中";

        String READ_FILE_SUCCESS = "文件下载准备成功";

        String READ_FILE_FAIL = "文件下载准备失败";

        String READ_FILE_TIMEOUT = "文件下载准备超时" + MSG;

        String FILE_BATCH_FAIL = "文件批量下发存在失败情况";

        String DELETE_DIRECTORY_PROCESS = "删除文件夹命令下发中";

        String DELETE_DIRECTORY_SUCCESS = "删除文件夹成功";

        String DELETE_DIRECTORY_TIMEOUT = "删除文件夹超时" + MSG;

        String MODIFY_ATTRIBUTE_PROCESS = "修改文件属性命令下发中";

        String MODIFY_ATTRIBUTE_SUCCESS = "修改文件属性完成";

        String MODIFY_ATTRIBUTE_TIMEOUT = "修改文件属性超时" + MSG;

        String MODIFY_DIRECTORY_PROCESS = "修改文件夹属性命令下发中";

        String MODIFY_DIRECTORY_SUCCESS = "修改文件夹属性成功";

        String MODIFY_DIRECTORY_TIMEOUT = "修改文件夹属性超时" + MSG;
    }

    interface Heartbeat {

        String MSG = "设备接入通道";

        String MSG_EN = "Equipment access channel ";
        String MSG_FRA = "Canal d'accès à l'équipement ";
        String MSG_SPA = "Canal de acceso al dispositivo ";
        String MSG_DE = "Gerätezugriffskanal ";
        String MSG_PL = "Dostęp do urządzeń ";
        String MSG_ARA = "جهاز الوصول إلى القناة ";

        String SUCCESS = "恢复";

        String SUCCESS_EN = "Recover";
        String SUCCESS_FRA = "Récupération";
        String SUCCESS_SPA = "Recuperar";
        String SUCCESS_DE = "Wiederherstellung";
        String SUCCESS_PL = "Przywrócić";
        String SUCCESS_ARA = "استعاد";

        String FAIL = "断开";

        String FAIL_EN = "Disconnect";
        String FAIL_FRA = "Déconnecter";
        String FAIL_SPA = " Desconexión";
        String FAIL_DE = " Trennen";
        String FAIL_PL = " Odłącz";
        String FAIL_ARA = " قطع الاتصال";


        String SN_FAIL = "设备接入点离线";

        String STATION_FAIL = "离线";

        String TRAFFIC_WARNING = "流量使用已达到90%";
    }

    //文件类型
    interface FileType {
        //目录
        String DIRECTORY = "directory";

    }

    //特殊电站id
    interface SPECIALSTATION {
        //清陶电站ID
        Integer QTSTATION = 719;

    }

    String CHECK_MODIFY_VALUE = "命令下发修改值不在范围内";

    String DEVICE_NO_SN = "设备没有配置SN";
    String DEVICE_NO_SN_EN = "The device is not configured with SN";
    String DEVICE_NO_SN_FRA = "L'appareil n'est pas configuré SN";
    String DEVICE_NO_SN_SPA = "El dispositivo no está configurado con SN";
    String DEVICE_NO_SN_DE = "Gerät ohne SN konfiguriert";
    String DEVICE_NO_SN_PL = "Urządzenie nie ma skonfigurowanego SN";
    String DEVICE_NO_SN_ARA = "الجهاز لم يتم تكوين SN";
    String NOT_SN = "没有配置站内接入点";
    String INTERVAL = "间隔";
    String STATION = "电站";

    //摄像头的默认值
    interface CAMERA_DEFAULT {
        Integer GROUP_IS_DEFAULT = 1;
        Integer GROUP_IS_NOT_DEFAULT = 0;
        Integer STATION_IS_DEFAULT = 1;
        Integer STATION_IS_NOT_DEFAULT = 0;
    }

    //电价模板自增id类型
    String IdTypePriceTemplate = "priceTemplate";

    String ACCESSPOINT = "接入点";
    //通信故障
    String COMMUNICATION_STATUS = "communicationStatus";

    //mqtt交互消息级别
    interface Level {
        Integer ONE = 1;
        Integer TWO = 2;
        Integer THREE = 3;
        Integer FOUR = 4;
    }

    interface Info {
        String QUANTILE = "[恢复]";
        String CLOSED_POSITION = "[动作]";
    }

    /**
     * 更新方式
     */
    interface UpdateMethod {
        String ADD = "add";
        String DELETE = "delete";
    }

    /**
     * 外接电表
     */
    interface OutsideEle {

        String SUCCESS = "外接电表通道恢复";

        String FAIL = "外接电表通道离线";

    }

    /**
     * 发送短信消息
     */
    interface SMS {

        //用户名
        String NAME = "name";
        //电站名称
        String SITE_NAME = "siteName";
        //告警信息
        String CONTENT = "content";

        //手机号
        String NUM = "num";
    }

    /**
     * 有人云 token/apikey
     */
    //getPeopleCloudToken
    interface PeopleCloudToken {
        //卡号
        String MSISDN = "msisdn";
        //运营商名称
        String OPERATOR_NAME = "operator_name";
        String USE_FLOW = "use_flow";
        String TOTAL_FLOW = "total_flow";

        String SURPLUS_FLOW = "surplus_flow";
        String APPKEY = "4e8680fee228a442c8c3371cf7a7e71a";
        String TOKEN = "0f757dc394740fa21f75f6269b2031fb";
    }

    /**
     * 万物互联 token/apikey
     */
    interface InternetEveryToken {
        String MSISDN = "msisdn";
        String CARRIER = "carrier";
        String DATA_BALANCE = "data_balance";
        String DATA_TRAFFIC_AMOUNT = "data_traffic_amount";
        String APIKEY = "c7115e04f25d18eaeaddf82b435c103abe5b1eb7";
        String APISECRET = "4RpsG0H6uM";
        String BASEPATH = "https://ec.upiot.net/api/v2/";
    }

    /**
     * 运维页面内存信息
     */
    String URL = "/data/backup/serverinfo.sh";

    interface MemoryInfo {
        //cpu占用率
        String CPUUSE = "cpuUse";

        //磁盘的总量空间
        String ROOTSIZE = "rootSize";

        //磁盘可用空间
        String FREEDISK = "freeDisk";

        //磁盘使用情况
        String DISKUSAGE = "diskUsage";

        //内存总空间
        String TOTALMEMORY = "totalMemory";

        //内存已使用大小
        String USEDMEMORY = "usedMemory";

        //内存剩余空间
        String FREEMEMORY = "freeMemory";

        //内存已使用率
        String MEMORYUSAGE = "memoryUsage";
    }

    String alarmNum = "alarmNum";
    String alarmUnresolvedNum = "alarmUnresolvedNum";
    String pcsConversion = "pcsConversion";
    String srcId = "srcId";
    String sn = "sn";
    String pcsDeviceType = "pcsDeviceType";
    String pcsSrcId = "pcsSrcId";
    String deviceType = "deviceType";
    String PACK = "pack";
    //特殊分割符合
    String SPECIAL_SPLIT = "_;_";
    //sn码集合
    String SN_LIST = "snList";
    //加
    int ADD = 1;
    //减
    int SUBTRACT = 2;
    //乘
    int MULTIPLY = 3;
    //除
    int DIVIDE = 4;
    //取平均
    int AVG = 5;

    String SEGMENT = "segment";

    interface RateType {
        String TIP = "尖峰时段"; //尖
        String PEAK = "高峰时段";//峰
        String FLAT = "平时段";//平
        String VALLEY = "低谷时段";//谷

        String DEEP_VALLEY = "深谷时段";//深谷
    }

    interface RateTypeSimple  {
        String TIP = "尖峰"; //尖
        String PEAK = "高峰";//峰
        String FLAT = "平时";//平
        String VALLEY = "低谷";//谷

        String DEEP_VALLEY = "深谷";//深谷
    }

    //移动卡状态存储
    interface MobileCardStatus {
        String NOTACTIVE = "待激活"; //待激活
        String Active = "已激活";//已激活
        String HALT = "停机";//电信卡停机
    }

    //移动卡状态存储
    interface TelecomType {
        //单卡/流量池
        String SINGLE = "单卡"; //单卡
        String POOL = "流量池";//流量池
    }

    String DATA_ERROR = "数据异常";
    String BMU_NUM = "电池组号";
    String BOX_NUM = "电芯位置";
    String POSITIVE = "正向";
    String NEGATIVE = "反向";
    String ELE_TIP = "电量(尖)";
    String ELE_PEAK = "电量(峰)";
    String ELE_FLAT = "电量(平)";
    String ELE_VALLEY = "电量(谷)";

    String ELE_DEEP_VALLEY = "电量(深谷)";
    String KWH = "(kWh)";

    String STRATEGY_MODEL = "策略模版";

    interface Demand{
        //上月最大需量
        String LAST_MONTH_MAX_DEMAND = "lastMonthMaxDemand";
        //上月最大功率
        String LAST_MONTH_MAX_POWER = "lastMonthMaxPower";
        //上月最小功率
        String LAST_MONTH_MIN_POWER = "lastMonthMinPower";
        //当月最大需量
        String THE_MONTH_MAX_DEMAND = "theMonthMaxDemand";
        //当月最大功率
        String THE_MONTH_MAX_POWER = "theMonthMaxPower";
        //当月最小功率
        String THE_MONTH_MIN_POWER = "theMonthMinPower";
    }

    //字母常量
    interface ALPHABET{
        String a = "a";
        String b = "b";
        String c = "c";
        String d = "d";
        String e = "e";
        String f = "f";
        String g = "g";
    }

    String TRUE = "true";

    //柴发数据
    String CF_FROZEN = "cfFrozen";
    //将数据库统配符合“_”变成普通字符
    String JOIN_STATION_ID = "\\_";

    String REPORT_NAME="月度报表";
    String REPORT_NAME_EN="Monthly report";
    String REPORT_NAME_FRA="Déclaration mensuelle";
    String REPORT_NAME_SPA="Estado mensual";
    String REPORT_NAME_DE="Monatlicher Bericht";
    String REPORT_NAME_PL="Raport miesięczny";
    String REPORT_NAME_ARA="تقرير شهري";

    String BILL_NAME="月度账单";
    String BILL_NAME_EN="Monthly bill";
    String BILL_NAME_FRA="Facturation mensuelle";
    String BILL_NAME_SPA="Factura mensual";
    String BILL_NAME_DE="Monatliche Rechnung";
    String BILL_NAME_PL="Rachunki miesięczne";
    String BILL_NAME_ARA="فاتورة شهرية";

    // 语言切换
    String LANG = "lang";

    // 调用api 需要用到的参数
    interface lang{
        // 中文
        String ZH = "zh";
        // 英语
        String EN = "en";
        // 法语
        String FRA = "fra";
        // 西班牙
        String SPA = "spa";
        // 德语
        String DE = "de";
        // 波兰
        String PL = "pl";
        // 阿拉伯语
        String ARA = "ara";
    }
    // web / app 端切换语言用到的参数
    interface langTemp{
        // 简体中文
        String ZH_CN="zh_CN";
        // 美式英语
        String EN_US="en_US";
        // 法语
        String FR_FR="fr_FR";
        // 西班牙语
        String ES_ES="es_ES";
        // 德语
        String DE_DE="de_DE";
        // 波兰语
        String PL_PL="pl_PL";
        // 阿拉伯语
        String AR_EG="ar_EG";
    }
}
