Browse Source

【feat】 添加对外服务 api

523096025 1 year ago
parent
commit
83aa7aecdf

+ 2 - 2
huimv-eartag2-platform/huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/controller/YourApplication.java

@@ -18,8 +18,8 @@ public class YourApplication {
     private   void getMac() throws Exception {
         String macAddress = MacAddressExample.getMACAddress();
         String diskAddress = MacAddressExample.getDiskId();
-        System.out.println("macAddress= "+macAddress);
-        System.out.println("diskAddress= "+diskAddress);
+//        System.out.println("macAddress= "+macAddress);
+//        System.out.println("diskAddress= "+diskAddress);
         if (macAddress != null) {
             SecretKey secretKey = generateAESKey(); // 生成AES密钥
             String encryptedMAC = EncryptionExample.encrypt(macAddress, secretKey);

+ 31 - 17
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java

@@ -1359,6 +1359,15 @@ public class EartagServiceImpl implements IEartagService {
         Integer activeStatus = 1;
         Integer liveStatus = 1;        //
         EartagEartagRegister2Entity eartagRegisterEntity = eartagEartagRegister2EntityRepo.getOneByEarmark2(earmark);
+
+        //true:设定过滤时间内无耳标数据上传入库;false:有数据入库;
+        long lastAct =0;
+        Optional<EartagData2Entity> optionEartagData = eartagData2Repo.getLastByEarmark(earmark, farmId);
+        if (optionEartagData.isPresent()) {
+            lastAct = optionEartagData.get().getAct1();
+        }
+
+
         System.out.println("earmark--> " + earmark);
         if (eartagRegisterEntity == null) {
             //{新建耳标注册信息}
@@ -1378,7 +1387,7 @@ public class EartagServiceImpl implements IEartagService {
             eartagRegisterEntity.setEarTemp1(eartagJo.getFloat("earTemp1"));
 //            eartagRegisterEntity.setEnvTemp1(eartagJo.getFloat("envTemp1"));
             //相对运动量
-            eartagRegisterEntity.setAct( Long.parseLong(eartagJo.getString("act1")));
+            eartagRegisterEntity.setAct(lastAct);
             eartagRegisterEntity.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
             eartagRegisterEntity.setAskTime(getAskTime(eartagJo.getString("askTime")));
             eartagRegisterEntity.setOther(eartagJo.getString("other"));
@@ -1516,6 +1525,9 @@ public class EartagServiceImpl implements IEartagService {
 //        Object testActObj = cacheService.getEartagLastAct(earmark);
 //        System.out.println("## TEST testActObj>>"+testActObj);
         if (lastActObj != null) {
+            if(Integer.parseInt(nowAct) - Integer.parseInt(lastActObj.toString()) <0){
+                return Integer.parseInt(nowAct) ;
+            }
             return Integer.parseInt(nowAct) - Integer.parseInt(lastActObj.toString());
         } else {
             //{初始化最新的redis记录}
@@ -1586,19 +1598,21 @@ public class EartagServiceImpl implements IEartagService {
         Boolean countTimes = Boolean.parseBoolean(countMap.get("countTimes").toString());
         //true:设定过滤时间内无耳标数据上传入库;false:有数据入库;
         if (countTimes) {
-            long act = 0;
-            long act1 = 0;
-            if (Boolean.parseBoolean(countMap.get("fisrtStatus").toString())) {
-                act = Integer.parseInt(eartagJo.getString("act"));
-            } else {
-                act = Integer.parseInt(eartagJo.getString("act"));
-                long lastAct = Long.parseLong(countMap.get("act").toString());
-                if (act >= lastAct) {
-                    act1 = act - lastAct;
-                } else {
-                    act1 = act;
-                }
-            }
+//            long act = 0;
+//            long act1 = 0;
+//            if (Boolean.parseBoolean(countMap.get("fisrtStatus").toString())) {
+//                act = Integer.parseInt(eartagJo.getString("act"));
+//            } else {
+//                act = Integer.parseInt(eartagJo.getString("act"));
+//                long lastAct = Long.parseLong(countMap.get("act").toString());
+//                if (act >= lastAct) {
+//                    act1 = act - lastAct;
+//                } else {
+//                    act1 = act;
+//                }
+//            }
+            String act1 = eartagJo.get("act1").toString();
+            String act = eartagJo.get("act").toString();
             DateUtil dateUtil = new DateUtil();
             EartagData2Entity dataEntity = new EartagData2Entity();
             dataEntity.setCmdHeader(eartagJo.getString("cmdHeader"));
@@ -1609,8 +1623,8 @@ public class EartagServiceImpl implements IEartagService {
             dataEntity.setEarTemp1(eartagJo.getFloat("earTemp1"));
             dataEntity.setEnvTemp(Integer.parseInt(eartagJo.getString("envTemp")));
             dataEntity.setEnvTemp1(eartagJo.getFloat("envTemp1"));
-            dataEntity.setAct(act);
-            dataEntity.setAct1(act1);
+            dataEntity.setAct(Long.parseLong(act));
+            dataEntity.setAct1(Long.parseLong(act1));
             dataEntity.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
             dataEntity.setAskTime(getAskTime(eartagJo.getString("askTime")));
             dataEntity.setOther(eartagJo.getString("other"));
@@ -1621,7 +1635,7 @@ public class EartagServiceImpl implements IEartagService {
             //更新耳标注册表中的运动量数据
             EartagEartagRegister2Entity eartagRegister2Entity = eartagEartagRegister2EntityRepo.getOneByEarmark(earmark, farmId);
             if (eartagRegister2Entity != null) {
-                eartagRegister2Entity.setAct(act1);
+                eartagRegister2Entity.setAct(Long.parseLong(act1));
                 eartagEartagRegister2EntityRepo.saveAndFlush(eartagRegister2Entity);
             }
             //{异常统计和异常报警}

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

@@ -1,6 +1,6 @@
 server:
-  port: 8094
-#  port: 8103
+#  port: 8094
+  port: 8103
 spring:
   application:
     name: huimv-eartag2-eartag
@@ -20,8 +20,8 @@ spring:
     open-in-view: true
 
   rabbitmq:
-#    host: 121.36.134.218
-    host: 139.9.172.209
+    host: 121.36.134.218
+#    host: 139.9.172.209
 #    host: 10.0.0.14
     port: 5672
     username: admin

+ 1 - 0
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/resources/application.properties

@@ -1,6 +1,7 @@
 #spring.profiles.active=test
 #spring.profiles.active=local
 #spring.profiles.active=dev
+#spring.profiles.active=prod2
 spring.profiles.active=prod3
 #spring.profiles.active=test2
 

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

@@ -19,9 +19,10 @@ spring:
     open-in-view: true
 
   rabbitmq:
-    #    host: 121.36.134.218
+    host: 121.36.134.218
 #    host: 10.0.0.14
-    host: 10.0.0.77
+#    host: 139.9.172.209
+#    host: 10.0.0.77
     port: 5672
     username: admin
     password: admin

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

@@ -1,4 +1,5 @@
-spring.profiles.active=prod3
+#spring.profiles.active=prod3
+spring.profiles.active=prod2
 #spring.profiles.active=dev
 
 #¿ªÆô½¡¿µ¼à¿Ø

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

@@ -105,14 +105,14 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
 
                     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());
+//             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);
 //                }

+ 83 - 76
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.eartag2.manage2.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -68,93 +69,98 @@ public class EartagServiceImpl implements IEartagService {
             JSONArray offlineJa = new JSONArray();
             List countList = new ArrayList();
             String rowId = baseConfig.getRowId();
-            String farmCode = SysBaseConfigMapper.selectOne(new QueryWrapper<SysBaseConfig>().eq("config_key", "farmCode").eq("row_id", rowId)).getConfigValue();
-            for (BasePigpen basePigpen : basePigpenList) {
+            List<SysBaseConfig> sysBaseConfigs = SysBaseConfigMapper.selectList(new QueryWrapper<SysBaseConfig>().eq("config_key", "farmCode").eq("row_id", rowId));
+
+            if (ObjectUtil.isNotEmpty(sysBaseConfigs)){
+                String farmCode = sysBaseConfigs.get(0).getConfigValue();
+                for (BasePigpen basePigpen : basePigpenList) {
 //            System.out.println("basePigpen="+basePigpen);
 //                String farmCode = basePigpen.getFarmCode();
 
-                Integer unitId = basePigpen.getId();
-                String unitName = basePigpen.getPigpenName();
-                String pigpenName = basePigpen.getPigpenName();
-                Map countMap = new HashMap<String, Object>();
-                countList.add(countMap);
-                int onlineTimes = 0;
-                int offlineTimes = 0;
-                StringBuilder onlineSb = new StringBuilder();
-                StringBuilder offlineSb = new StringBuilder();
-                // 用330110002测试
+                    Integer unitId = basePigpen.getId();
+                    String unitName = basePigpen.getPigpenName();
+                    String pigpenName = basePigpen.getPigpenName();
+                    Map countMap = new HashMap<String, Object>();
+                    countList.add(countMap);
+                    int onlineTimes = 0;
+                    int offlineTimes = 0;
+                    StringBuilder onlineSb = new StringBuilder();
+                    StringBuilder offlineSb = new StringBuilder();
+                    // 用330110002测试
 //            if(farmId.trim().equalsIgnoreCase("330110002")){
-                // {读取相关耳标注册记录}
-                List<EartagEartagRegister2> eartagEartagRegister2List = getEartagRegister(farmCode, unitId);
-                if (eartagEartagRegister2List.size() == 0) {
-                    System.out.println("该单元没有耳标。");
-                }
-                System.out.println("该单元没有耳标 eartagEartagRegister2List.size=" + eartagEartagRegister2List.size());
-                for (EartagEartagRegister2 eartagEartagRegister2 : eartagEartagRegister2List) {
-                    Date lastTime = eartagEartagRegister2.getLastTime();
-                    long offlineTimeDiff = nowTimestamp.getTime() - lastTime.getTime();
-                    long theMinutes = offlineTimeDiff / (1000 * 60);
-                    System.out.println("两个时间离线的时间差为:" + theMinutes);
-                    System.out.println("配置好的离线时间" + offlineTimeDef);
-                    if (offlineTimeDiff / (1000 * 60) >= offlineTimeDef) {
+                    // {读取相关耳标注册记录}
+                    List<EartagEartagRegister2> eartagEartagRegister2List = getEartagRegister(farmCode, unitId);
+                    if (eartagEartagRegister2List.size() == 0) {
+                        System.out.println("该单元没有耳标。");
+                    }
+                    System.out.println("该单元没有耳标 eartagEartagRegister2List.size=" + eartagEartagRegister2List.size());
+                    for (EartagEartagRegister2 eartagEartagRegister2 : eartagEartagRegister2List) {
+                        Date lastTime = eartagEartagRegister2.getLastTime();
+                        long offlineTimeDiff = nowTimestamp.getTime() - lastTime.getTime();
+                        long theMinutes = offlineTimeDiff / (1000 * 60);
+                        System.out.println("两个时间离线的时间差为:" + theMinutes);
+                        System.out.println("配置好的离线时间" + offlineTimeDef);
+                        if (offlineTimeDiff / (1000 * 60) >= offlineTimeDef) {
 
-                        System.out.println("-----开始了离线耳标的循环记录------");
-                        if (eartagEartagRegister2.getLiveStatus() == 1) {
-                            eartagEartagRegister2.setLiveStatus(0);
-                            offlineTimes++;
-                            if (offlineSb.length() > 0) {
-                                offlineSb.append(",");
-                            }
-                            offlineSb.append(eartagEartagRegister2.getEarmark());
+                            System.out.println("-----开始了离线耳标的循环记录------");
+                            if (eartagEartagRegister2.getLiveStatus() == 1) {
+                                eartagEartagRegister2.setLiveStatus(0);
+                                offlineTimes++;
+                                if (offlineSb.length() > 0) {
+                                    offlineSb.append(",");
+                                }
+                                offlineSb.append(eartagEartagRegister2.getEarmark());
 
-                        }
+                            }
 
-                    } else {
-                        eartagEartagRegister2.setLiveStatus(1);
-                        onlineTimes++;
-                        if (onlineSb.length() > 0) {
-                            onlineSb.append(",");
+                        } else {
+                            eartagEartagRegister2.setLiveStatus(1);
+                            onlineTimes++;
+                            if (onlineSb.length() > 0) {
+                                onlineSb.append(",");
+                            }
+                            onlineSb.append(eartagEartagRegister2.getEarmark());
                         }
-                        onlineSb.append(eartagEartagRegister2.getEarmark());
+                        eartagEartagRegister2Mapper.updateById(eartagEartagRegister2);
                     }
-                    eartagEartagRegister2Mapper.updateById(eartagEartagRegister2);
-                }
 //            }
-                countMap.put("farmCode", farmCode);
-                countMap.put("unitId", unitId);
-                countMap.put("unitName", unitName);
-                countMap.put("total", onlineTimes + offlineTimes);
-                countMap.put("online", onlineTimes);
-                countMap.put("offline", offlineTimes);
-                countMap.put("onlineEarmark", onlineSb.toString());
-                countMap.put("offlineEarmark", offlineSb.toString());
+                    countMap.put("farmCode", farmCode);
+                    countMap.put("unitId", unitId);
+                    countMap.put("unitName", unitName);
+                    countMap.put("total", onlineTimes + offlineTimes);
+                    countMap.put("online", onlineTimes);
+                    countMap.put("offline", offlineTimes);
+                    countMap.put("onlineEarmark", onlineSb.toString());
+                    countMap.put("offlineEarmark", offlineSb.toString());
 
-                //耳标离线报警
-                if (offlineSb.length() > 0) {
-                    JSONObject offlineJo = new JSONObject();
-                    offlineJo.put("pigpen", pigpenName + unitName);
-                    offlineJo.put("earmark", offlineSb.toString());
-                    offlineJo.put("farmCode", farmCode);
-                    offlineJa.add(offlineJo);
+                    //耳标离线报警
+                    if (offlineSb.length() > 0) {
+                        JSONObject offlineJo = new JSONObject();
+                        offlineJo.put("pigpen", pigpenName + unitName);
+                        offlineJo.put("earmark", offlineSb.toString());
+                        offlineJo.put("farmCode", farmCode);
+                        offlineJa.add(offlineJo);
+                    }
+                }
+                for (int a = 0; a < countList.size(); a++) {
+                    Map countMap = (Map) countList.get(a);
+                    EartagOnlineStatus eartagOnlineStatus = new EartagOnlineStatus();
+                    eartagOnlineStatus.setFarmId(countMap.get("farmCode").toString());
+                    eartagOnlineStatus.setUnitId(countMap.get("unitId").toString());
+                    eartagOnlineStatus.setUnitName(countMap.get("unitName").toString());
+                    eartagOnlineStatus.setTotal(Integer.parseInt(countMap.get("total").toString()));
+                    eartagOnlineStatus.setOnline(Integer.parseInt(countMap.get("online").toString()));
+                    eartagOnlineStatus.setOffline(Integer.parseInt(countMap.get("offline").toString()));
+                    eartagOnlineStatus.setOnlineEarmark(countMap.get("onlineEarmark").toString());
+                    eartagOnlineStatus.setOfflineEarmark(countMap.get("offlineEarmark").toString());
+                    eartagOnlineStatus.setAddTime(nowTimestamp);
+                    eartagOnlineStatusMapper.insert(eartagOnlineStatus);
                 }
+                //添加异常报警信息
+                saveEartagOfflineAlarm(offlineJa);
             }
-            for (int a = 0; a < countList.size(); a++) {
-                Map countMap = (Map) countList.get(a);
-                EartagOnlineStatus eartagOnlineStatus = new EartagOnlineStatus();
-                eartagOnlineStatus.setFarmId(countMap.get("farmCode").toString());
-                eartagOnlineStatus.setUnitId(countMap.get("unitId").toString());
-                eartagOnlineStatus.setUnitName(countMap.get("unitName").toString());
-                eartagOnlineStatus.setTotal(Integer.parseInt(countMap.get("total").toString()));
-                eartagOnlineStatus.setOnline(Integer.parseInt(countMap.get("online").toString()));
-                eartagOnlineStatus.setOffline(Integer.parseInt(countMap.get("offline").toString()));
-                eartagOnlineStatus.setOnlineEarmark(countMap.get("onlineEarmark").toString());
-                eartagOnlineStatus.setOfflineEarmark(countMap.get("offlineEarmark").toString());
-                eartagOnlineStatus.setAddTime(nowTimestamp);
-                eartagOnlineStatusMapper.insert(eartagOnlineStatus);
             }
-            //添加异常报警信息
-            saveEartagOfflineAlarm(offlineJa);
-        }
+
 
     }
     /*@Override
@@ -304,13 +310,14 @@ public class EartagServiceImpl implements IEartagService {
         eartagAbnormalCountEntity.setFarmCode(farmCode);
         eartagAbnormalCountEntity.setAddDate(todayDate);
         Example<EartagAbnormalCountEntity> example = Example.of(eartagAbnormalCountEntity);
-        Optional<EartagAbnormalCountEntity> optional = eartagAbnormalCountEntityRepo.findOne(example);
-        if (!optional.isPresent()) {
+//        Optional<EartagAbnormalCountEntity> optional = eartagAbnormalCountEntityRepo.findOne(example);
+        List<EartagAbnormalCountEntity> all = eartagAbnormalCountEntityRepo.findAll(example);
+        if (ObjectUtil.isEmpty(all)) {
             eartagAbnormalCountEntity.setEartagStatusCount(offlineTimes);
             eartagAbnormalCountEntity.setEartagStatusUpateTime(nowTimestamp);
             eartagAbnormalCountEntityRepo.saveAndFlush(eartagAbnormalCountEntity);
         } else {
-            EartagAbnormalCountEntity queryEartagAbnormalCountEntity = optional.get();
+            EartagAbnormalCountEntity queryEartagAbnormalCountEntity = all.get(0);
             queryEartagAbnormalCountEntity.setEartagStatusCount(offlineTimes);
             queryEartagAbnormalCountEntity.setEartagStatusUpateTime(nowTimestamp);
             eartagAbnormalCountEntityRepo.saveAndFlush(queryEartagAbnormalCountEntity);