南昌市物联网技防平台-后台
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.*;
/**
 *  服务实现类
@@ -234,6 +231,43 @@
    */
   @Override
   public Map<String, Object> selEqTypeSum() {
      //查詢之前先更新设备状态
      //查询所有的设备,不包含故障和警情状态
//      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());
//            }
//         }
//      }
//
//      System.out.println("equipmentListl = " + equipmentListl);
//      System.out.println("equipmentListz = " + equipmentListz);
//      //批量更新数据
//      if (equipmentListz.size()>0){
//         baseMapper.updateEqListz(equipmentListz);
//      }
//      if (equipmentListl.size()>0){
//         baseMapper.updateEqListl(equipmentListl);
//      }
      //设备在线数量
      Integer integerz = baseMapper.selectEqCz();
      //设备掉线数量
@@ -251,4 +285,48 @@
      //返回数据
      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());
            }
         }
      }
      System.out.println("equipmentListl = " + equipmentListl);
      System.out.println("equipmentListz = " + equipmentListz);
      //批量更新数据
      if (equipmentListz.size()>0){
         baseMapper.updateEqListz(equipmentListz);
      }
      if (equipmentListl.size()>0){
         baseMapper.updateEqListl(equipmentListl);
      }
   }
}