潘志宝
3 天以前 ae27aacac5bb2658a4de8bbc2db4b07c17750cf0
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/utils/GenInfluxPointValueUtils.java
@@ -1,8 +1,14 @@
package com.iailab.module.data.point.collection.utils;
import com.iailab.module.data.common.enums.DataTypeEnum;
import com.iailab.module.data.enums.DataPointFreqEnum;
import com.iailab.module.data.point.dto.DaPointDTO;
import com.iailab.module.data.influxdb.pojo.*;
import java.math.BigDecimal;
import java.time.Instant;
import java.util.Calendar;
import java.util.Date;
/**
 * @author PanZhibao
@@ -51,7 +57,7 @@
                ((InfluxPointValueDigPOJO) pojo).setValue(dto.getDefaultValue().intValue());
            }
            if (value != null) {
                ((InfluxPointValueDigPOJO) pojo).setValue(Integer.parseInt(value.toString()));
                ((InfluxPointValueDigPOJO) pojo).setValue(new BigDecimal(value.toString()).intValue());
            }
            return pojo;
        } else if (DataTypeEnum.BOOLEAN.getCode().equals(dto.getDataType().trim())) {
@@ -69,4 +75,26 @@
            return new InfluxPointValueStrPOJO();
        }
    }
    public static Instant getByMin(Date collectTime, DataPointFreqEnum freqEnum) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(collectTime);
        switch (freqEnum) {
            case NET_1MIN:
                cal.set(Calendar.SECOND, 0);
                break;
            case NET_1H:
                cal.set(Calendar.SECOND, 0);
                cal.set(Calendar.MINUTE, 0);
                break;
            case NET_Day:
                cal.set(Calendar.SECOND, 0);
                cal.set(Calendar.MINUTE, 0);
                cal.set(Calendar.HOUR_OF_DAY, 0);
                break;
            default:
                break;
        }
        return cal.getTime().toInstant();
    }
}