Browse Source

Merge branch 'master' of http://git.nzklabs.com:3000/huangyuanhao/jfcloud-coldchain into master

like 7 months ago
parent
commit
c3427ebe11

+ 1 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/config/JfcloudColdChainConstants.java

@@ -61,7 +61,7 @@ public interface JfcloudColdChainConstants {
     /**
      * 消息推送限制的时间窗口,单位为毫秒(10分钟)
      */
-    long MESS_PUSH_TIME_WINDOW = 5 * 60 * 1000;
+    long MESS_PUSH_TIME_WINDOW = 10 * 60 * 1000;
     /**
      * redis 缓存用户推送消息频率限制
      */

+ 8 - 2
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/event/MonitorDeviceHeartBeatEventListener.java

@@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.event.EventListener;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.coldchain.modular.monitordevice.service.MonitorDeviceService;
 import vip.xiaonuo.coldchain.modular.monitortarget.service.MonitorTargetService;
 
@@ -32,9 +33,14 @@ public class MonitorDeviceHeartBeatEventListener {
         String ip = event.getIp();
         Date timestamp = event.getTimestamps();
         try {
-            monitorDeviceService.updateLastHeartbeatTimeByDeviceId(deviceId, timestamp);
-            monitorTargetService.updateLastHeartbeatTimeByDeviceId(deviceId, timestamp);
+            updateHeartBeatTime(deviceId, timestamp);
         } catch (Exception e) {
         }
     }
+
+    public void updateHeartBeatTime(Integer deviceId, Date timestamp) {
+        monitorDeviceService.updateLastHeartbeatTimeByDeviceId(deviceId, timestamp);
+        monitorTargetService.updateLastHeartbeatTimeByDeviceId(deviceId, timestamp);
+    }
+
 }

+ 1 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/service/dataprocess/dataclean/impl/AbsRenkeMonitorDataProcessor.java

@@ -206,6 +206,7 @@ public abstract class AbsRenkeMonitorDataProcessor implements MonitorDataProcess
             if (b) {
                 RenKeColdChainMessageData renKeColdChainMessageData = new RenKeColdChainMessageData();
                 renKeColdChainMessageData.setDeviceId(Integer.parseInt(sensorData.getDeviceId()));
+                log.info("发送心跳。。。。。。。。。。。。。。。。。。。。。。。。");
                 heartbeat(renKeColdChainMessageData);
             } else {
                 log.error("发布传感器数据事件失败: {}", sensorData);

+ 2 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitordevice/service/MonitorDeviceService.java

@@ -110,4 +110,6 @@ public interface MonitorDeviceService extends IService<MonitorDevice> {
      * 获取首页统计信息
      */
     CountEntity getIndexCount();
+
+    MonitorDevice queryByDeviceCode(Integer deviceId);
 }

+ 12 - 4
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitordevice/service/impl/MonitorDeviceServiceImpl.java

@@ -131,7 +131,7 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
 
     public boolean getByDeviceName(String deviceName) {
         List<MonitorDevice> devices = this.list(new LambdaQueryWrapper<MonitorDevice>()
-                .eq(MonitorDevice::getDeviceName, deviceName).eq(MonitorDevice::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE));
+                .eq(MonitorDevice::getDeviceName, deviceName).eq(MonitorDevice::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE));
         return !devices.isEmpty();
     }
 
@@ -143,7 +143,7 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
 
     public List<MonitorDevice> getDeviceByDeviceName(String deviceName) {
         return this.list(new LambdaQueryWrapper<MonitorDevice>()
-                .eq(MonitorDevice::getDeviceName, deviceName).eq(MonitorDevice::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE));
+                .eq(MonitorDevice::getDeviceName, deviceName).eq(MonitorDevice::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE));
     }
 
     public List<MonitorDevice> getDeviceByDeviceCode(String deviceCode) {
@@ -285,6 +285,7 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
         // 更新设备信息
         return this.updateById(device);
     }
