package cn.iocoder.yudao.module.iot.controller.admin.device.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 设备状态枚举
 */
@Getter
@AllArgsConstructor
public enum DeviceStatusEnum {

    /**
     * 离线
     */
    OFFLINE("0", "离线", "设备离线"),

    /**
     * 运行
     */
    RUNNING("1", "运行", "设备正常运行"),

    /**
     * 待机中（不运行、没故障）
     */
    STANDBY("2", "待机中", "设备待机，无故障"),

    /**
     * 故障中（故障且待机）
     */
    FAULT_STANDBY("3", "故障中", "设备故障且处于待机状态"),

    /**
     * 报警中（故障且运行）
     */
    ALARM_RUNNING("4", "报警中", "设备故障但仍在运行");

    /**
     * 状态编码
     */
    private final String code;

    /**
     * 状态名称
     */
    private final String name;

    /**
     * 状态描述
     */
    private final String description;

    /**
     * 根据状态码获取枚举
     */
    public static DeviceStatusEnum getByCode(String code) {
        if (code == null) {
            return null;
        }
        for (DeviceStatusEnum status : values()) {
            if (status.getCode().equals(code)) {
                return status;
            }
        }
        return null;
    }





}