523096025 1 год назад
Родитель
Сommit
a2727e52ac

+ 21 - 6
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/listener/EartagListener.java

@@ -215,26 +215,41 @@ public class EartagListener {
     @RabbitHandler
     public void countActHour(JSONObject dataJo) throws ParseException, IOException {
         log.info("开始计算小时运动量------>"+dataJo);
+    }
+
+    @RabbitListener(queues = Const.QUEUE_EARTAG_DEVICE_ONLINE)
+    @RabbitHandler
+    public void updateEartagDeviceOnlineCount(JSONObject dataJo)   {
+        log.info("更新耳标设备在线关联统计------>"+dataJo);
+        eartagService.updateEartagDeviceOnlineCount(dataJo);
 
     }
 
-    @RabbitListener(queues = Const.QUEUE_AllSTATUS)
+
+    @RabbitListener(queues = Const.QUEUE_EARTAG_LIVE)
     @RabbitHandler
-    public void updateEartagPropertyOfAllStatus(JSONObject dataJo) throws ParseException {
-        log.info("判断该设备编号是否存在牧场缓存在线集合当中------>"+dataJo);
-        eartagService.updateEartagPropertyOfAllStatus(dataJo);
+    public void updateEartagLiveStatus(JSONObject dataJo)   {
+        log.info("更新耳标连线状态------>"+dataJo);
+        eartagService.updateEartagLiveStatus(dataJo);
+
     }
 
 
+
     @RabbitListener(queues = Const.QUEUE_ABNORMAL)
     @RabbitHandler
     public void abnormalCountAndAlarm(JSONObject dataJo) throws ParseException {
         log.info("异常统计和异常报警------>"+dataJo);
-        eartagService.updateEartagDeviceOnlineCount(dataJo);
+        eartagService.abnormalCountAndAlarm(dataJo);
 
     }
 
-
+    @RabbitListener(queues = Const.QUEUE_AllSTATUS)
+    @RabbitHandler
+    public void updateEartagPropertyOfAllStatus(JSONObject dataJo) throws ParseException {
+        log.info("判断该设备编号是否存在牧场缓存在线集合当中------>"+dataJo);
+        eartagService.updateEartagPropertyOfAllStatus(dataJo);
+    }
 
 
 

+ 4 - 0
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/IEartagService.java

@@ -19,4 +19,8 @@ public interface IEartagService {
     void updateEartagPropertyOfAllStatus(JSONObject dataJo) throws ParseException;
 
     void updateEartagDeviceOnlineCount(JSONObject dataJo);
+
+    void abnormalCountAndAlarm(JSONObject dataJo);
+
+    void updateEartagLiveStatus(JSONObject dataJo);
 }

+ 16 - 6
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java

@@ -149,7 +149,7 @@ public class EartagServiceImpl implements IEartagService {
             updateEartagOnline(earmark, deviceCode, todayDateText, todayDate, nowTimestamp, dataJo, farmId);
 
             //{更新耳标连线状态}
-            updateEartagLiveStatus(earmark, deviceCode, todayDateText, todayDate, nowTimestamp, dataJo, farmId);
+//            updateEartagLiveStatus(earmark, deviceCode, todayDateText, todayDate, nowTimestamp, dataJo, farmId);
 
             //{更新耳标设备在线关联统计}
 //            updateEartagDeviceOnlineCount(earmark, deviceCode, todayDateText, todayDate, nowTimestamp, farmId);
@@ -291,10 +291,17 @@ public class EartagServiceImpl implements IEartagService {
     }
 
     // 异常统计和报警
-    private void abnormalCountAndAlarm(JSONObject dataJo, java.sql.Date todayDate, Timestamp nowTimestamp, String farmCode) {
-        System.out.println("耳标温度警报 1111111111111111111111111111111111111111111111111111111 ");
+    @Override
+    public void abnormalCountAndAlarm(JSONObject dataJ) {
+
+        //设备编码
+        String farmCode = dataJ.getString("farmId");
+        //耳标号
+        String todayDateText = new DateUtil().getTodayDateText();
+        java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
+        Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
         //处理异常-耳标温度警报和统计;
-        handleEartempAlarmAndCount(dataJo, todayDate, nowTimestamp, farmCode);
+        handleEartempAlarmAndCount(dataJ, todayDate, nowTimestamp, farmCode);
         //--这里环境温度报警不用耳标里包含的环境温度数据,而是用采集器设备上传的报警数据
         //处理异常-环境温度警报和统计;
 //        handleEnvtempAlarmAndCount(dataJo, todayDate, nowTimestamp, farmCode);
@@ -796,7 +803,10 @@ public class EartagServiceImpl implements IEartagService {
     }
 
     // 更新耳标连线状态
-    private void updateEartagLiveStatus(String earmark, String deviceCode, String todayDateText, java.sql.Date todayDate, Timestamp nowTimestamp, JSONObject dataJo, String farmId) {
+    @Override
+    public void updateEartagLiveStatus(JSONObject dataJo) {
+        String farmId = dataJo.getString("farmId");
+        String earmark = dataJo.getString("earmark");
         // 通过耳标注册表查找耳标所属单元
         EartagEartagRegister2Entity eartagEartagRegister2Entity = eartagEartagRegister2EntityRepo.getOneByEarmark(earmark, farmId);
         if (eartagEartagRegister2Entity == null) {
@@ -1684,7 +1694,7 @@ public class EartagServiceImpl implements IEartagService {
                 eartagEartagRegister2EntityRepo.saveAndFlush(eartagRegister2Entity);
             }
             //{异常统计和异常报警}
-            abnormalCountAndAlarm(eartagJo, todayDate, nowTimestamp, farmId);
+//            abnormalCountAndAlarm(eartagJo, todayDate, nowTimestamp, farmId);
             //{最新的耳标数据覆盖老数据}
             cacheService.putEartagFlowToCache(dataEntity.getEarmark(), dataEntity);
         }