温湿度抄表优化在线状态

This commit is contained in:
曹磊 2025-06-26 17:39:22 +08:00
parent 5439480a39
commit 8315c0b3d5
1 changed files with 85 additions and 57 deletions

View File

@ -1,5 +1,6 @@
package com.nu.modules.yiweilian.humid.service.impl; package com.nu.modules.yiweilian.humid.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONArray; import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
@ -25,9 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.*;
import java.util.Map;
import java.util.UUID;
@Slf4j @Slf4j
@Service @Service
@ -231,6 +230,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
Integer limit = dataObj.getInt("rows"); Integer limit = dataObj.getInt("rows");
Integer page = dataObj.getInt("page"); Integer page = dataObj.getInt("page");
JSONArray dataArr = dataObj.getJSONArray("dataList"); JSONArray dataArr = dataObj.getJSONArray("dataList");
if(dataArr.size()>0){
for(int i=0;i<dataArr.size();i++){ for(int i=0;i<dataArr.size();i++){
HumidDevice dh = new HumidDevice(); HumidDevice dh = new HumidDevice();
JSONObject json = (JSONObject)dataArr.get(i); JSONObject json = (JSONObject)dataArr.get(i);
@ -240,9 +240,15 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
String temperature = json.getStr("temperature"); String temperature = json.getStr("temperature");
String humidity = json.getStr("humidity"); String humidity = json.getStr("humidity");
String reportingTime = json.getStr("date"); String reportingTime = json.getStr("date");
dh.setSn(sn);
dh.setStatus(status); dh.setStatus(status);
Date reportingDate = DateUtil.parse(reportingTime,"yyyy-MM-dd HH:mm:ss");
Calendar ca = Calendar.getInstance();
ca.add(Calendar.MINUTE,-5);
Date currentDate = ca.getTime();
if(reportingDate.getTime()<=currentDate.getTime()){
dh.setStatus("1");
}
dh.setSn(sn);
dh.setElectricity(electricity); dh.setElectricity(electricity);
dh.setTemperature(temperature); dh.setTemperature(temperature);
dh.setHumidity(humidity); dh.setHumidity(humidity);
@ -255,6 +261,23 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
} }
baseMapper.insertLog(dh); baseMapper.insertLog(dh);
} }
}else{
errorMsg += humidDevice.getSn()+"温湿度设备丢失,请联系管理员";
HumidDevice dh = new HumidDevice();
dh.setSn(humidDevice.getSn());
dh.setStatus("1");
dh.setElectricity("0");
dh.setTemperature("0");
dh.setHumidity("0");
dh.setReportingTime(DateUtil.now());
dh.setOptType("read");
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
dh.setOptBy(sysUser.getUsername());
}
baseMapper.insertLog(dh);
baseMapper.updateValue(dh);
}
if((page+1)*limit<count){ if((page+1)*limit<count){
Map<String, Object> params = getParmas(page+1,limit,humidDevice); Map<String, Object> params = getParmas(page+1,limit,humidDevice);
errorMsg += updateDeviceRealTimeData(params,humidDevice); errorMsg += updateDeviceRealTimeData(params,humidDevice);
@ -344,7 +367,8 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
if(deviceParameters!=null){ if(deviceParameters!=null){
return Result.OK(deviceParameters); return Result.OK(deviceParameters);
}else{ }else{
return Result.error("获取设备配置参数错误"); return Result.error("温湿度设备丢失获取配置错误,请联系管理员");
// return Result.error("获取设备配置参数错误");
} }
} }
@ -361,6 +385,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
if(responseCode.equals(0)){ if(responseCode.equals(0)){
JSONObject dataObj = jsonObject.getJSONObject("data"); JSONObject dataObj = jsonObject.getJSONObject("data");
JSONArray dataArr = dataObj.getJSONArray("dataList"); JSONArray dataArr = dataObj.getJSONArray("dataList");
if(dataArr.size()>0){
for(int i=0;i<dataArr.size();i++){ for(int i=0;i<dataArr.size();i++){
JSONObject json = (JSONObject)dataArr.get(i); JSONObject json = (JSONObject)dataArr.get(i);
String sn = json.getStr("sn"); String sn = json.getStr("sn");
@ -403,6 +428,9 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
}else{ }else{
return null; return null;
} }
}else{
return null;
}
return dh; return dh;
} }