异步向机荷转发扬尘数据

异步向机荷转发扬尘数据
This commit is contained in:
guoshengxiong 2025-06-18 16:37:35 +08:00
parent 04c25beb23
commit 1f4fccb2ca
2 changed files with 83 additions and 24 deletions

View File

@ -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;
@ -20,6 +23,7 @@ import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* @program: wisdomSite
@ -31,6 +35,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 +46,9 @@ public class AsyncEnvironment {
@Autowired
private EnvironmentUtil environmentUtil;
@Value("${govt.host:}")
public String govtHost;
/**
* 转发扬尘实时数据
*
* @param dustNoiseData
* @param environmentDev
*/
@ -97,6 +103,7 @@ public class AsyncEnvironment {
/**
* 转发设备数据
*
* @param environmentDev
*/
@Async("environmentNoiseDataExecutor")
@ -126,6 +133,7 @@ public class AsyncEnvironment {
/**
* 转发分析视频数据
*
* @param videoAnalysisUrl
* @param data
*/
@ -137,4 +145,53 @@ public class AsyncEnvironment {
log.error("error", e);
}
}
/**
* 发送扬尘数据到机荷
*
* @param dustNoiseData
* @param environmentDev
*/
@Async("environmentNoiseDataExecutor")
public void sendJiheEnvironmentNoiseData(DustNoiseData dustNoiseData, EnvironmentDev environmentDev) {
if (!Objects.equals(isSendJihe, "true")) {
return;
}
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);
}
}
}

View File

@ -157,6 +157,8 @@ public class DustNoiseDataServiceImpl extends ServiceImpl<DustNoiseDataMapper, D
environmentAlarmService.addEnvironmentAlarm(dustNoiseData, environmentDev);
//异步向第三方平台转发扬尘数据
asyncEnvironment.sendEnvironmentNoiseData(dustNoiseData, environmentDev);
//异步向机荷转发扬尘数据
asyncEnvironment.sendJiheEnvironmentNoiseData(dustNoiseData, environmentDev);
}
@Override