|
|
@ -5,8 +5,10 @@ package com.hxjt.dataupload.jobhandler.mqtt.job.user.jobhandler; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.json.JSONUtil; |
|
|
import cn.hutool.json.JSONUtil; |
|
|
|
|
|
import com.alibaba.fastjson2.JSON; |
|
|
import com.alibaba.fastjson2.JSONObject; |
|
|
import com.alibaba.fastjson2.JSONObject; |
|
|
import com.hxjt.dataupload.jobhandler.mqtt.job.user.domain.ApiResponse; |
|
|
import com.hxjt.dataupload.jobhandler.mqtt.job.user.domain.ApiResponse; |
|
|
|
|
|
import com.hxjt.dataupload.jobhandler.mqtt.job.user.domain.SensorDataRequestObj; |
|
|
import com.hxjt.dataupload.mqtt.MqttClient; |
|
|
import com.hxjt.dataupload.mqtt.MqttClient; |
|
|
import com.xxl.job.core.context.XxlJobHelper; |
|
|
import com.xxl.job.core.context.XxlJobHelper; |
|
|
import com.xxl.job.core.handler.annotation.XxlJob; |
|
|
import com.xxl.job.core.handler.annotation.XxlJob; |
|
|
@ -21,6 +23,7 @@ import org.springframework.web.client.RestTemplate; |
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
import javax.annotation.Resource; |
|
|
|
|
|
|
|
|
|
|
|
import java.lang.reflect.Array; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
import static com.hxjt.dataupload.utils.ExcelDataExtraction.extractData; |
|
|
import static com.hxjt.dataupload.utils.ExcelDataExtraction.extractData; |
|
|
@ -39,7 +42,7 @@ public class SensorDataTopicMqttJobHandler { |
|
|
@Resource |
|
|
@Resource |
|
|
MqttClient mqttClient; |
|
|
MqttClient mqttClient; |
|
|
|
|
|
|
|
|
@Value("${spring.mqtt.sensorDataTopic:}") |
|
|
@Value("${xxl.mqtt.sensorDataTopic:}") |
|
|
private String sensorDataTopic; |
|
|
private String sensorDataTopic; |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
@ -53,9 +56,10 @@ public class SensorDataTopicMqttJobHandler { |
|
|
|
|
|
|
|
|
String filePath = "F://Users/liwenxuan/Desktop/环保上传园区/数据位号2025.3.4-1.xlsx"; // 请替换为实际的Excel文件路径
|
|
|
String filePath = "F://Users/liwenxuan/Desktop/环保上传园区/数据位号2025.3.4-1.xlsx"; // 请替换为实际的Excel文件路径
|
|
|
List<String> dataList = extractData(filePath); |
|
|
List<String> dataList = extractData(filePath); |
|
|
|
|
|
ArrayList<SensorDataRequestObj> sArr = new ArrayList<>() ; |
|
|
dataList.forEach(id -> { |
|
|
dataList.forEach(id -> { |
|
|
if(id.equals("DK$SO2_ZS_PV")||id.equals("DK$DLGL_GL_GL_DUST_ZS_PV")||id.equals("DK$DLGL_NOX_ZS_PV")||id.equals("DK$DLGL_SFLOW_PV")||id.equals("DK$DLGL_O2_PV")||id.equals("DK$TEMP_PV")||id.equals("DK$DLGL_HUM_PV")||id.equals("DK$DLGL_VELOCITY_PV")||id.equals("DK$DLGL_PRESS_PV")){ |
|
|
if(id.equals("DK$SO2_ZS_PV")||id.equals("DK$DLGL_GL_GL_DUST_ZS_PV")||id.equals("DK$DLGL_NOX_ZS_PV")||id.equals("DK$DLGL_SFLOW_PV")||id.equals("DK$DLGL_O2_PV")||id.equals("DK$TEMP_PV")||id.equals("DK$DLGL_HUM_PV")||id.equals("DK$DLGL_VELOCITY_PV")||id.equals("DK$DLGL_PRESS_PV")){ |
|
|
System.out.println(id); |
|
|
//System.out.println(id);
|
|
|
//请求地址
|
|
|
//请求地址
|
|
|
String url = "http://172.20.5.120:29912/open/app/api/po/send/MkZSTLpZ7vHYcz2clyDMBuUnuqHX9A49?id={id}"; |
|
|
String url = "http://172.20.5.120:29912/open/app/api/po/send/MkZSTLpZ7vHYcz2clyDMBuUnuqHX9A49?id={id}"; |
|
|
|
|
|
|
|
|
@ -67,16 +71,29 @@ public class SensorDataTopicMqttJobHandler { |
|
|
//发起请求,直接返回对象(带参数请求)
|
|
|
//发起请求,直接返回对象(带参数请求)
|
|
|
|
|
|
|
|
|
ApiResponse apiResponse = restTemplate.getForObject(url, ApiResponse.class, uriVariables); |
|
|
ApiResponse apiResponse = restTemplate.getForObject(url, ApiResponse.class, uriVariables); |
|
|
HashMap recordMap = apiResponse.getData().getRecords().get(0); |
|
|
Map recordMap = apiResponse.getData().getRecords().get(0); |
|
|
System.out.println(apiResponse.getData().getRecords().get(0)); |
|
|
//System.out.println(apiResponse.getData().getRecords().get(0));
|
|
|
|
|
|
SensorDataRequestObj sensorDataRequestObj = new SensorDataRequestObj(); |
|
|
|
|
|
sensorDataRequestObj.setDescript((String) recordMap.get("name")); |
|
|
|
|
|
sensorDataRequestObj.setName((String) recordMap.get("name")); |
|
|
|
|
|
sensorDataRequestObj.setCode((String) recordMap.get("id")); |
|
|
|
|
|
sensorDataRequestObj.setType((String) recordMap.get("kpiTypeBak")); |
|
|
|
|
|
sensorDataRequestObj.setMax((String)recordMap.get("heighLimit")); |
|
|
|
|
|
sensorDataRequestObj.setMin((String)recordMap.get("lowLimit")); |
|
|
|
|
|
//System.out.println(sensorDataRequestObj);
|
|
|
|
|
|
sArr.add(sensorDataRequestObj); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
/*String jsonData = JSONUtil.toJsonStr(alarmInfoIot); |
|
|
/*String jsonData = JSONUtil.toJsonStr(alarmInfoIot); |
|
|
log.info(jsonData); |
|
|
log.info(jsonData); |
|
|
XxlJobHelper.log("mqtt push data : : " + jsonData); |
|
|
XxlJobHelper.log("mqtt push data : : " + jsonData); |
|
|
mqttClient.publish(0, false, deviceTopic, jsonData);*/ |
|
|
mqttClient.publish(0, false, deviceTopic, jsonData);*/ |
|
|
|
|
|
String json = JSON.toJSONString(sArr); |
|
|
|
|
|
System.out.println(json); |
|
|
|
|
|
XxlJobHelper.log("mqtt push data : : " + json); |
|
|
|
|
|
System.out.println(mqttClient); |
|
|
|
|
|
|
|
|
|
|
|
mqttClient.publish(0, false, sensorDataTopic, json); |
|
|
XxlJobHelper.log(">>>>>>>>>>>>>>>Alarm info mqtt push finished!"); |
|
|
XxlJobHelper.log(">>>>>>>>>>>>>>>Alarm info mqtt push finished!"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|