houzhongjian
2024-07-23 a6de490948278991e47952e90671ddba4555e9a2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package com.iailab.module.data.influxdb.common.utils;
 
import com.iailab.module.data.common.enums.TagValueTypeConstant;
import com.iailab.module.data.channel.tag.dto.TagValueDTO;
import com.iailab.module.data.influxdb.pojo.*;
import com.iailab.module.data.influxdb.common.enums.DataMeasurement;
 
/**
 * @author PanZhibao
 * @Description
 * @createTime 2023年05月03日 23:00:00
 */
public class TagValueUtils {
 
    public static Object getByTagType(String type, String value) {
        switch (type) {
            case TagValueTypeConstant.BOOLEAN:
                return Double.parseDouble(value);
            case TagValueTypeConstant.INT8:
                return Integer.parseInt(value);
            case TagValueTypeConstant.INT16:
                return Integer.parseInt(value);
            case TagValueTypeConstant.INT32:
                return Integer.parseInt(value);
            case TagValueTypeConstant.INT64:
                return Integer.parseInt(value);
            case TagValueTypeConstant.UINT8:
                return Integer.parseInt(value);
            case TagValueTypeConstant.UINT16:
                return Double.parseDouble(value);
            case TagValueTypeConstant.UINT32:
                return Integer.parseInt(value);
            case TagValueTypeConstant.UINT64:
                return Integer.parseInt(value);
            case TagValueTypeConstant.FLOAT:
                return Double.parseDouble(value);
            case TagValueTypeConstant.DOUBLE:
                return Double.parseDouble(value);
            default:
                break;
        }
        return value;
    }
 
    public static String getMeasurement(String type) {
        switch (type) {
            case TagValueTypeConstant.BOOLEAN:
                return DataMeasurement.t_tag_bool_value.name();
            case TagValueTypeConstant.INT8:
                return DataMeasurement.t_tag_int_value.name();
            case TagValueTypeConstant.INT16:
                return DataMeasurement.t_tag_int_value.name();
            case TagValueTypeConstant.INT32:
                return DataMeasurement.t_tag_int_value.name();
            case TagValueTypeConstant.INT64:
                return DataMeasurement.t_tag_int_value.name();
            case TagValueTypeConstant.UINT8:
                return DataMeasurement.t_tag_int_value.name();
            case TagValueTypeConstant.UINT16:
                return DataMeasurement.t_tag_int_value.name();
            case TagValueTypeConstant.UINT32:
                return DataMeasurement.t_tag_int_value.name();
            case TagValueTypeConstant.UINT64:
                return DataMeasurement.t_tag_int_value.name();
            case TagValueTypeConstant.FLOAT:
                return DataMeasurement.t_tag_float_value.name();
            case TagValueTypeConstant.DOUBLE:
                return DataMeasurement.t_tag_float_value.name();
            default:
                return DataMeasurement.t_tag_str_value.name();
        }
    }
 
    public static InfluxTagValuePOJO getByTag(TagValueDTO dto, String value) {
        switch (dto.getType()) {
            case TagValueTypeConstant.BOOLEAN:
                InfluxTagValuePOJO boolPojo = new InfluxTagValueBoolPOJO();
                ((InfluxTagValueBoolPOJO) boolPojo).setValue(Boolean.parseBoolean(value.toString()));
                return boolPojo;
            case TagValueTypeConstant.INT8:
                InfluxTagValuePOJO int8Pojo = new InfluxTagValueIntPOJO();
                ((InfluxTagValueIntPOJO) int8Pojo).setValue(Integer.parseInt(value.toString()));
                return int8Pojo;
            case TagValueTypeConstant.INT16:
                InfluxTagValuePOJO int16Pojo = new InfluxTagValueIntPOJO();
                ((InfluxTagValueIntPOJO) int16Pojo).setValue(Integer.parseInt(value.toString()));
                return int16Pojo;
            case TagValueTypeConstant.INT32:
                InfluxTagValuePOJO int32Pojo = new InfluxTagValueIntPOJO();
                ((InfluxTagValueIntPOJO) int32Pojo).setValue(Integer.parseInt(value.toString()));
                return int32Pojo;
            case TagValueTypeConstant.INT64:
                InfluxTagValuePOJO int64Pojo = new InfluxTagValueIntPOJO();
                ((InfluxTagValueIntPOJO) int64Pojo).setValue(Integer.parseInt(value.toString()));
                return int64Pojo;
            case TagValueTypeConstant.UINT8:
                InfluxTagValuePOJO uint8Pojo = new InfluxTagValueIntPOJO();
                ((InfluxTagValueIntPOJO) uint8Pojo).setValue(Integer.parseInt(value.toString()));
                return uint8Pojo;
            case TagValueTypeConstant.UINT16:
                InfluxTagValuePOJO uint16Pojo = new InfluxTagValueIntPOJO();
                ((InfluxTagValueIntPOJO) uint16Pojo).setValue(Integer.parseInt(value.toString()));
                return uint16Pojo;
            case TagValueTypeConstant.UINT32:
                InfluxTagValuePOJO uint32Pojo = new InfluxTagValueIntPOJO();
                ((InfluxTagValueIntPOJO) uint32Pojo).setValue(Integer.parseInt(value.toString()));
                return uint32Pojo;
            case TagValueTypeConstant.UINT64:
                InfluxTagValuePOJO uint64Pojo = new InfluxTagValueIntPOJO();
                ((InfluxTagValueIntPOJO) uint64Pojo).setValue(Integer.parseInt(value.toString()));
                return uint64Pojo;
            case TagValueTypeConstant.FLOAT:
                InfluxTagValuePOJO floatPojo = new InfluxTagValueFloatPOJO();
                ((InfluxTagValueFloatPOJO) floatPojo).setValue(Double.parseDouble(value.toString()));
                return floatPojo;
            case TagValueTypeConstant.DOUBLE:
                InfluxTagValuePOJO doublePojo = new InfluxTagValueFloatPOJO();
                ((InfluxTagValueFloatPOJO) doublePojo).setValue(Double.parseDouble(value.toString()));
                return doublePojo;
            default:
                InfluxTagValuePOJO strPojo = new InfluxTagValueStrPOJO();
                ((InfluxTagValueStrPOJO) strPojo).setValue(value.toString());
                return strPojo;
        }
    }
}