Browse Source

优化部分配置

zhuoning 2 năm trước cách đây
mục cha
commit
31b014afea

+ 1 - 0
huimv-eartag2-platform/huimv-eartag2-api/src/main/java/com/huimv/eartag2/api/controller/EartagRegisterController.java

@@ -37,6 +37,7 @@ public class EartagRegisterController {
         params.put("userId",userId+"");
         return eartagRegisterService.listFarmUnitEartagData(params);
     }
+
     @PostMapping("/listUserEartagData")
     public Result listUserEartagData(@RequestBody Map<String, String> params, HttpServletRequest req){
         Integer userId = TokenSign.getMemberIdByJwtToken(req);

+ 5 - 2
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/config/JWTInterceptor.java

@@ -28,7 +28,7 @@ public class JWTInterceptor implements HandlerInterceptor {
         if (!(handler instanceof HandlerMethod)) {
             return true;
         }
-        System.out.println("------------------------------------> ");
+        System.out.println("拦截器开始处理 ------------------------------------> ");
 
         response.setContentType("application/json;charset=utf-8");
         // 获取token
@@ -40,6 +40,7 @@ public class JWTInterceptor implements HandlerInterceptor {
             map.put("code","401");
             response.setStatus(401);
             response.getWriter().write(JSONObject.toJSONString(map));
+            System.out.println("拦截器处理:401错误,token is null");
             return false;
         }else {
             Claims claims = TokenSign.getClaims(token);
@@ -49,6 +50,7 @@ public class JWTInterceptor implements HandlerInterceptor {
                 map.put("code","403");
                 response.setStatus(403);
                 response.getWriter().write(JSONObject.toJSONString(map));
+                System.out.println("拦截器处理:403错误,token is overdue");
                 return false;
             }
 
@@ -56,6 +58,7 @@ public class JWTInterceptor implements HandlerInterceptor {
             if (result){
                 //更新存储的token信息
                 TokenConstant.updateTokenMap(token);
+                System.out.println("<------------------------------------ 拦截器验证通过。");
                 return true;
             }
             Map<String,Object> map=new HashMap<>();
@@ -63,8 +66,8 @@ public class JWTInterceptor implements HandlerInterceptor {
             map.put("code","401");
             response.setStatus(401);
             response.getWriter().write(JSONObject.toJSONString(map));
+            System.out.println("拦截器处理:401错误,token is null");
             return false;
-
         }
     }
 

+ 2 - 1
huimv-eartag2-platform/huimv-eartag2-device/src/main/resources/application-prod2.yml

@@ -27,7 +27,8 @@ spring:
 #    virtual-host: /
   rabbitmq:
 #    host: 121.36.134.218
-    host: 10.0.0.14
+#    host: 10.0.0.14
+    host: 10.0.0.77
     port: 5672
     username: admin
     password: admin

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

@@ -2,6 +2,7 @@ package com.huimv.eartag2.eartag.listener;
 
 import com.alibaba.fastjson.JSONObject;
 import com.huimv.eartag2.common.mq.Const;
+import com.huimv.eartag2.common.utils.DateUtil;
 import com.huimv.eartag2.common.utils.MathUtil;
 import com.huimv.eartag2.eartag.service.IDeviceService;
 import com.huimv.eartag2.eartag.service.IEartagService;
@@ -60,9 +61,12 @@ public class EartagListener {
         //--保存耳标流水数据(耳标流水表)
 
         //测试-临时写入耳标数据到文件
-//        if(askText.trim().indexOf("330110002000002") != -1){
-//            writeTxt(askText,"eartag");
+        DateUtil dateUtil = new DateUtil();
+//        if(askText.trim().indexOf("330110004000010") != -1){
+//            writeTxt(dateUtil.getTodayMissionText()+" "+askText,"eartag");
 //        }
+        //写入所有接收到的耳标数据
+//        writeTxt(dateUtil.getTodayMissionText()+" "+askText,"all_eartag");
 
         //{处理请求报文}
         Map askMap = handleAskText(askText);
@@ -72,8 +76,8 @@ public class EartagListener {
         if (type.trim().equalsIgnoreCase("eartag")) {
             //{处理耳标数据}
             eartagService.handleEartag(dataJo);
-            //将耳标数据发送到省平台
-            eartagService.sendSowProvincePlatform(dataJo,askText);
+            //调用省平台的接口,将耳标数据发送到省平台
+//            eartagService.sendSowProvincePlatform(dataJo,askText);
         }
     }
 

+ 91 - 49
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java

@@ -19,8 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Example;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.client.RestTemplate;
 
+import javax.transaction.RollbackException;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
 import java.text.ParseException;
@@ -83,7 +85,7 @@ public class EartagServiceImpl implements IEartagService {
     private EartagAbnormalAlarmEntityRepo eartagAbnormalAlarmEntityRepo;
     @Autowired
     private EartagAbnormalCountEntityRepo eartagAbnormalCountEntityRepo;
-//    @Value("${alarm.maxTemp}")
+    //    @Value("${alarm.maxTemp}")
 //    private String defaultMaxTemp;
 //    @Value("${alarm.minTemp}")
 //    private String defaultMinTemp;
@@ -106,7 +108,7 @@ public class EartagServiceImpl implements IEartagService {
         String earmark = dataJo.getString("earmark");
         //电量
         String bat = dataJo.getString("bat");
-        //运动量
+        //相对运动量
         String act1 = dataJo.getString("act1");
         String todayDateText = new DateUtil().getTodayDateText();
         java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
@@ -174,27 +176,27 @@ public class EartagServiceImpl implements IEartagService {
         // 调用省平台接口,发送耳标数据;
         // 省平台接口:接收数据并发送到耳标队列
         // =====================================================================
-        System.out.println("处理发送到省平台的数据>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>="+dataJo);
+        System.out.println("处理发送到省平台的数据>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=" + dataJo);
         String earmark = dataJo.getString("earmark");
-        System.out.println(">>>>>>>>>>>>>>>earmark="+earmark);
+        System.out.println(">>>>>>>>>>>>>>>earmark=" + earmark);
         //根据耳标查询耳标注册表
         EartagEartagRegister2Entity eartagRegister2Entity = eartagEartagRegister2EntityRepo.getOneByEarmark(earmark);
-        if(eartagRegister2Entity != null){
+        if (eartagRegister2Entity != null) {
             String farmId = eartagRegister2Entity.getFarmId();
-            System.out.println("farmId>>"+farmId);
+            System.out.println("farmId>>" + farmId);
             BaseFarmEntity BaseFarmEntity = baseFarmRepo.getFarmByFarmId(farmId);
-            System.out.println("是否允许发送到省平台:"+BaseFarmEntity.getProvinceStatus());
+            System.out.println("是否允许发送到省平台:" + BaseFarmEntity.getProvinceStatus());
             //provinceStatus=1,表示允许将耳标数据同步到省平台
-            if(BaseFarmEntity.getProvinceStatus() == 1){
+            if (BaseFarmEntity.getProvinceStatus() == 1) {
                 //调用省平台接口同步耳标数据过去
                 System.out.println("调用省平台接口同步耳标数据过去");
                 //////////////////////////////////////////////////////////////////////////////
                 String url = "http://122.112.224.199:9501/syncEartag";
-                System.out.println("## url>>"+url);
+                System.out.println("## url>>" + url);
                 EartagVo eartagVo = new EartagVo();
                 eartagVo.setEartag(askText);
                 eartagVo.setData(dataJo.toJSONString());
-                restTemplate.postForObject(url,eartagVo,String.class);
+                restTemplate.postForObject(url, eartagVo, String.class);
             }
         }
 
@@ -294,7 +296,7 @@ public class EartagServiceImpl implements IEartagService {
             // 保存耳标高温报警
             EartagAbnormalAlarmEntity eartagAbnormalAlarmEntity = new EartagAbnormalAlarmEntity();
             eartagAbnormalAlarmEntity.setFarmCode(farmCode);
-            eartagAbnormalAlarmEntity.setContent("高温警报:["+pigpenName+"]的环境温度为" + envTemp1Bd.toString() + "°,高于高温阈值" + configMaxTempBd.toString() + "°");
+            eartagAbnormalAlarmEntity.setContent("高温警报:[" + pigpenName + "]的环境温度为" + envTemp1Bd.toString() + "°,高于高温阈值" + configMaxTempBd.toString() + "°");
             //数据:2
             eartagAbnormalAlarmEntity.setAlarmType(2);
             //采集器:1
@@ -310,7 +312,7 @@ public class EartagServiceImpl implements IEartagService {
             // 保存耳标高温报警
             EartagAbnormalAlarmEntity eartagAbnormalAlarmEntity = new EartagAbnormalAlarmEntity();
             eartagAbnormalAlarmEntity.setFarmCode(farmCode);
-            eartagAbnormalAlarmEntity.setContent("低温警报:["+pigpenName+"]的环境温度为" + envTemp1Bd.toString() + "°,低于低温阈值" + configMinTempBd.toString() + "°");
+            eartagAbnormalAlarmEntity.setContent("低温警报:[" + pigpenName + "]的环境温度为" + envTemp1Bd.toString() + "°,低于低温阈值" + configMinTempBd.toString() + "°");
             //数据:2
             eartagAbnormalAlarmEntity.setAlarmType(2);
             //采集器:1
@@ -329,13 +331,13 @@ public class EartagServiceImpl implements IEartagService {
     private String getPigpenByDevice(String device) {
         //根据设备读取栋舍
         List<Object[]> pigpenList = basePigpenRepo.getPigpenByDevice(device);
-        if(pigpenList.size()==0){
+        if (pigpenList.size() == 0) {
             return "";
-        }else{
+        } else {
             StringBuilder sb = new StringBuilder();
-            for(int a=0;a<pigpenList.size();a++){
+            for (int a = 0; a < pigpenList.size(); a++) {
                 Object[] objArray = pigpenList.get(0);
-                if(sb.length()>0){
+                if (sb.length() > 0) {
                     sb.append(",");
                 }
                 sb.append(objArray[0]).append(",").append(objArray[1]);
@@ -386,15 +388,15 @@ public class EartagServiceImpl implements IEartagService {
     //处理异常耳标温度警报和统计;
     private void handleEartempAlarmAndCount(JSONObject dataJo, java.sql.Date todayDate, Timestamp nowTimestamp, String farmCode) {
         String earmark = dataJo.getString("earmark");
-        System.out.println("farmCode================"+farmCode);
+        System.out.println("farmCode================" + farmCode);
         // {获取异常耳标阈值最大值或最小值}
 //        Map maxAndMinMap = getMaxAndMinEartemp(farmCode);
         Map maxAndMinMap = getMaxAndMin2(farmCode, "eartagMaxTem", "eartagMinTem");
-        System.out.println("maxAndMinMap>>>>>>>>>>>>>>>>>>>>>>>>>>>"+maxAndMinMap.toString());
-        if (! (maxAndMinMap.get("eartagMaxTem" ) instanceof Integer)){
+        System.out.println("maxAndMinMap>>>>>>>>>>>>>>>>>>>>>>>>>>>" + maxAndMinMap.toString());
+        if (!(maxAndMinMap.get("eartagMaxTem") instanceof Integer)) {
             return;
         }
-        if (! (maxAndMinMap.get("eartagMinTem" ) instanceof Integer)){
+        if (!(maxAndMinMap.get("eartagMinTem") instanceof Integer)) {
             return;
         }
         System.out.println(ObjectUtil.isEmpty(maxAndMinMap.get("eartagMaxTem")));
@@ -547,14 +549,14 @@ public class EartagServiceImpl implements IEartagService {
 //            configMap.put(maxKeyName, maxTemp);
 //        } else {
         // 从属性配置表取值
-        System.out.println("aa farmCode="+farmCode);
-        System.out.println("bb maxKeyName="+maxKeyName);
+        System.out.println("aa farmCode=" + farmCode);
+        System.out.println("bb maxKeyName=" + maxKeyName);
         String confMaxTem = getConfigValue(farmCode, maxKeyName);
         System.out.println("配置属性 confMaxTem=" + confMaxTem);
         if (confMaxTem == null) {
 //            confMaxTem = defaultMaxTemp;
 //            System.out.println("默认属性 defaultMaxTemp=" + defaultMaxTemp);
-            log.error("属性配置:"+maxKeyName+"未配置,请联系管理员进行配置.");
+            log.error("属性配置:" + maxKeyName + "未配置,请联系管理员进行配置.");
         }
         configMap.put(maxKeyName, confMaxTem);
 //            cacheService.putHashKeyProperty(hashKey, maxKeyName, confMaxTem);
@@ -572,7 +574,7 @@ public class EartagServiceImpl implements IEartagService {
         if (configMinTem == null) {
 //            configMinTem = defaultMinTemp;
 //            System.out.println("默认属性 defaultMinTemp=" + defaultMinTemp);
-            log.error("属性配置:"+minKeyName+"未配置,请联系管理员进行配置.");
+            log.error("属性配置:" + minKeyName + "未配置,请联系管理员进行配置.");
         }
         configMap.put(minKeyName, configMinTem);
 //            cacheService.putHashKeyProperty(hashKey, minKeyName, configMinTem);
@@ -590,15 +592,15 @@ public class EartagServiceImpl implements IEartagService {
 //        } else {
 //            return null;
 //        }
-        System.out.println(">> ================ configKey="+configKey);
-        System.out.println(">> ================ farmCode="+farmCode);
-        Map configMap = iBaseConfigService.getConfigValue(configKey,farmCode,"0");
-        System.out.println("configMap >>>>>>>>>>>>>>>>>>>>> "+configMap);
-        if(configMap == null){
-            log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 configKey="+configKey);
+        System.out.println(">> ================ configKey=" + configKey);
+        System.out.println(">> ================ farmCode=" + farmCode);
+        Map configMap = iBaseConfigService.getConfigValue(configKey, farmCode, "0");
+        System.out.println("configMap >>>>>>>>>>>>>>>>>>>>> " + configMap);
+        if (configMap == null) {
+            log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 configKey=" + configKey);
             return null;
-        }else{
-            return configMap.get("configValue")+"";
+        } else {
+            return configMap.get("configValue") + "";
         }
     }
 
@@ -615,13 +617,13 @@ public class EartagServiceImpl implements IEartagService {
 //        } else {
 //            log.error("耳标离线过程丢弃数据时长属性未配置.");
 //        }
-        Map configMap = iBaseConfigService.getConfigValue("dropDataEartagOffLineTime",farmId,"0");
-        System.out.println("configMap 11111 >>>>>>>>>>>>>>>>>>>>> "+configMap);
-        if(configMap == null){
-            log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 eartagOfflineTime="+eartagOfflineTime);
-        }else{
-            eartagOfflineTime = Integer.parseInt(configMap.get("configValue")+"");
-            System.out.println("eartagOfflineTime >>>>>>>>>>>> "+eartagOfflineTime);
+        Map configMap = iBaseConfigService.getConfigValue("dropDataEartagOffLineTime", farmId, "0");
+        System.out.println("configMap 11111 >>>>>>>>>>>>>>>>>>>>> " + configMap);
+        if (configMap == null) {
+            log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 eartagOfflineTime=" + eartagOfflineTime);
+        } else {
+            eartagOfflineTime = Integer.parseInt(configMap.get("configValue") + "");
+            System.out.println("eartagOfflineTime >>>>>>>>>>>> " + eartagOfflineTime);
         }
         String earmark = eartagJo.getString("earmark");
         Long act = Long.parseLong(eartagJo.getString("act"));
@@ -651,6 +653,8 @@ public class EartagServiceImpl implements IEartagService {
                 System.out.println("本次运动量增量=" + act1);
                 //{保存耳标小时运动量}
                 saveEartagHourAct(farmId, earmark, act1, nowHour, todayDate);
+                //更新耳标注册表中的当前运动量
+//                updateActToEartagRegister(earmark, act);
                 //{保存耳标复位记录}
                 saveEartagReset(resetStatus, farmId, earmark, nowTimestamp, todayDate, lastId, lastAct, act);
             }
@@ -674,7 +678,6 @@ public class EartagServiceImpl implements IEartagService {
             eartagResetEntity.setLastAct(lastAct);
             eartagResetEntity.setAct(act);
             eartagResetEntityRepo.save(eartagResetEntity);
-
             // 复位统计次数
             EartagResetCountEntity eartagResetCountEntity = new EartagResetCountEntity();
             eartagResetCountEntity.setEarmark(earmark);
@@ -682,6 +685,7 @@ public class EartagServiceImpl implements IEartagService {
             eartagResetCountEntity.setAddDate(todayDate);
             Example<EartagResetCountEntity> example = Example.of(eartagResetCountEntity);
             Optional<EartagResetCountEntity> optionEartagResetCountEntity = eartagResetCountEntityRepo.findOne(example);
+            int resetTimes = 1;
             if (!optionEartagResetCountEntity.isPresent()) {
                 eartagResetCountEntity.setTimes(1);
                 eartagResetCountEntityRepo.save(eartagResetCountEntity);
@@ -689,13 +693,32 @@ public class EartagServiceImpl implements IEartagService {
                 EartagResetCountEntity existEartagResetCountEntity = optionEartagResetCountEntity.get();
                 existEartagResetCountEntity.setTimes(existEartagResetCountEntity.getTimes() + 1);
                 eartagResetCountEntityRepo.save(existEartagResetCountEntity);
+                //更新重启次数
+//                resetTimes = existEartagResetCountEntity.getTimes() + 1;
+                resetTimes = existEartagResetCountEntity.getTimes();
             }
+            //更新耳标注册表中的重启次数
+            updateResetTimesToEartagRegister(earmark, resetTimes);
+        }
+    }
+
+    //更新耳标注册表中的重启次数
+    private void updateResetTimesToEartagRegister(String earmark, int resetTimes) {
+        EartagEartagRegister2Entity eartagEartagRegister2Entity = new EartagEartagRegister2Entity();
+        eartagEartagRegister2Entity.setEarmark(earmark);
+        Example<EartagEartagRegister2Entity> example = Example.of(eartagEartagRegister2Entity);
+        Optional<EartagEartagRegister2Entity> optional = eartagEartagRegister2EntityRepo.findOne(example);
+        if (optional.isPresent()) {
+            EartagEartagRegister2Entity eartagEartagRegister2Entity2 = optional.get();
+            eartagEartagRegister2Entity2.setRebootTimes(resetTimes);
+            eartagEartagRegister2EntityRepo.saveAndFlush(eartagEartagRegister2Entity2);
         }
     }
 
     // {保存耳标小时运动量}
     private void saveEartagHourAct(String farmId, String earmark, long act1, int nowHour, java.sql.Date todayDate) {
         Optional<EartagHourActEntity> optionalHourAct = eartagHourActEntityRepo.findByFarmIdAndEarmarkAndHourAndDate(farmId, earmark, nowHour, todayDate);
+//        long act = 0;
         if (!optionalHourAct.isPresent()) {
             EartagHourActEntity newEartagHourActEntity = new EartagHourActEntity();
             newEartagHourActEntity.setFarmCode(farmId);
@@ -704,10 +727,27 @@ public class EartagServiceImpl implements IEartagService {
             newEartagHourActEntity.setHour(nowHour);
             newEartagHourActEntity.setAct(act1);
             eartagHourActEntityRepo.save(newEartagHourActEntity);
+//            act = act1;
         } else {
             EartagHourActEntity eartagHourActEntity = optionalHourAct.get();
             eartagHourActEntity.setAct(eartagHourActEntity.getAct() + act1);
             eartagHourActEntityRepo.save(eartagHourActEntity);
+//            act = eartagHourActEntity.getAct() + act1;
+        }
+        //更新耳标注册表中的当前运动量
+//        updateActToEartagRegister(earmark, act);
+    }
+
+    //更新耳标注册表中的当前运动量
+    private void updateActToEartagRegister(String earmark, long act) {
+        EartagEartagRegister2Entity eartagEartagRegister2Entity = new EartagEartagRegister2Entity();
+        eartagEartagRegister2Entity.setEarmark(earmark);
+        Example<EartagEartagRegister2Entity> example = Example.of(eartagEartagRegister2Entity);
+        Optional<EartagEartagRegister2Entity> optional = eartagEartagRegister2EntityRepo.findOne(example);
+        if (optional.isPresent()) {
+            EartagEartagRegister2Entity eartagEartagRegister2Entity2 = optional.get();
+            eartagEartagRegister2Entity2.setActRange(new Long(act).intValue());
+            eartagEartagRegister2EntityRepo.saveAndFlush(eartagEartagRegister2Entity2);
         }
     }
 
@@ -793,12 +833,12 @@ public class EartagServiceImpl implements IEartagService {
 //            } else {
 //                log.error("耳标数据过滤时间差属性未配置.");
 //            }
-            Map configMap = iBaseConfigService.getConfigValue("timeDifference",farmId,"0");
-            if(configMap == null){
-                log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 setTimeDiff="+setTimeDiff);
-            }else{
-                setTimeDiff = Integer.parseInt(configMap.get("configValue")+"");
-                System.out.println("eartagOfflineTime >>>>>>>>>>>> "+setTimeDiff);
+            Map configMap = iBaseConfigService.getConfigValue("timeDifference", farmId, "0");
+            if (configMap == null) {
+                log.error("耳标离线过程丢弃数据时长属性未配置.采用默认配置参数 setTimeDiff=" + setTimeDiff);
+            } else {
+                setTimeDiff = Integer.parseInt(configMap.get("configValue") + "");
+                System.out.println("eartagOfflineTime >>>>>>>>>>>> " + setTimeDiff);
             }
             countMap.put("fisrtStatus", false);
             if (timeDifference / 1000 < setTimeDiff) {
@@ -1126,7 +1166,7 @@ public class EartagServiceImpl implements IEartagService {
         if (eartagOnlineEntity == null) {
             int total = 1;
             //{新建耳标在线记录}
-            newEartagOnline(earmark, total, nowTimestamp, earTemp, envTemp, todayDate, farmId,act,bat);
+            newEartagOnline(earmark, total, nowTimestamp, earTemp, envTemp, todayDate, farmId, act, bat);
         } else {
             int total = eartagOnlineEntity.getTotal();
             eartagOnlineEntity.setTotal(++total);
@@ -1314,7 +1354,6 @@ public class EartagServiceImpl implements IEartagService {
             //{新建耳标注册信息}
             newEartagRegister2(earmark, nowTimestamp, deviceCode, registerType, activeStatus, liveStatus, bat, todayDate, farmId, eartagJo, stageCode, stageName, pigpenId, pigpenName, unitId, unitName, deviceRegisterEntity);
         } else {
-
             eartagRegisterEntity.setLastTime(nowTimestamp);
             eartagRegisterEntity.setLastDevice(deviceCode);
             eartagRegisterEntity.setActiveStatus(activeStatus);
@@ -1328,12 +1367,15 @@ public class EartagServiceImpl implements IEartagService {
             eartagRegisterEntity.setStageName(stageName);
             eartagRegisterEntity.setEarTemp1(eartagJo.getFloat("earTemp1"));
 //            eartagRegisterEntity.setEnvTemp1(eartagJo.getFloat("envTemp1"));
+            //相对运动量
             eartagRegisterEntity.setAct(Long.parseLong(eartagJo.getString("act1")));
             eartagRegisterEntity.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
             eartagRegisterEntity.setAskTime(getAskTime(eartagJo.getString("askTime")));
             eartagRegisterEntity.setOther(eartagJo.getString("other"));
             eartagRegisterEntity.setFarmId(farmId);
             eartagRegisterEntity.setLiveStatus(1);
+            //绝对运动量
+            eartagRegisterEntity.setActRange(new Long(Long.parseLong(eartagJo.getString("act"))).intValue());
             System.out.println("开始更新--> " + eartagRegisterEntity);
             eartagEartagRegister2EntityRepo.saveAndFlush(eartagRegisterEntity);
             //更新耳标注册消息缓存
@@ -1543,7 +1585,7 @@ public class EartagServiceImpl implements IEartagService {
                 long lastAct = Long.parseLong(countMap.get("act").toString());
                 if (act > lastAct) {
                     act1 = act - lastAct;
-                }else{
+                } else {
                     act1 = act;
                 }
             }

+ 9 - 8
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/resources/application-prod2.yml

@@ -5,7 +5,8 @@ spring:
     name: huimv-eartag2-eartag
 
   datasource:
-    url: jdbc:mysql://10.0.0.77:3309/huimv-demo-eartag20?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    #url: jdbc:mysql://10.0.0.77:3309/huimv-demo-eartag20?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://139.9.172.209:3309/huimv-demo-eartag20?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
     username: eartag
     password: eartag@2022
     driver-class-name: com.mysql.cj.jdbc.Driver
@@ -19,25 +20,25 @@ spring:
 
   rabbitmq:
 #    host: 121.36.134.218
-    host: 10.0.0.14
+#    host: 10.0.0.14
+#    host: 10.0.0.77
+    host: 139.9.172.209
     port: 5672
     username: admin
     password: admin
     #虚拟host 可以不设置,使用server默认host
     virtual-host: /
-#    publisher-confirm-type: correlated
-#    publisher-returns: true
     listener:
       simple:
-        acknowledge-mode: none  #消费端不需要确认
+#        prefetch: 1   #每次只能处理一条消息,处理完成才能获取下一条消息
+        acknowledge-mode: none  #消费端自动确认
 #        acknowledge-mode: auto
 
-
   #redis
   redis:
     database: 0
-#    host: 121.36.134.218
-    host: 10.0.0.14
+    host: 121.36.134.218
+#    host: 10.0.0.14
     port: 6379
     password: hm123456
     timeout: 5000ms

+ 15 - 9
huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/server/EartagServerHandler2.java

@@ -144,12 +144,13 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
 
         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(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")) {
             //采集器应答数据
@@ -219,9 +220,11 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
 //            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");
-            }
+//            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 + "");
@@ -229,6 +232,9 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
             //{检查设备是否在处于工作状态或待机状态}
 //                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);
                 log.info(">>发送耳标数据消息到MQ." + map);

+ 2 - 2
huimv-eartag2-platform/huimv-eartag2-input/src/main/resources/application-dev.yml

@@ -27,13 +27,13 @@ spring:
 #    #虚拟host 可以不设置,使用server默认host
 #    virtual-host: /
   rabbitmq:
-    host: 192.168.1.170
+#    host: 192.168.1.170
+    host: 121.36.134.218
     port: 5672
     username: admin
     password: admin
     #虚拟host 可以不设置,使用server默认host
     virtual-host: /
-
     #确认消息已发送到交换机(Exchange)
 #    publisher-confirms: true #(过时、弃用)
     publisher-confirm-type: correlated

+ 2 - 1
huimv-eartag2-platform/huimv-eartag2-input/src/main/resources/application-prod2.yml

@@ -20,7 +20,8 @@ spring:
 
   rabbitmq:
     #    host: 121.36.134.218
-    host: 10.0.0.14
+#    host: 10.0.0.14
+    host: 10.0.0.77
     port: 5672
     username: admin
     password: admin

+ 2 - 2
huimv-eartag2-platform/huimv-eartag2-input/src/main/resources/application.properties

@@ -1,5 +1,5 @@
-spring.profiles.active=prod2
-#spring.profiles.active=test2
+#spring.profiles.active=prod2
+spring.profiles.active=dev
 
 #¿ªÆô½¡¿µ¼à¿Ø
 management.endpoints.web.exposure.include=*

+ 1 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagRegisterController.java

@@ -41,6 +41,7 @@ public class EartagRegisterController {
     public Result listUserEartagData(@RequestBody Map<String, String> params, HttpServletRequest req){
         Integer userId = TokenSign.getMemberIdByJwtToken(req);
         params.put("userId",userId+"");
+        System.out.println("listUserEartagData>>");
         return eartagRegisterService.listUserEartagData(params);
     }
 

+ 21 - 13
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagEartagRegister2ServiceImpl.java

@@ -340,6 +340,7 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
 
     @Override
     public Result listUserEartagData(Map<String, String> params) {
+        System.out.println("listUserEartagData..11");
         String userId = params.get("userId");
         String earmark = params.get("earmark");
         String status = params.get("status");
@@ -359,19 +360,26 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         wrapper.like(StringUtils.isNotBlank(earmark),"earmark",earmark);
         wrapper.orderByDesc("ask_time");
         Page<EartagEartagRegister2> page = this.page(new Page<>(Long.parseLong(pageNo), Long.parseLong(pageSize)), wrapper);
-        for (EartagEartagRegister2 record : page.getRecords()) {
-            record.setRebootTimes(0);
-            record.setActRange(0L);
-            String earmark1 = record.getEarmark();
-            EartagResetCount earmark2 = eartagResetCountMapper.selectOne(new QueryWrapper<EartagResetCount>().eq("earmark", earmark1).eq("add_date", DateUtil.beginOfDay(new Date())).orderByDesc("id").last("limit 1"));
-            if (ObjectUtil.isNotEmpty(earmark2)){
-                record.setRebootTimes(earmark2.getTimes());
-            }
-            EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark", earmark1).orderByDesc("id").last("limit 1"));
-            if (ObjectUtil.isNotEmpty(eartagData2)){
-                record.setActRange(eartagData2.getAct());
-            }
-        }
+        System.out.println("listUserEartagData page.getRecords().size()="+page.getRecords().size());
+//        int i=0;
+//        for (EartagEartagRegister2 record : page.getRecords()) {
+//            System.out.println("------------> i="+(++i));
+//            record.setRebootTimes(0);
+//            record.setActRange(0L);
+//            String earmark1 = record.getEarmark();
+//            System.out.println("# earmark1>>"+earmark1);
+//            EartagResetCount earmark2 = eartagResetCountMapper.selectOne(new QueryWrapper<EartagResetCount>().eq("earmark", earmark1).eq("add_date", DateUtil.beginOfDay(new Date())).orderByDesc("id").last("limit 1"));
+//            if (ObjectUtil.isNotEmpty(earmark2)){
+//                record.setRebootTimes(earmark2.getTimes());
+//            }
+//            EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark", earmark1).orderByDesc("id").last("limit 1"));
+//            System.out.println("# eartagData2>>"+eartagData2);
+//            if (ObjectUtil.isNotEmpty(eartagData2)){
+//                System.out.println("# eartagData2.getAct()>>"+eartagData2.getAct());
+//                record.setActRange(eartagData2.getAct());
+//            }
+//        }
+//        System.out.println("返回数据到前端。");
         return new Result(ResultCode.SUCCESS,page);
     }