Bladeren bron

耳标平台

523096025 1 jaar geleden
bovenliggende
commit
2085037635

+ 49 - 0
huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/mq/Const.java

@@ -65,4 +65,53 @@ public class Const {
     public final static String QUEUE_SYNC_SYS_CONFIG = "topic.syncSysConfig.queue";
     public final static String EXCHANGE_SYNC_SYS_CONFIG = "topic.syncSysConfig.exchange";
     public final static String ROUTING_KEY_SYNC_SYS_CONFIG = "topic.syncSysConfig.routeKey";
+
+    // -------------------------- 计算小时运动量 -------------------------- //
+    public final static String QUEUE_COUNT_ACT_HOUR = "direct.countActHour.queue";
+    public final static String EXCHANGE_COUNT_ACT_HOUR = "direct.countActHour.exchange";
+    public final static String ROUTING_KEY_COUNT_ACT_HOUR = "direct.countActHour.routeKey";
+
+    // -------------------------- 更新设备注册信息 -------------------------- //
+    public final static String QUEUE_DEVICE_REGIST = "direct.deviceRegist.queue";
+    public final static String EXCHANGE_DEVICE_REGIST = "direct.deviceRegist.exchange";
+    public final static String ROUTING_KEY_DEVICE_REGIST = "direct.deviceRegist.routeKey";
+
+    // -------------------------- 更新耳标注册信息 -------------------------- //
+    public final static String QUEUE_EARTAG_REGIST = "direct.eartagRegist.queue";
+    public final static String EXCHANGE_EARTAG_REGIST  = "direct.eartagRegist.exchange";
+    public final static String ROUTING_KEY_EARTAG_REGIST  = "direct.eartagRegist.routeKey";
+
+    // -------------------------- 更新设备在线统计 -------------------------- //
+    public final static String QUEUE_DEVICE_COUNT = "direct.deviceCount.queue";
+    public final static String EXCHANGE_DEVICE_COUNT  = "direct.deviceCount.exchange";
+    public final static String ROUTING_KEY_DEVICE_COUNT  = "direct.deviceCount.routeKey";
+
+    // -------------------------- 更新耳标在线统计 -------------------------- //
+    public final static String QUEUE_EARTAG_COUNT = "direct.eartagCount.queue";
+    public final static String EXCHANGE_EARTAG_COUNT  = "direct.eartagCount.exchange";
+    public final static String ROUTING_KEY_EARTAG_COUNT  = "direct.eartagCount.routeKey";
+
+    // -------------------------- 更新耳标连线状态 -------------------------- //
+    public final static String QUEUE_EARTAG_LIVE = "direct.eartagLiveStatus.queue";
+    public final static String EXCHANGE_EARTAG_LIVE  = "direct.eartagLiveStatus.exchange";
+    public final static String ROUTING_KEY_EARTAG_LIVE  = "direct.eartagLiveStatus.routeKey";
+
+    // -------------------------- 更新耳标设备在线关联统计 -------------------------- //
+    public final static String QUEUE_EARTAG_DEVICE_ONLINE = "direct.updateEartagDeviceOnlineCount.queue";
+    public final static String EXCHANGE_EARTAG_DEVICE_ONLINE= "direct.updateEartagDeviceOnlineCount.exchange";
+    public final static String ROUTING_KEY_EARTAG_DEVICE_ONLINE  = "direct.updateEartagDeviceOnlineCount.routeKey";
+
+
+    // -------------------------- 异常统计和异常报警 -------------------------- //
+    public final static String QUEUE_ABNORMAL = "direct.abnormalCountAndAlarm.queue";
+    public final static String EXCHANGE_ABNORMAL= "direct.abnormalCountAndAlarm.exchange";
+    public final static String ROUTING_KEY_ABNORMAL  = "direct.abnormalCountAndAlarm.routeKey";
+
+    // -------------------------- 判断该设备编号是否存在牧场缓存在线集合当中 -------------------------- //
+    public final static String QUEUE_AllSTATUS = "direct.updateEartagPropertyOfAllStatus.queue";
+    public final static String EXCHANGE_AllSTATUS= "direct.updateEartagPropertyOfAllStatus.exchange";
+    public final static String ROUTING_KEY_AllSTATUS  = "direct.updateEartagPropertyOfAllStatus.routeKey";
+
+
+
 }

