异步向机荷转发扬尘数据
This commit is contained in:
parent
04c25beb23
commit
d55c218d98
@ -1,15 +1,18 @@
|
||||
package com.zhgd.xmgl.async;
|
||||
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.zhgd.xmgl.constant.Cts;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.ThirdPartyPlatformService;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.ThirdPartyPlatformServiceMapper;
|
||||
import com.zhgd.xmgl.modules.environment.entity.DustNoiseData;
|
||||
import com.zhgd.xmgl.modules.environment.entity.EnvironmentDev;
|
||||
import com.zhgd.xmgl.modules.project.entity.ProjectUfaceConfig;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.ThirdPartyPlatformService;
|
||||
import com.zhgd.xmgl.modules.project.mapper.ProjectUfaceConfigMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.ThirdPartyPlatformServiceMapper;
|
||||
import com.zhgd.xmgl.util.EnvironmentUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@ -31,6 +34,10 @@ import java.util.Map;
|
||||
@Component
|
||||
public class AsyncEnvironment {
|
||||
public static final String ZERO = "0";
|
||||
@Value("${govt.host:}")
|
||||
public String govtHost;
|
||||
@Value("${isSendJihe:}")
|
||||
public String isSendJihe;
|
||||
@Autowired
|
||||
private ProjectUfaceConfigMapper projectUfaceConfigMapper;
|
||||
@Autowired
|
||||
@ -38,11 +45,9 @@ public class AsyncEnvironment {
|
||||
@Autowired
|
||||
private EnvironmentUtil environmentUtil;
|
||||
|
||||
@Value("${govt.host:}")
|
||||
public String govtHost;
|
||||
|
||||
/**
|
||||
* 转发扬尘实时数据
|
||||
*
|
||||
* @param dustNoiseData
|
||||
* @param environmentDev
|
||||
*/
|
||||
@ -70,18 +75,18 @@ public class AsyncEnvironment {
|
||||
//}
|
||||
//}
|
||||
} else {
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper =new QueryWrapper<>();
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, environmentDev.getProjectSn());
|
||||
ProjectUfaceConfig tempProjectUfaceConfig=projectUfaceConfigMapper.selectOne(queryWrapper);
|
||||
if(tempProjectUfaceConfig!=null&& StringUtils.isNotEmpty(tempProjectUfaceConfig.getHousing())&&!ZERO.equals(tempProjectUfaceConfig.getHousing())) {
|
||||
ProjectUfaceConfig tempProjectUfaceConfig = projectUfaceConfigMapper.selectOne(queryWrapper);
|
||||
if (tempProjectUfaceConfig != null && StringUtils.isNotEmpty(tempProjectUfaceConfig.getHousing()) && !ZERO.equals(tempProjectUfaceConfig.getHousing())) {
|
||||
String[] arr = tempProjectUfaceConfig.getHousing().split(Cts.COMMA);
|
||||
Map<String,Object> data=new HashMap<>(16);
|
||||
data.put("projectSn",environmentDev.getProjectSn());
|
||||
data.put("environmentDev",environmentDev);
|
||||
data.put("dustNoiseData",dustNoiseData);
|
||||
Map<String, Object> data = new HashMap<>(16);
|
||||
data.put("projectSn", environmentDev.getProjectSn());
|
||||
data.put("environmentDev", environmentDev);
|
||||
data.put("dustNoiseData", dustNoiseData);
|
||||
for (String housingId : arr) {
|
||||
ThirdPartyPlatformService dictionariesRecord = thirdPartyPlatformServiceMapper.selectById(housingId);
|
||||
if (dictionariesRecord != null && StringUtils.isNotEmpty(dictionariesRecord.getServiceUrl())&&dictionariesRecord.getEnvironmentSystem()==1) {
|
||||
if (dictionariesRecord != null && StringUtils.isNotEmpty(dictionariesRecord.getServiceUrl()) && dictionariesRecord.getEnvironmentSystem() == 1) {
|
||||
log.info("-----开始执行扬尘实时数据下发----" + dictionariesRecord.getServiceName());
|
||||
String result = HttpUtil.post(dictionariesRecord.getServiceUrl() + "/saveDustNoiseData", JSONUtil.toJsonStr(data));
|
||||
log.info("-----下发执行扬尘实时数据结果----" + result);
|
||||
@ -90,51 +95,99 @@ public class AsyncEnvironment {
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
log.error("error:", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 转发设备数据
|
||||
*
|
||||
* @param environmentDev
|
||||
*/
|
||||
@Async("environmentNoiseDataExecutor")
|
||||
public void saveEnvironmentDev(EnvironmentDev environmentDev) {
|
||||
try {
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper =new QueryWrapper<>();
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, environmentDev.getProjectSn());
|
||||
ProjectUfaceConfig tempProjectUfaceConfig=projectUfaceConfigMapper.selectOne(queryWrapper);
|
||||
if(tempProjectUfaceConfig!=null&& StringUtils.isNotEmpty(tempProjectUfaceConfig.getHousing())&&!ZERO.equals(tempProjectUfaceConfig.getHousing())) {
|
||||
ProjectUfaceConfig tempProjectUfaceConfig = projectUfaceConfigMapper.selectOne(queryWrapper);
|
||||
if (tempProjectUfaceConfig != null && StringUtils.isNotEmpty(tempProjectUfaceConfig.getHousing()) && !ZERO.equals(tempProjectUfaceConfig.getHousing())) {
|
||||
String[] arr = tempProjectUfaceConfig.getHousing().split(Cts.COMMA);
|
||||
Map<String,Object> data=new HashMap<>(16);
|
||||
data.put("projectSn",environmentDev.getProjectSn());
|
||||
data.put("environmentDev",environmentDev);
|
||||
Map<String, Object> data = new HashMap<>(16);
|
||||
data.put("projectSn", environmentDev.getProjectSn());
|
||||
data.put("environmentDev", environmentDev);
|
||||
for (String housingId : arr) {
|
||||
ThirdPartyPlatformService dictionariesRecord = thirdPartyPlatformServiceMapper.selectById(housingId);
|
||||
if (dictionariesRecord != null && StringUtils.isNotEmpty(dictionariesRecord.getServiceUrl())&&dictionariesRecord.getEnvironmentSystem()==1) {
|
||||
if (dictionariesRecord != null && StringUtils.isNotEmpty(dictionariesRecord.getServiceUrl()) && dictionariesRecord.getEnvironmentSystem() == 1) {
|
||||
log.info("-----开始执行扬尘设备数据下发----" + dictionariesRecord.getServiceName());
|
||||
String result = HttpUtil.post(dictionariesRecord.getServiceUrl() + "/saveEnvironmentDev", JSONUtil.toJsonStr(data));
|
||||
log.info("-----下发执行扬尘设备数据结果----" + result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
log.error("error:", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 转发分析视频数据
|
||||
*
|
||||
* @param videoAnalysisUrl
|
||||
* @param data
|
||||
*/
|
||||
@Async("environmentNoiseDataExecutor")
|
||||
public void sendVideoAnalysisData(String videoAnalysisUrl, Map<String,Object> data) {
|
||||
public void sendVideoAnalysisData(String videoAnalysisUrl, Map<String, Object> data) {
|
||||
try {
|
||||
HttpUtil.post(videoAnalysisUrl, JSONUtil.toJsonStr(data));
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
log.error("error:", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送扬尘数据到机荷
|
||||
*
|
||||
* @param dustNoiseData
|
||||
* @param environmentDev
|
||||
*/
|
||||
@Async("environmentNoiseDataExecutor")
|
||||
public void sendJiheEnvironmentNoiseData(DustNoiseData dustNoiseData, EnvironmentDev environmentDev) {
|
||||
String url = "http://jh-smartcs.sgsjs.work/api/mdmanage/open/apireceivedata";
|
||||
// 1. 构建 JSON 请求体
|
||||
JSONObject requestBody = new JSONObject();
|
||||
JSONArray rowsArray = new JSONArray();
|
||||
|
||||
JSONObject rowData = new JSONObject();
|
||||
rowData.put("id", dustNoiseData.getId());
|
||||
rowData.put("deviceId", dustNoiseData.getDeviceId());
|
||||
rowData.put("audioDB", dustNoiseData.getNoise());
|
||||
rowData.put("humidity", dustNoiseData.getHumidity());
|
||||
rowData.put("pm10", dustNoiseData.getPm10()); // 注意这里是字符串,你可能需要根据实际需求调整格式或类型
|
||||
rowData.put("pm25", dustNoiseData.getPm25());
|
||||
rowData.put("windspeed", dustNoiseData.getWindspeed());
|
||||
rowData.put("tsp", dustNoiseData.getTsp());
|
||||
|
||||
rowsArray.add(rowData);
|
||||
requestBody.put("rows", rowsArray);
|
||||
|
||||
// 将 JSON 对象转换为字符串,作为请求体
|
||||
String jsonBody = requestBody.toString();
|
||||
log.info("发送扬尘数据到机荷url:{},body:{}", url, jsonBody);
|
||||
|
||||
// 2. 发送 POST 请求
|
||||
try {
|
||||
String result = HttpRequest.post(url)
|
||||
.header("systemCode", "sgsjh001") // 设置自定义请求头 systemCode
|
||||
.header("modelCode", "hjjcy") // 设置自定义请求头 modelCode
|
||||
.header("Content-Type", "application/json") // 设置 Content-Type
|
||||
.body(jsonBody) // 设置请求体
|
||||
.execute() // 执行请求
|
||||
.body(); // 获取响应体
|
||||
|
||||
log.info("发送扬尘数据到机荷请求结果:{}", result);
|
||||
} catch (Exception e) {
|
||||
log.error("发送扬尘数据到机荷异常:", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -157,6 +157,8 @@ public class DustNoiseDataServiceImpl extends ServiceImpl<DustNoiseDataMapper, D
|
||||
environmentAlarmService.addEnvironmentAlarm(dustNoiseData, environmentDev);
|
||||
//异步向第三方平台转发扬尘数据
|
||||
asyncEnvironment.sendEnvironmentNoiseData(dustNoiseData, environmentDev);
|
||||
//异步向机荷转发扬尘数据
|
||||
asyncEnvironment.sendJiheEnvironmentNoiseData(dustNoiseData, environmentDev);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user