package com.iailab.module.data.influxdb.common.utils;

import com.iailab.module.data.common.enums.DataTypeEnum;
import com.iailab.module.data.influxdb.common.enums.DataMeasurement;
import com.influxdb.client.write.Point;

/**
 * @author PanZhibao
 * @Description
 * @createTime 2023年05月08日 10:25:00
 */
public class PointValueUtils {

    public static void addFileByPointType(Point point, String type, String value) {
        if (DataTypeEnum.FLOAT.getCode().equals(type)) {
            point.addField("value", Double.parseDouble(value));
        } else if (DataTypeEnum.INT.getCode().equals(type)) {
            point.addField("value", Integer.parseInt(value));
        } else if (DataTypeEnum.BOOLEAN.getCode().equals(type)) {
            point.addField("value", Boolean.parseBoolean(value));
        } else {
            point.addField("value", value);
        }
    }

    public static String getMeasurement(String type) {
        if (DataTypeEnum.FLOAT.getCode().equals(type)) {
            return DataMeasurement.t_da_sim_value.name();
        } else if (DataTypeEnum.INT.getCode().equals(type)) {
            return DataMeasurement.t_da_dig_value.name();
        } else if (DataTypeEnum.BOOLEAN.getCode().equals(type)) {
            return DataMeasurement.t_da_bool_value.name();
        } else {
            return DataMeasurement.t_da_str_value.name();
        }
    }
}