+ 3 - 0
huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/config/TopicRabbitMQConfig.java

@@ -103,4 +103,7 @@ public class TopicRabbitMQConfig {
     Binding bindingDeviceTotalExchangeMessage() {
         return BindingBuilder.bind(syncDeviceTotalQueue()).to(syncDeviceTotalExchange()).with(Const.ROUTING_KEY_SYNC_DEVICE_TOTAL);
     }
+
+
+
 }

+ 2 - 4
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/listener/EartagListener.java

@@ -78,10 +78,8 @@ public class EartagListener {
         }
         String type = askMap.get("type").toString();
         JSONObject dataJo = (JSONObject) askMap.get("data");
-        System.out.println("######## eartagJo="+dataJo);
-        if (type.trim().equalsIgnoreCase("eartag")/* &&  getAskTime(dataJo.getString("askTime"))*/) {
+        if (type.trim().equalsIgnoreCase("eartag")) {
             //{处理耳标数据}
-
             eartagService.handleEartag(dataJo);
             //调用省平台的接口,将耳标数据发送到省平台
 //            eartagService.sendSowProvincePlatform(dataJo,askText);
@@ -193,7 +191,7 @@ public class EartagListener {
                 if (otherArray.length>3){
                     String resi2 = otherArray[3];
                     if (null != resi2 && !"0".equals(resi2)){
-
+                        //耳面温度
                         Double temp2 = MathUtil.ln( Integer.parseInt(resi2));
                         earTemp2 = new BigDecimal(temp2).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
                     }

+ 1 - 3
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java

@@ -103,7 +103,6 @@ public class EartagServiceImpl implements IEartagService {
 
     @Override
     public void handleEartag(JSONObject dataJo) throws ParseException {
-        System.out.println(dataJo);
         //设备编码
         String deviceCode = dataJo.getString("device");
         //耳标号
@@ -138,7 +137,7 @@ public class EartagServiceImpl implements IEartagService {
             updateEartagRegister(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId);
 
             //{更新耳标注册信息}
-            updateEartagRegister2(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId, dataJo);
+//            updateEartagRegister2(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId, dataJo);
 
 //            --农户耳标注册
 //            updateEartagRegisterForFarmer(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId, dataJo);
@@ -620,7 +619,6 @@ public class EartagServiceImpl implements IEartagService {
 //            log.error("耳标离线过程丢弃数据时长属性未配置.");
 //        }
         Map configMap = iBaseConfigService.getConfigValue("dropDataEartagOffLineTime", farmId, "0");
-        System.out.println("configMap 11111 >>>>>>>>>>>>>>>>>>>>> " + configMap);
         if (ObjectUtil.isEmpty(configMap)) {
             log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 eartagOfflineTime=" + eartagOfflineTime);
         } else {

+ 3 - 2
huimv-eartag2-eartag/src/main/resources/bootstrap.yml

@@ -1,16 +1,17 @@
 spring:
   application:
-    name: huimv-eartag2-eartag
+    name: huimv-eartag2-eartag2
   profiles:
     active: dev
   cloud:
     nacos:
       config:
         # 配置中心的地址
-#        server-addr: 47.98.40.154:8848
+        server-addr: 47.98.40.154:8848
 #        server-addr: 127.0.0.1:8848
         # 配置文件prefix
         prefix: ${spring.application.name}
+#        prefix: huimv-eartag2-eartag-dev.2yaml
         # 配置文件的格式
         file-extension: yaml
         # 配置文件的环境

+ 1 - 48
huimv-eartag2-input/src/main/java/com/huimv/eartag2/config/TopicRabbitMQConfig.java

@@ -23,31 +23,6 @@ public class TopicRabbitMQConfig {
     public Queue askDeviceQueue() {
         return new Queue(Const.QUEUE_ASK_DEVICE);
     }
-//    @Bean
-//    public Queue askEartagQueue() {
-//        return new Queue(Const.QUEUE_ASK_EARTAG);
-//    }
-
-    //原始交换机
-//    @Bean
-//    TopicExchange askDeviceExchange() {
-//        return new TopicExchange(Const.EXCHANGE_ASK_DEVICE);
-//    }
-//    @Bean
-//    TopicExchange askEartagExchange() {
-//        return new TopicExchange(Const.EXCHANGE_ASK_EARTAG);
-//    }
-
-    //绑定关系
-//    @Bean
-//    Binding bindingDeviceExchangeMessage() {
-//        return BindingBuilder.bind(askDeviceQueue()).to(askDeviceExchange()).with(Const.ROUTING_KEY_ASK_DEVICE);
-//    }
-//    @Bean
-//    Binding bindingEartagExchangeMessage() {
-//
-//        return BindingBuilder.bind(askEartagQueue()).to(askEartagExchange()).with(Const.ROUTING_KEY_ASK_EARTAG);
-//    }
 
     // 同步配置消息 原始数据队列
     @Bean
@@ -104,11 +79,7 @@ public class TopicRabbitMQConfig {
     Binding bindingDeviceTempExchangeMessage() {
         return BindingBuilder.bind(deviceTempQueue()).to(deviceExchange()).with(Const.ROUTING_KEY_DEVICE_TEMP);
     }
-    //耳标交换机、耳标队列、耳标路由键绑定
-//    @Bean
-//    Binding bindingEartagExchangeMessage() {
-//        return BindingBuilder.bind(eartagQueue()).to(eartagExchange()).with(Const.ROUTING_KEY_EARTAG);
-//    }
+
 
     // ============================= 设备绑定队列 ============================= //
     @Bean
@@ -153,24 +124,6 @@ public class TopicRabbitMQConfig {
     }
 
     // 耳标 -------------------------------------------------------------------------------------
-    //心跳
-//    @Bean
-//    public Queue heartbeatQueue() {
-//        return new Queue(Const.QUEUE_DEVICE_HEARTBEAT);
-//    }
-//    //采集器设备交换机
-//    TopicExchange deviceExchange() {
-//        return new TopicExchange(Const.EXCHANGE_DEVICE);
-//    }
-
-//    @Bean
-//    Binding bindingHeartbeatExchangeMessage() {
-//        return BindingBuilder.bind(heartbeatQueue()).to(deviceExchange()).with(Const.ROUTING_KEY_DEVICE_HEARTBEAT);
-//    }
-
-
-
-
 
 
 }

+ 0 - 25
huimv-eartag2-input/src/main/java/com/huimv/eartag2/server/EartagServerHandler2.java

@@ -152,14 +152,6 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
         map.put("askText", askText);
 
         DateUtil dateUtil = new DateUtil();
-        //--抓取特定基站数据
-//        if(idCode.trim().equalsIgnoreCase("867699060002756")){
-//            writeTxt(dateUtil.getTodayMissionText()+" "+askText,"device_867699060002756");
-//        }
-        //--抓取特定基站数据
-//        if(cmdHeader.trim().equalsIgnoreCase("zj") && idCode.trim().equalsIgnoreCase("330110004000010")){
-//            writeTxt(dateUtil.getTodayMissionText()+" "+askText,"earmark_330110004000010");
-//        }
 
         if (cmdHeader.trim().equalsIgnoreCase("hm")) {
             //采集器应答数据
@@ -225,25 +217,8 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
             }
         } else if (cmdHeader.trim().equalsIgnoreCase("zj")) {
             System.out.println("==>耳标命令请求 askText>>" + askText);
-            //测试-临时写入耳标数据到文件
-//            if(askText.trim().indexOf("330110002000002") != -1){
-//                writeTxt(dateUtil.getTodayMissionText()+" "+askText,"all");
-//            }
-//            if(cmdHeader.trim().equalsIgnoreCase("zj") && idCode.trim().equalsIgnoreCase("330110004000010")){
-//                writeTxt(dateUtil.getTodayMissionText()+" "+askText,"##earmark_330110004000010");
-//            }
 
-//            writeTxt(dateUtil.getTodayMissionText()+" "+askText,"##all_earmark");
-            //耳标应答数据(不需要应答)
-//            if (checkValidEarmark(cmd)) {
-//                log.error(">>舍弃掉未配置耳标号的耳标," + askText + "");
-//            } else {
-            //{检查设备是否在处于工作状态或待机状态}
-//                if (dataService.isWorkStatusDevice(idCode)) {
             if (dataService.isEffectiveDevice(idCode)) {
-//                if(cmdHeader.trim().equalsIgnoreCase("zj") && idCode.trim().equalsIgnoreCase("330110004000010")){
-//                    writeTxt(dateUtil.getTodayMissionText()+" "+askText,"##earmark_mq_330110004000010");
-//                }
                 //{发送到耳标处理消息队列}
                 dataService.sendEartagMQ(map,cmd);
                 log.info(">>发送耳标数据消息到MQ." + map);

+ 4 - 61
huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagEartagRegister2ServiceImpl.java

@@ -55,7 +55,6 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         String earmark = params.get("earmark");
         String liveStatus = params.get("liveStatus");
         String userId = params.get("userId");
-//        SysAccountMultilevel user = sysAccountMultilevelMapper.selectById(userId);
         if (StringUtils.isBlank(pageNo)){
             pageNo="1";
         }
@@ -65,12 +64,6 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         Float maxEarTemp = 0F;
         Float minEarTemp = 100F;
         QueryWrapper<EartagEartagRegister2> wrapper = new QueryWrapper<>();
-        //客户数据
-//        if (user.getIsUser() == 0 && !"330727001".equals(farmId)){
-//            wrapper.between("ear_temp1",30,40);
-//            wrapper.le("act",10000);
-//            wrapper.eq("live_status", 1);
-//        }
         //设备
         wrapper.like(StringUtils.isNotBlank(deviceCode),"last_device",deviceCode);
         wrapper.eq("farm_id",farmId);
@@ -78,55 +71,13 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         wrapper.like(StringUtils.isNotBlank(earmark),"earmark",earmark);
         wrapper.eq(StringUtils.isNotBlank(liveStatus),"live_status",liveStatus);
         wrapper.orderByDesc("ask_time");
-        //大堰河牧场过滤
-        if ("330112004".equals(farmId)){
-            wrapper.eq("live_status", 1).and( i->i.likeRight("earmark","1332022109003").or().likeRight("earmark","1332022109004"));
-        }
-        if ("330727001".equals(farmId)){
-            wrapper.eq("live_status", 1).like("earmark","31111112222");
-        }
+
         Page<EartagEartagRegister2> page = this.page(new Page<>(Long.parseLong(pageNo), Long.parseLong(pageSize)), wrapper);
-//        if (user.getIsUser() == 0){
-//         for (EartagEartagRegister2 record : page.getRecords()) {
-//             String earmark1 = record.getEarmark();
-////             EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).orderByDesc("id").last("limit 1"));
-////             if (ObjectUtil.isNotEmpty(eartagData2)){
-////                 record.setAct(eartagData2.getAct());
-////             }
-//            Float earTemp1 = record.getEarTemp1();
-//
-//                if (earTemp1 >40){
-//                    record.setEarTemp1(40F);
-//                }
-//                if (earTemp1 <30){
-//                    double a= new Random().nextInt(32) % (2) + 29;
-//                    DecimalFormat df = new DecimalFormat( "0.00" );
-//                    String str=df.format( a );
-//
-//                    record.setEarTemp1(Float.parseFloat(str));
-//                }
-////             EartagHourAct eartagHourAct = this.eartagHourAct.selectOne(new QueryWrapper<EartagHourAct>().eq("earmark", earmark1).orderByDesc("id").last("limit 1"));
-////                Integer act = 0;
-////                if (ObjectUtil.isNotEmpty(eartagHourAct)){
-////                    act = eartagHourAct.getAct();
-////                    if (act<0)
-////                        act = 0;
-////                }
-////             record.setAct(act.longValue());
-////                if (act >300){
-////                    record.setAct(300L);
-////                }
-////                if (act<0){
-////                    record.setAct(0L);
-////                }
-//            }
-//        }
+
         Map map = new HashMap();
         long allCount = this.count(wrapper);
         //在线
-        if (!"330112004".equals(farmId)){
-            wrapper.eq("live_status", 1);
-        }
+         wrapper.eq("live_status", 1);
         long onCount = this.count(wrapper);
         List<EartagEartagRegister2> list = this.list(wrapper);
         if (list.size() == 0){
@@ -134,15 +85,7 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         }
         for (EartagEartagRegister2 record : list) {
             Float earTemp1 = record.getEarTemp1();
-            //客户数据
-//            if (user.getIsUser() == 0){
-//                if (earTemp1 >40){
-//                    earTemp1 = 40F;
-//                }
-//                if (earTemp1 <30){
-//                    earTemp1 = 30F;
-//                }
-//            }
+
             maxEarTemp = Math.max(earTemp1,maxEarTemp);
             minEarTemp = Math.min(earTemp1,minEarTemp);
         }