TianRangTask.java
2.46 KB
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
package com.viontech.tvp.task;
import cn.hutool.core.date.DateUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* 同步天壤平台Task
* @author msl
* @date 2022/10/17
*/
@Slf4j
public class TianRangTask implements Runnable {
private final JSONObject fxData;
private final String url;
public TianRangTask(JSONObject fxData, String url) {
this.fxData = fxData;
this.url = url;
}
@Override
public void run() {
//构造请求参数
String params = buildParam(fxData);
log.info("发送tianrang参数:{}", params);
//发送请求
String sendResult = HttpUtil.post(url, params, 20000);
log.info("发送tianrang结果:{}", sendResult);
}
public String buildParam(JSONObject fxData) {
long startTime = 0;
long endTime = 0;
String eventId = "";
String illegalCode = "";
String deviceCode = "";
String deviceName = "";
try {
JSONObject eventData = fxData.getJSONObject("event_data");
String startDt = eventData.getStr("start_dt").replaceAll("T", " ");
Date startParse = DateUtil.parse(startDt, "yyyy-MM-dd HH:mm:ss.SSS");
startTime = DateUtil.offsetHour(startParse, 8).getTime();
String endDt = eventData.getStr("end_dt").replaceAll("T", " ");
Date endParse = DateUtil.parse(endDt, "yyyy-MM-dd HH:mm:ss.SSS");
endTime = DateUtil.offsetHour(endParse, 8).getTime();
eventId = eventData.getStr("ID");
JSONObject illegal = eventData.getJSONObject("illegal");
illegalCode = illegal.getStr("code");
deviceCode = eventData.getJSONObject("device").getStr("code");
deviceName = eventData.getJSONObject("device").getStr("name");
} catch (Exception e) {
log.error("buildParam.Exception:{}", e.getMessage(), e);
}
JSONArray result = new JSONArray();
JSONObject obj = new JSONObject();
obj.set("targetType", "cross");
obj.set("targetId", deviceCode);
obj.set("targetName", deviceName);
obj.set("eventId", eventId);
obj.set("eventCode", illegalCode);
// obj.set("eventName", "压线");
obj.set("startTime", startTime);
obj.set("endTime", endTime);
result.add(obj);
return result.toString();
}
}