139 lines
7.1 KiB
Java
139 lines
7.1 KiB
Java
package com.zhgd.xmgl.async;
|
|
|
|
import cn.hutool.http.HttpUtil;
|
|
import cn.hutool.json.JSONUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
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;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* @program: wisdomSite
|
|
* @description: 异步扬尘任务
|
|
* @author: Mr.Peng
|
|
* @create: 2021-07-08 18:27
|
|
**/
|
|
@Slf4j
|
|
@Component
|
|
public class AsyncEnvironment {
|
|
@Autowired
|
|
private ProjectUfaceConfigMapper projectUfaceConfigMapper;
|
|
@Autowired
|
|
private ThirdPartyPlatformServiceMapper thirdPartyPlatformServiceMapper;
|
|
@Autowired
|
|
private EnvironmentUtil environmentUtil;
|
|
|
|
@Value("${govt.host:}")
|
|
public String govtHost;
|
|
|
|
/**
|
|
* 转发扬尘实时数据
|
|
* @param dustNoiseData
|
|
* @param environmentDev
|
|
*/
|
|
@Async("environmentNoiseDataExecutor")
|
|
public void sendEnvironmentNoiseData(DustNoiseData dustNoiseData, EnvironmentDev environmentDev) {
|
|
try {
|
|
if (environmentUtil.isJlwProd()) {
|
|
/*QueryWrapper<ProjectUfaceConfig> queryWrapper =new QueryWrapper<>();
|
|
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, environmentDev.getProjectSn());
|
|
ProjectUfaceConfig tempProjectUfaceConfig=projectUfaceConfigMapper.selectOne(queryWrapper);
|
|
if(tempProjectUfaceConfig!=null&& StringUtils.isNotEmpty(tempProjectUfaceConfig.getHousing())&&!"0".equals(tempProjectUfaceConfig.getHousing())) {*/
|
|
//String[] arr = tempProjectUfaceConfig.getHousing().split(",");
|
|
//Map<String,Object> data=new HashMap<>();
|
|
//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) {
|
|
log.info("-----开始执行扬尘实时数据下发----" + govtHost);
|
|
String result = HttpUtil.post(govtHost + "/record/saveDustNoiseData", JSONUtil.toJsonStr(dustNoiseData));
|
|
log.info("-----下发执行扬尘实时数据结果----" + result);
|
|
//saveExecuteRecord(workerInfo, result, dictionariesRecord.getServiceName(), "人员", 1);
|
|
//}
|
|
//}
|
|
//}
|
|
} else {
|
|
QueryWrapper<ProjectUfaceConfig> queryWrapper =new QueryWrapper<>();
|
|
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, environmentDev.getProjectSn());
|
|
ProjectUfaceConfig tempProjectUfaceConfig=projectUfaceConfigMapper.selectOne(queryWrapper);
|
|
if(tempProjectUfaceConfig!=null&& StringUtils.isNotEmpty(tempProjectUfaceConfig.getHousing())&&!"0".equals(tempProjectUfaceConfig.getHousing())) {
|
|
String[] arr = tempProjectUfaceConfig.getHousing().split(",");
|
|
Map<String,Object> data=new HashMap<>();
|
|
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) {
|
|
log.info("-----开始执行扬尘实时数据下发----" + dictionariesRecord.getServiceName());
|
|
String result = HttpUtil.post(dictionariesRecord.getServiceUrl() + "/saveDustNoiseData", JSONUtil.toJsonStr(data));
|
|
log.info("-----下发执行扬尘实时数据结果----" + result);
|
|
//saveExecuteRecord(workerInfo, result, dictionariesRecord.getServiceName(), "人员", 1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 转发设备数据
|
|
* @param environmentDev
|
|
*/
|
|
@Async("environmentNoiseDataExecutor")
|
|
public void saveEnvironmentDev(EnvironmentDev environmentDev) {
|
|
try {
|
|
QueryWrapper<ProjectUfaceConfig> queryWrapper =new QueryWrapper<>();
|
|
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, environmentDev.getProjectSn());
|
|
ProjectUfaceConfig tempProjectUfaceConfig=projectUfaceConfigMapper.selectOne(queryWrapper);
|
|
if(tempProjectUfaceConfig!=null&& StringUtils.isNotEmpty(tempProjectUfaceConfig.getHousing())&&!"0".equals(tempProjectUfaceConfig.getHousing())) {
|
|
String[] arr = tempProjectUfaceConfig.getHousing().split(",");
|
|
Map<String,Object> data=new HashMap<>();
|
|
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) {
|
|
log.info("-----开始执行扬尘设备数据下发----" + dictionariesRecord.getServiceName());
|
|
String result = HttpUtil.post(dictionariesRecord.getServiceUrl() + "/saveEnvironmentDev", JSONUtil.toJsonStr(data));
|
|
log.info("-----下发执行扬尘设备数据结果----" + result);
|
|
}
|
|
}
|
|
}
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 转发分析视频数据
|
|
* @param videoAnalysisUrl
|
|
* @param data
|
|
*/
|
|
@Async("environmentNoiseDataExecutor")
|
|
public void sendVideoAnalysisData(String videoAnalysisUrl, Map<String,Object> data) {
|
|
try {
|
|
HttpUtil.post(videoAnalysisUrl, JSONUtil.toJsonStr(data));
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|