修改获取设备实时数据定时任务逻辑
This commit is contained in:
parent
172bd4f89d
commit
29f0ac331b
@ -60,6 +60,7 @@ public class AlertLogController extends BaseController
|
|||||||
List<AlertLog> list = alertLogService.selectAlertLogList(alertLog);
|
List<AlertLog> list = alertLogService.selectAlertLogList(alertLog);
|
||||||
// 获取排序类型
|
// 获取排序类型
|
||||||
String sort = alertLog.getSort();
|
String sort = alertLog.getSort();
|
||||||
|
System.err.println("排序:"+sort);
|
||||||
if(sort != null){
|
if(sort != null){
|
||||||
//对列表进行排序
|
//对列表进行排序
|
||||||
//升序
|
//升序
|
||||||
|
@ -18,15 +18,13 @@ import com.fastbee.iot.mapper.DeviceMapper;
|
|||||||
import com.fastbee.iot.model.DeviceShortOutput;
|
import com.fastbee.iot.model.DeviceShortOutput;
|
||||||
import com.fastbee.iot.service.IDeviceService;
|
import com.fastbee.iot.service.IDeviceService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.repository.query.Param;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.jws.Oneway;
|
import javax.jws.Oneway;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备告警
|
* 设备告警
|
||||||
@ -41,6 +39,7 @@ public class DeviceAlarmController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private AlertLogMapper alertLogMapper;
|
private AlertLogMapper alertLogMapper;
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DeviceInformationManager deviceInformationManager;
|
private DeviceInformationManager deviceInformationManager;
|
||||||
|
|
||||||
@ -378,6 +377,30 @@ public class DeviceAlarmController extends BaseController {
|
|||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询告警列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/alarmList")
|
||||||
|
public AjaxResult getAlarmList(@Param("sort")Integer sort ){
|
||||||
|
List<AlertLog> list = new LambdaQueryChainWrapper<>(alertLogMapper)
|
||||||
|
.select(AlertLog::getAlertLogId,AlertLog::getCreateTime,AlertLog::getAlertName,AlertLog::getSerialNumber)
|
||||||
|
.list();
|
||||||
|
if(sort != null){
|
||||||
|
//对列表进行排序
|
||||||
|
//升序
|
||||||
|
if(sort==1){
|
||||||
|
list.sort(Comparator.comparing(AlertLog::getCreateTime));
|
||||||
|
}
|
||||||
|
//降序
|
||||||
|
else if(sort==2){
|
||||||
|
list.sort(Comparator.comparing(AlertLog::getCreateTime).reversed());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 研判等级评级策略方法
|
* 研判等级评级策略方法
|
||||||
* A级,3个以下报警;B级,3-10个报警;C级;10个以上报警
|
* A级,3个以下报警;B级,3-10个报警;C级;10个以上报警
|
||||||
|
@ -13,6 +13,7 @@ import com.fastbee.deviceData.domain.*;
|
|||||||
import com.fastbee.deviceData.mapper.*;
|
import com.fastbee.deviceData.mapper.*;
|
||||||
import com.fastbee.deviceData.service.IDeviceRealtimedataWormsService;
|
import com.fastbee.deviceData.service.IDeviceRealtimedataWormsService;
|
||||||
import com.fastbee.deviceData.service.impl.DeviceRealtimedataMeteorologyServiceImpl;
|
import com.fastbee.deviceData.service.impl.DeviceRealtimedataMeteorologyServiceImpl;
|
||||||
|
import com.fastbee.deviceData.service.impl.DeviceRealtimedataMoistureServiceImpl;
|
||||||
import com.fastbee.deviceData.service.impl.DeviceRealtimedataWormsServiceImpl;
|
import com.fastbee.deviceData.service.impl.DeviceRealtimedataWormsServiceImpl;
|
||||||
import com.fastbee.deviceInfo.domain.DeviceInformationMeteorology;
|
import com.fastbee.deviceInfo.domain.DeviceInformationMeteorology;
|
||||||
import com.fastbee.deviceInfo.domain.DeviceInformationMoisture;
|
import com.fastbee.deviceInfo.domain.DeviceInformationMoisture;
|
||||||
@ -25,7 +26,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author mijiupro
|
* @author mijiupro
|
||||||
@ -45,13 +50,13 @@ public class DeviceDateTask {
|
|||||||
private DeviceMapper deviceMapper;
|
private DeviceMapper deviceMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DeviceRealtimedataWormsServiceImpl wormsDataService;//虫情
|
private DeviceRealtimedataWormsServiceImpl wormsSaveDataService;//虫情
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DeviceRealtimedataMeteorologyServiceImpl meteorologyDataService;
|
private DeviceRealtimedataMeteorologyServiceImpl meteorologySaveDataService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DeviceRealtimedataMoistureMapper deviceRealtimedataMoistureMapper;
|
private DeviceRealtimedataMoistureServiceImpl moistureSaveDataService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DeviceRealtimedataPhotovoltaicMapper deviceRealtimedataPhotovoltaicMapper;
|
private DeviceRealtimedataPhotovoltaicMapper deviceRealtimedataPhotovoltaicMapper;
|
||||||
@ -100,26 +105,31 @@ public class DeviceDateTask {
|
|||||||
* 获取虫情设备实时数据并保存
|
* 获取虫情设备实时数据并保存
|
||||||
*/
|
*/
|
||||||
public void getWormsDeviceRealtimeData() {
|
public void getWormsDeviceRealtimeData() {
|
||||||
|
List<DeviceInformationWorms> list = new LambdaQueryChainWrapper<>(wormsMapper).select(DeviceInformationWorms::getDeviceEncoding).list();
|
||||||
|
List<String> deviceEncodingList = list.stream().map(DeviceInformationWorms::getDeviceEncoding).collect(Collectors.toList());
|
||||||
|
StringBuilder deviceAddrsStringBuilder= new StringBuilder("");
|
||||||
|
//离线设备列表
|
||||||
|
List<String> offlineDeviceList = new ArrayList<>();
|
||||||
|
//在线设备列表
|
||||||
|
List<String> onlineDeviceList = new ArrayList<>();
|
||||||
|
for (String deviceEncoding : deviceEncodingList) {
|
||||||
|
deviceAddrsStringBuilder.append(deviceEncoding);
|
||||||
|
deviceAddrsStringBuilder.append(",");
|
||||||
|
}
|
||||||
try{
|
try{
|
||||||
List<DeviceInformationWorms> list = new LambdaQueryChainWrapper<>(wormsMapper).select(DeviceInformationWorms::getDeviceEncoding).list();
|
|
||||||
StringBuilder deviceAddrsStringBuilder= new StringBuilder("");
|
|
||||||
for (DeviceInformationWorms worms : list) {
|
|
||||||
deviceAddrsStringBuilder.append(worms.getDeviceEncoding());
|
|
||||||
deviceAddrsStringBuilder.append(",");
|
|
||||||
}
|
|
||||||
//去除最后,
|
//去除最后,
|
||||||
StringBuilder stringBuilder = deviceAddrsStringBuilder.deleteCharAt(deviceAddrsStringBuilder.length() - 1);
|
StringBuilder stringBuilder = deviceAddrsStringBuilder.deleteCharAt(deviceAddrsStringBuilder.length() - 1);
|
||||||
String deviceAddrs = stringBuilder.toString();
|
String deviceAddrs = stringBuilder.toString();
|
||||||
List<DeviceRealtimedataWorms> deviceRealtimedataWorms = wormsService.setData(deviceAddrs);
|
List<DeviceRealtimedataWorms> deviceRealtimedataWorms = wormsService.setData(deviceAddrs);
|
||||||
// int i = deviceRealtimedataWormsMapper.in(deviceRealtimedataWorms);
|
new LambdaUpdateChainWrapper<>(wormsMapper).in(DeviceInformationWorms::getDeviceEncoding,"1017240042").set(DeviceInformationWorms::getStatus, 1).update();
|
||||||
boolean saved = wormsDataService.saveBatch(deviceRealtimedataWorms);
|
boolean saved = wormsSaveDataService.saveBatch(deviceRealtimedataWorms);
|
||||||
if (!saved){
|
if (!saved){
|
||||||
System.out.println("插入数据失败!");
|
System.out.println("插入数据失败!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e){
|
catch (Exception e){
|
||||||
log.error("获取虫情设备实时数据失败",e);
|
log.error("获取虫情设备实时数据失败",e);
|
||||||
new LambdaUpdateChainWrapper<>(wormsMapper).eq(DeviceInformationWorms::getDeviceEncoding,"1017240042").set(DeviceInformationWorms::getStatus, 0).update();
|
new LambdaUpdateChainWrapper<>(wormsMapper).in(DeviceInformationWorms::getDeviceEncoding,"1017240042").set(DeviceInformationWorms::getStatus, 0).update();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -128,17 +138,39 @@ public class DeviceDateTask {
|
|||||||
* 获取气象设备实时数据并保存
|
* 获取气象设备实时数据并保存
|
||||||
*/
|
*/
|
||||||
public void getDevLinkMetDeviceRealtimeData(){
|
public void getDevLinkMetDeviceRealtimeData(){
|
||||||
|
List<DeviceInformationMeteorology> list = new LambdaQueryChainWrapper<>(meteorologyMapper).select(DeviceInformationMeteorology::getDeviceEncoding).list();
|
||||||
|
List<String> deviceEncodingList = list.stream().map(DeviceInformationMeteorology::getDeviceEncoding).collect(Collectors.toList());
|
||||||
|
//离线设备列表
|
||||||
|
List<String> offlineDeviceList = new ArrayList<>();
|
||||||
|
//在线设备列表
|
||||||
|
List<String> onlineDeviceList = new ArrayList<>();
|
||||||
try{
|
try{
|
||||||
List<DeviceInformationMeteorology> list = new LambdaQueryChainWrapper<>(meteorologyMapper).select(DeviceInformationMeteorology::getDeviceEncoding).list();
|
deviceEncodingList.forEach(deviceEncoding->{
|
||||||
DeviceRealtimedataMeteorology deviceRealtimedataMeteorology = metDataService.setData(metDataService.getDeviceRealTimeData("3269"));
|
Map<String, String> deviceRealTimeData = new HashMap<>();
|
||||||
boolean save = meteorologyDataService.save(deviceRealtimedataMeteorology);
|
try{
|
||||||
if (!save){
|
deviceRealTimeData = metDataService.getDeviceRealTimeData(deviceEncoding);
|
||||||
System.out.println("插入数据失败!");
|
onlineDeviceList.add(deviceEncoding);
|
||||||
|
}
|
||||||
|
catch (Exception e){
|
||||||
|
offlineDeviceList.add(deviceEncoding);
|
||||||
|
}
|
||||||
|
|
||||||
|
DeviceRealtimedataMeteorology deviceRealtimedataMeteorology = metDataService.setData(deviceRealTimeData);
|
||||||
|
boolean save = meteorologySaveDataService.save(deviceRealtimedataMeteorology);
|
||||||
|
if (!save){
|
||||||
|
System.out.println("插入数据失败!");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(!onlineDeviceList.isEmpty()){
|
||||||
|
new LambdaUpdateChainWrapper<>(meteorologyMapper).in(DeviceInformationMeteorology::getDeviceEncoding,offlineDeviceList).set(DeviceInformationMeteorology::getStatus, 1).update();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e){
|
catch (Exception e){
|
||||||
log.error("获取气象设备实时数据失败",e);
|
log.error("获取气象设备实时数据失败",e);
|
||||||
new LambdaUpdateChainWrapper<>(meteorologyMapper).eq(DeviceInformationMeteorology::getDeviceEncoding,"3269").set(DeviceInformationMeteorology::getStatus, 0).update();
|
if(!offlineDeviceList.isEmpty()){
|
||||||
|
new LambdaUpdateChainWrapper<>(meteorologyMapper).in(DeviceInformationMeteorology::getDeviceEncoding,offlineDeviceList).set(DeviceInformationMeteorology::getStatus, 0).update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -147,18 +179,37 @@ public class DeviceDateTask {
|
|||||||
* 获取墒情设备实时数据并保存
|
* 获取墒情设备实时数据并保存
|
||||||
*/
|
*/
|
||||||
public void getDevLinkMoistureDeviceRealtimeData() {
|
public void getDevLinkMoistureDeviceRealtimeData() {
|
||||||
|
List<DeviceInformationMoisture> list = new LambdaQueryChainWrapper<>(moistureMapper).select(DeviceInformationMoisture::getDeviceEncoding).list();
|
||||||
|
List<String> deviceEncodingList = list.stream().map(DeviceInformationMoisture::getDeviceEncoding).collect(Collectors.toList());
|
||||||
|
//离线设备列表
|
||||||
|
List<String> offlineDeviceList = new ArrayList<>();
|
||||||
|
//在线设备列表
|
||||||
|
List<String> onlineDeviceList = new ArrayList<>();
|
||||||
try{
|
try{
|
||||||
DeviceRealtimedataMoisture deviceRealtimedataMoisture = moistureDataService.setData(moistureDataService.getDeviceRealTimeData("3270"));
|
|
||||||
DeviceRealtimedataMoisture deviceRealtimedataMoisture1 = moistureDataService.setData(moistureDataService.getDeviceRealTimeData("3271"));
|
deviceEncodingList.forEach(deviceEncoding->{
|
||||||
int i = deviceRealtimedataMoistureMapper.insert(deviceRealtimedataMoisture);
|
Map<String, String> deviceRealTimeData = new HashMap<>();
|
||||||
int i1 = deviceRealtimedataMoistureMapper.insert(deviceRealtimedataMoisture1);
|
try {
|
||||||
if (i<1||i1<1)
|
deviceRealTimeData = moistureDataService.getDeviceRealTimeData(deviceEncoding);
|
||||||
System.out.println("插入数据失败!");
|
onlineDeviceList.add(deviceEncoding);
|
||||||
|
}catch (Exception e){
|
||||||
|
offlineDeviceList.add(deviceEncoding);
|
||||||
|
}
|
||||||
|
DeviceRealtimedataMoisture deviceRealtimedataMoisture = moistureDataService.setData(deviceRealTimeData);
|
||||||
|
boolean save = moistureSaveDataService.save(deviceRealtimedataMoisture);
|
||||||
|
if (!save){
|
||||||
|
log.error("墒情设备"+deviceEncoding+"实时数据插入数据失败!");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(!onlineDeviceList.isEmpty()){
|
||||||
|
new LambdaUpdateChainWrapper<>(moistureMapper).in(DeviceInformationMoisture::getDeviceEncoding,onlineDeviceList).set(DeviceInformationMoisture::getStatus, 1).update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e){
|
catch (Exception e){
|
||||||
log.error("获取墒情设备实时数据失败",e);
|
log.error("获取墒情设备实时数据失败",e);
|
||||||
new LambdaUpdateChainWrapper<>(moistureMapper).in(DeviceInformationMoisture::getDeviceEncoding,"3270","3271").set(DeviceInformationMoisture::getStatus, 0).update();
|
if(!offlineDeviceList.isEmpty()){
|
||||||
|
new LambdaUpdateChainWrapper<>(moistureMapper).in(DeviceInformationMoisture::getDeviceEncoding,offlineDeviceList).set(DeviceInformationMoisture::getStatus, 0).update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -205,7 +256,5 @@ public class DeviceDateTask {
|
|||||||
System.out.println("插入数据失败!");
|
System.out.println("插入数据失败!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user