package com.fuyuanshen.global.mqtt.enums;

/**
 * 设备功能类型枚举
 * 基于AppDeviceBJQ6075Controller中的功能注释1-9设计
 */
public enum DeviceFunctionType6075 {

    /**
     * 人员信息登记
     */
    REGISTER_PERSON_INFO(1, "REGISTER_PERSON_INFO", "人员信息登记"),
    
    /**
     * 发送信息
     */
    SEND_MESSAGE(2, "SEND_MESSAGE", "发送信息"),
    
    /**
     * 发送报警信息
     */
    SEND_ALARM_MESSAGE(3, "SEND_ALARM_MESSAGE", "发送报警信息"),
    
    /**
     * 上传设备logo图片
     */
    UPLOAD_LOGO(4, "UPLOAD_LOGO", "上传设备logo图片"),
    
    /**
     * 灯光模式（主光模式）
     * 0（关闭灯光），1（强光），2（超强光）, 3（工作光）, 4（节能光），5（爆闪），6（SOS）
     */
    LIGHT_MODE(5, "LIGHT_MODE", "灯光模式"),
    
    /**
     * 灯光模式（辅光模式）
     * 0（关闭灯光），1（泛光），2（泛光爆闪）, 3（警示灯）, 4（警示灯/泛光）
     */
    AUXILIARY_LIGHT_MODE(6, "AUXILIARY_LIGHT_MODE", "辅光模式"),
    
    /**
     * 灯光亮度设置
     */
    LIGHT_BRIGHTNESS(7, "LIGHT_BRIGHTNESS", "灯光亮度设置"),
    
    /**
     * 激光模式设置
     */
    LASER_MODE(8, "LASER_MODE", "激光模式设置"),
    
    /**
     * 声光报警模式设置
     */
    SOUND_AND_LIGHT_ALARM(9, "SOUND_AND_LIGHT_ALARM", "声光报警模式设置");
    
    private final int number;
    private final String code;
    private final String description;

    DeviceFunctionType6075(int number, String code, String description) {
        this.number = number;
        this.code = code;
        this.description = description;
    }
    
    public int getNumber() {
        return number;
    }
    
    public String getCode() {
        return code;
    }
    
    public String getDescription() {
        return description;
    }
    
    @Override
    public String toString() {
        return code;
    }
}