package com.tofly.em;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;

/**
 * 指标根据类型区分时间采集频率
 *
 * @author JF
 */
@Getter
@AllArgsConstructor
public enum IndexTypeTimeWaveEnum {
    /**
     * 瞬时流量
     */
    INSTANTANEOUS_FLOW(27L, 5),
    /**
     * 耗能
     */
    ENERGY(26L, 5),
    /**
     * 当日累计流量
     */
    TODAY_CUMULATIVE_FLOW(29L, 5),
    /**
     * 累计流量
     */
    CUMULATIVE_FLOW(28L, 5),
    SS(34L, 5),
    PH(11L, 5),
    TP(32L, 60),
    COD(10L, 60),
    TN(31L, 60),
    NH3N(12L, 60),
    /**
     * 液位
     */
    LEVEL(33L, 5),
    /**
     * 电流
     */
    CURRENT(6L, 5),
    /**
     * 电压
     */
    VOLTAGE(7L, 5),
    /**
     * 其他
     */
    QT(16L, 60),;
    /**
     * 指标类型ID
     */
    Long indexTypeId;
    /**
     * 采集频率（分钟）
     */
    Integer collectRateTime;

    public static Integer getCodeForValue(Long indexTypeId) {
        Integer collectRateTime = null;
        for (IndexTypeTimeWaveEnum e : IndexTypeTimeWaveEnum.values()) {
            if (Objects.equals(e.indexTypeId, indexTypeId)) {
                collectRateTime = e.collectRateTime;
                break;
            }
        }
        if (collectRateTime == null) {
            collectRateTime = 120;
        }
        return collectRateTime;
    }

}
