From 47a458ca867f700ad8dfe8bccdbb6bf59ca2d301 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 11 May 2021 15:54:02 +0800
Subject: [PATCH] APP接口调整
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++------------
1 files changed, 68 insertions(+), 25 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
index c1f5c68..ef97b44 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
@@ -35,10 +35,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 服务实现类
@@ -154,28 +151,32 @@
*/
@Override
public Integer selectEquipmentCount(ConditionVo conditionVo) {
+ //更新设备状态
+ updateEquipmentDtype();
//先查询所有的设备
- List<EquipmentVO> equipmentVOS = baseMapper.listAlls();
- long time = new Date().getTime();
- int equipmentCount = 0;
- long hearbeat = 0;
- //遍历集合数据,对比心跳时间,得出在线的设备数量
- int status =0;
- if (status==0 && equipmentVOS.size()>0){
- for (EquipmentVO e:equipmentVOS) {
- try {
- if(null!=e.getHeartbeat()) {
- hearbeat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(e.getHeartbeat()).getTime();
- }
- } catch (ParseException parseException) {
- parseException.printStackTrace();
- }
- //对比心跳时间
- if (time-hearbeat<TIME_DIFFERENCE){
- equipmentCount+=1;
- }
- }
- }
+ Integer equipmentCount = baseMapper.selectEqCz();
+ System.out.println("equipmentCount = " + equipmentCount);
+// long time = new Date().getTime();
+// long hearbeat = 0;
+// //遍历集合数据,对比心跳时间,得出在线的设备数量
+// int status =0;
+// if (status==0 && equipmentVOS.size()>0){
+// for (EquipmentVO e:equipmentVOS) {
+// try {
+// if(null!=e.getHeartbeat()) {
+// hearbeat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(e.getHeartbeat()).getTime();
+// }
+// } catch (ParseException parseException) {
+// parseException.printStackTrace();
+// }
+// //对比心跳时间
+// if (null!=e.getDtype()) {
+// if (time - hearbeat < TIME_DIFFERENCE && e.getDtype()!="2" && e.getDtype()!="3") {
+// equipmentCount += 1;
+// }
+// }
+// }
+// }
//返回数据
return equipmentCount;
}
@@ -251,4 +252,46 @@
//返回数据
return map;
}
+
+
+ /**
+ * 更新设备状态
+ */
+ @Override
+ public void updateEquipmentDtype() {
+ //查询所有的设备,不包含故障和警情状态
+ List<Equipment> equipment = baseMapper.selAllEq();
+ long time = new Date().getTime();
+ long hearbeat = 0;
+ List<Long> equipmentListz = new ArrayList<>();
+ List<Long> equipmentListl = new ArrayList<>();
+ for (Equipment e:equipment) {
+ try {
+ if(null!=e.getHeartbeat()) {
+ hearbeat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(e.getHeartbeat()).getTime();
+ }
+ } catch (ParseException parseException) {
+ parseException.printStackTrace();
+ }
+ //对比心跳时间,在线
+ if (time-hearbeat<TIME_DIFFERENCE){
+ if (null==e.getDtype() || e.getDtype()!="1"){
+ equipmentListz.add(e.getId());
+ }
+ }
+ //不在线
+ if (time-hearbeat>=TIME_DIFFERENCE){
+ if (null==e.getDtype() || e.getDtype()!="0"){
+ equipmentListl.add(e.getId());
+ }
+ }
+ }
+ //批量更新数据
+ if (equipmentListz.size()>0){
+ baseMapper.updateEqListz(equipmentListz);
+ }
+ if (equipmentListl.size()>0){
+ baseMapper.updateEqListl(equipmentListl);
+ }
+ }
}
--
Gitblit v1.9.3