package org.dromara.elevator.constant;

import java.util.Arrays;
import java.util.List;

/**
 * 电梯常量
 *
 * @author ym
 * @version 1.0.0
 * @date 2024-09-05 09:16
 */
public interface ElevatorConstant {

    /**
     * 电梯品牌字典
     */
    String BRAND_DICT_KEY = "eva_brand";

    /**
     * 电梯电梯使用场景字典
     */
    String USE_SCENARIO_DICT_KEY = "use_scenario";

    /**
     * 故障类型字典key
     */
    String FAULT_TYPE_DICT_KEY = "fault_type";
    /**
     * 故障(异常)类型字典key
     */
    String FAULT_EXCEPTION_TYPE_DICT_KEY = "fault_exception_type";

    /**
     * 运行统计id key
     */
    String ELE_BEHAVIOR_STATISTICS_KEY = "ele.behavior.statistics.id";

    /**
     * 电梯开门
     */
    Integer ELE_BEHAVIOR_OPEN_DOOR_STATUS = 0;
    /**
     * 电梯关门
     */
    Integer ELE_BEHAVIOR_CLOSE_DOOR_STATUS = 1;

    /**
     * 电梯上行
     */
    Integer ELE_BEHAVIOR_UP_STATUS = 17;
    /**
     * 电梯上行停梯
     */
    Integer ELE_BEHAVIOR_UP_STOP_STATUS = 33;

    /**
     * 电梯下行
     */
    Integer ELE_BEHAVIOR_DOWN_STATUS = 18;

    /**
     * 电梯下行停梯
     */
    Integer ELE_BEHAVIOR_DOWN_STOP_STATUS = 34;
    /**

     * 电梯维保计划类型key
     */
    String ELE_MAINTENANCE_PLAN_TYPE_KEY = "maintenance_plan_type";

    /** 电梯维修计划类型key
     */
    String ELE_REPAIR_PLAN_TYPE_KEY = "repair_plan_type";

    /**
     * 电梯运行详情统计类型 日
     */
    Integer ELE_BEHAVIOR_STATISTICS_DAY_TYPE = 1;
    /**
     * 电梯运行详情统计类型 周月
     */
    Integer ELE_BEHAVIOR_STATISTICS_WEEK_MONTH_TYPE = 2;


    /**
     * 上传附件类型 图片
     */
    Integer PICTURE = 1;

    /**
     * 上传附件类型 图片
     */
    Integer VIDEO = 1;

    /**
     * 待用
     */
    Integer READY_USE = 1;

    /**
     * 在用
     */
    Integer IN_USE = 2;

    /**
     * 停用
     */
    Integer STOP_USE = 3;

    /**
     * 关闭(不开启)
     */
    Integer OFF = 0;

    /**
     * 开启
     */
    Integer ON = 1;

    /**
     * 困人故障code
     * 平层困人:F01
     * 非平层困人:F03
     * 停电困人:F09
     * 停梯困人:F18
     * 启动困人:F19
     * 梯困困人:F91
     */
    List<String> TRAPPED_FAULT_CODE_LIST = Arrays.asList("F01","F03","F09","F18","F19","F91");

    /**
     * 故障消息推送code key
     * 平层困人:F01
     * 非平层困人:F03
     * 停电困人:F09
     * 停梯困人:F18
     * 启动困人:F19
     * 梯困困人:F91
     * 非平层停梯:F02
     * 非平层开门:E04
     * 停电故障:F08
     * 超速运行:F07
     * 冲顶:F05
     * 蹲底:F06
     * 坠梯:F12
     */
    String FAULT_PUSH_MSG_KEY = "fault.push.msg.config";

    /**
     * 工作到场配置key
     */
    String WORK_ARRIVE_CONFIG_KEY = "work.arrive.config";

    /**
     * 故障消息推送配置key
     */
    String ELE_FAULT_MSG_PUSH_CONFIG_KEY = "ele.fault.msg.enabled";

    /**
     * 小程序跳转页面配置
     */
    String ELE_QRCODE_PAGE_CONFIG_KEY ="ele.qrcode.page.config";

}