+
     @Override
     public List<SensorData> queryDataByDeviceIdAndRoads(String deviceId, Integer roads, String startTime, String endTime) {
         return sensorDataService.queryDataByDeviceIdAndRoads(deviceId, roads, startTime, endTime);
@@ -304,12 +305,12 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
     @Override
     public CountEntity getIndexCount() {
         CountEntity countEntity = new CountEntity();
-        countEntity.setDeviceCount((int)count());
+        countEntity.setDeviceCount((int) count());
         LambdaQueryWrapper<MonitorDevice> onlineDeviceQueryWrapper = new LambdaQueryWrapper<>();
         onlineDeviceQueryWrapper.eq(MonitorDevice::getStatus, MonitorDeviceStatusEnum.NORMAL.getValue()).eq(MonitorDevice::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE);
         LambdaQueryWrapper<MonitorDevice> offlineDeviceIdQueryWrapper = new LambdaQueryWrapper<>();
         offlineDeviceIdQueryWrapper.eq(MonitorDevice::getStatus, MonitorDeviceStatusEnum.UNUSED.getValue()).eq(MonitorDevice::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE);
-        countEntity.setOnlineDeviceCount((int)count(onlineDeviceQueryWrapper));
+        countEntity.setOnlineDeviceCount((int) count(onlineDeviceQueryWrapper));
         Integer sensorCount = 0;
         List<MonitorDevice> monitorDeviceList = list();
         for (MonitorDevice monitorDevice : monitorDeviceList) {
@@ -320,4 +321,11 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
         countEntity.setUnusedSensorCount(sensorCount - countEntity.getUsedSensorCount());
         return countEntity;
     }
+
+    @Override
+    public MonitorDevice queryByDeviceCode(Integer deviceId) {
+        LambdaQueryWrapper<MonitorDevice> onlineDeviceQueryWrapper = new LambdaQueryWrapper<>();
+        onlineDeviceQueryWrapper.eq(MonitorDevice::getDeviceCode, deviceId);
+        return this.getOne(onlineDeviceQueryWrapper);
+    }
 }

+ 7 - 6
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/service/impl/MonitorTargetServiceImpl.java

@@ -14,6 +14,7 @@ package vip.xiaonuo.coldchain.modular.monitortarget.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -24,7 +25,6 @@ import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
-import vip.xiaonuo.coldchain.modular.monitordevice.entity.MonitorDevice;
 import vip.xiaonuo.coldchain.modular.monitordevice.service.MonitorDeviceService;
 import vip.xiaonuo.coldchain.modular.monitortarget.entity.MonitorTarget;
 import vip.xiaonuo.coldchain.modular.monitortarget.entity.StatusCount;
@@ -41,7 +41,6 @@ import vip.xiaonuo.common.page.CommonPageRequest;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 监控对象管理Service接口实现类
@@ -182,8 +181,10 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
 
     @Override
     public boolean updateLastHeartbeatTimeByDeviceId(Integer deviceId, Date timestamp) {
-        MonitorDevice monitorDevice = monitorDeviceService.queryEntity(deviceId.toString());
-        List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(monitorDevice.getDeviceCode());
+        Assert.notNull(deviceId, "deviceId cannot be null");
+//        MonitorDevice monitorDevice = monitorDeviceService.queryByDeviceCode(deviceId);
+//        MonitorDevice monitorDevice = monitorDeviceService.queryEntity(deviceId.toString());
+        List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(String.valueOf(deviceId));
         if (ObjectUtil.isEmpty(targetIdList)) {
             return false;
         }
@@ -198,8 +199,8 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
 
     @Override
     public boolean updateLastLoginTimeByDeviceId(Integer deviceId, Date timestamp) {
-        MonitorDevice monitorDevice = monitorDeviceService.queryEntity(deviceId.toString());
-        List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(monitorDevice.getDeviceCode());
+//        MonitorDevice monitorDevice = monitorDeviceService.queryEntity(deviceId.toString());
+        List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(String.valueOf(deviceId));
         if (ObjectUtil.isEmpty(targetIdList)) {
             return false;
         }