SPC/ym-influx/src/main/java/com/cnbm/influx/controller/S7DemoController.java

114 lines
4.2 KiB
Java
Raw Normal View History

2022-07-04 08:32:21 +08:00
package com.cnbm.influx.controller;
2022-07-04 14:49:49 +08:00
import com.cnbm.influx.common.Utils;
2022-07-04 08:32:21 +08:00
import com.cnbm.influx.config.InfluxClient;
2022-07-04 14:49:49 +08:00
import com.cnbm.influx.param.PageInfo;
import com.cnbm.influx.param.QueryDataParam;
import com.cnbm.influx.param.Range;
import com.cnbm.influx.param.Tag;
2022-07-04 08:32:21 +08:00
import com.cnbm.influx.template.Event;
import com.influxdb.client.InfluxDBClient;
import com.influxdb.client.domain.WritePrecision;
import com.influxdb.client.write.Point;
2022-07-04 14:49:49 +08:00
import com.influxdb.query.FluxRecord;
import com.influxdb.query.FluxTable;
2022-07-04 08:32:21 +08:00
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.Instant;
2022-07-04 14:49:49 +08:00
import java.util.ArrayList;
import java.util.List;
2022-07-04 08:32:21 +08:00
@RestController
@RequestMapping("/influx")
public class S7DemoController {
private static final Logger logger = LoggerFactory.getLogger(S7DemoController.class);
2022-07-04 14:49:49 +08:00
@PostMapping("/insertBatch")
public void insertBatch() throws InterruptedException {
List<Event> list = new ArrayList<>();
2022-07-04 08:32:21 +08:00
2022-07-04 14:49:49 +08:00
for(int i=0;i<99;i++){
Thread.sleep(100);
Event event = new Event();
event.setTime(Instant.now());
event.setTransationId("asas"+i);
event.setArgName("arg7");
event.setArgValue(new Double(i));
list.add(event);
}
InfluxClient.Client.batchInsert(list,"ASProcessCompleteEventAS");
}
2022-07-04 08:32:21 +08:00
2022-07-04 14:49:49 +08:00
@PostMapping("/query")
public void query() throws InterruptedException {
List<Event> list = new ArrayList<>();
2022-07-04 08:32:21 +08:00
2022-07-04 14:49:49 +08:00
QueryDataParam queryDataParam = new QueryDataParam();
queryDataParam.setBucket("qgs-bucket");
queryDataParam.setMeasurement("ASProcessCompleteEventAS");
queryDataParam.setDropedTagName("transationId");
queryDataParam.setTag(new Tag("argName","arg6"));
queryDataParam.setRange(new Range(Utils.getBeforeDate(10).toInstant(),Instant.now()));
queryDataParam.setPageInfo(new PageInfo(1,10));
List<FluxTable> query = InfluxClient.Client.query(queryDataParam);
for (FluxTable fluxTable : query) {
List<FluxRecord> records = fluxTable.getRecords();
for (FluxRecord fluxRecord : records) {
System.out.println("value: " + fluxRecord.getValueByKey("_value"));
}
}
System.out.println();
}
public static void main(String[] args) {
List<Event> list = new ArrayList<>();
QueryDataParam queryDataParam = new QueryDataParam();
queryDataParam.setBucket("qgs-bucket");
queryDataParam.setMeasurement("ASProcessCompleteEventAS");
queryDataParam.setDropedTagName("transationId");
queryDataParam.setTag(new Tag("argName","arg7"));
queryDataParam.setRange(new Range(Utils.getBeforeDate(10).toInstant(),Instant.now()));
queryDataParam.setPageInfo(new PageInfo(2,10));
List<FluxTable> query = InfluxClient.Client.query(queryDataParam);
for (FluxTable fluxTable : query) {
List<FluxRecord> records = fluxTable.getRecords();
for (FluxRecord fluxRecord : records) {
System.out.println("value: " + fluxRecord.getValueByKey("_value"));
}
}
2022-07-04 08:32:21 +08:00
}
public Point insert(Event event, String measurement){
Point point = Point.measurement(measurement)
.addTag("transationId", event.getTransationId())
.addTag("argName", event.getArgName())
.addField("argValue", event.getArgValue())
.time(event.getTime().toEpochMilli(), WritePrecision.MS);
return point;
}
@PostMapping("/insert")
public void insert() throws InterruptedException {
Event event = new Event();
event.setTime(Instant.now());
event.setTransationId("asasd11");
event.setArgName("argName11");
2022-07-04 14:49:49 +08:00
event.setArgValue(900001d);
2022-07-04 08:32:21 +08:00
Point asProcessCompleteEvent = insert(event, "ASProcessCompleteEvent");
2022-07-04 14:49:49 +08:00
InfluxClient.Client.insert(event,"ASProcessCompleteEvent");
2022-07-04 08:32:21 +08:00
}
}