Browse Source

【feat】 添加对外服务 api

523096025 1 year ago
parent
commit
15887c9db1
21 changed files with 271 additions and 72 deletions
  1. 30 1
      huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/listener/EartagListener.java
  2. 1 0
      huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/CacheServiceImpl.java
  3. 2 2
      huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java
  4. 2 2
      huimv-eartag2-platform/huimv-eartag2-eartag/src/main/resources/application.properties
  5. 8 0
      huimv-eartag2-platform/huimv-eartag2-eartag/src/test/java/com/huimv/eartag2/eartag/service/ServiceTest.java
  6. 1 0
      huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/config/TopicRabbitMQConfig.java
  7. 1 0
      huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/producer/Producer.java
  8. 2 2
      huimv-eartag2-platform/huimv-eartag2-input/src/main/resources/application.properties
  9. 37 37
      huimv-eartag2-platform/huimv-eartag2-manage2/pom.xml
  10. 1 1
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/HuimvManageApplication.java
  11. 6 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/BaseFarmController.java
  12. 4 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagData2Controller.java
  13. 1 1
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/pojo/EartagDeviceRegister.java
  14. 2 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/IEartagData2Service.java
  15. 4 4
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/BaseFarmServiceImpl.java
  16. 65 1
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagData2ServiceImpl.java
  17. 16 16
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagDeviceRegisterServiceImpl.java
  18. 1 1
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagHourActServiceImpl.java
  19. 82 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/utils/Filter.java
  20. 1 1
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/vo/EartagDeviceRegisterVo.java
  21. 4 3
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/resources/application.properties

+ 30 - 1
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/listener/EartagListener.java

@@ -76,12 +76,41 @@ 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")) {
+        if (type.trim().equalsIgnoreCase("eartag") &&  getAskTime(dataJo.getString("askTime"))) {
             //{处理耳标数据}
+
             eartagService.handleEartag(dataJo);
             //调用省平台的接口,将耳标数据发送到省平台
 //            eartagService.sendSowProvincePlatform(dataJo,askText);
         }
+
+    }
+    public boolean getAskTime(String askTime)   {
+        String newAskTime = askTime.substring(0, 4) + "-" + askTime.substring(4, 6) + "-" + askTime.substring(6, 8) + " " + askTime.substring(8, 10) + ":" + askTime.substring(10, 12) + ":" + askTime.substring(12, 14);
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            Date targetDate = sdf.parse(newAskTime);
+            Date currentDate = new Date();
+
+            // 获取时间戳
+            long targetTimestamp = targetDate.getTime();
+            long currentTimestamp = currentDate.getTime();
+
+            // 设置时间差阈值,例如10分钟
+            long maxTimeDifference = 60 * 1000; // 10 minutes in milliseconds
+
+            // 计算时间差
+            long timeDifference = Math.abs(targetTimestamp - currentTimestamp);
+
+            if (timeDifference <= maxTimeDifference) {
+                return true;
+            } else {
+                return false;
+            }
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return false;
     }
 
     public void writeTxt(String conent,String file) throws ParseException, IOException {

+ 1 - 0
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/CacheServiceImpl.java

@@ -302,6 +302,7 @@ public class CacheServiceImpl implements ICacheService {
      * @Author      : ZhuoNing
      * @Date        : 2022/3/1       
      * @Time        : 21:18
+     *
      */
     @Override
     public boolean isExistEartagOnlineSet(String farmId, String earmark, String todayDateText) {

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

@@ -138,8 +138,8 @@ public class EartagServiceImpl implements IEartagService {
             //{更新耳标注册信息}
             updateEartagRegister2(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId, dataJo);
 
-            //--农户耳标注册
-            updateEartagRegisterForFarmer(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId, dataJo);
+//            --农户耳标注册
+//            updateEartagRegisterForFarmer(earmark, deviceCode, bat, nowTimestamp, todayDate, farmId, dataJo);
 
             //{更新设备在线统计}
             updateDeviceOnline(earmark, deviceCode, todayDateText, nowTimestamp, todayDate, dataJo, farmId);

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

@@ -1,8 +1,8 @@
 #spring.profiles.active=test
 #spring.profiles.active=local
 #spring.profiles.active=dev
-spring.profiles.active=prod2
-#spring.profiles.active=prod3
+#spring.profiles.active=prod2
+spring.profiles.active=prod3
 #spring.profiles.active=test2
 
 device.register.prefix=device_register_

+ 8 - 0
huimv-eartag2-platform/huimv-eartag2-eartag/src/test/java/com/huimv/eartag2/eartag/service/ServiceTest.java

@@ -12,6 +12,7 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import java.util.Map;
+import java.util.Set;
 
 /**
  * @Project : huimv.shiwan
@@ -46,4 +47,11 @@ public class ServiceTest {
         System.out.println(hashOperations.get(hashKey,"farmId"));
     }
 
+    @Test
+    public void getEartagOnlineTotalFromCache(String farmId, String todayDateText) {
+        String setKey = BizConst.SET_FARM_EARMARK_ONLINE_PREFIX + "330226001:2023-12-25";
+        Set members = redisTemplate.opsForSet().members(setKey);
+        System.out.println(members.toString());
+    }
+
 }

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

@@ -45,6 +45,7 @@ public class TopicRabbitMQConfig {
     }
     @Bean
     Binding bindingEartagExchangeMessage() {
+
         return BindingBuilder.bind(askEartagQueue()).to(askEartagExchange()).with(Const.ROUTING_KEY_ASK_EARTAG);
     }
 

+ 1 - 0
huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/producer/Producer.java

@@ -63,6 +63,7 @@ public class Producer {
     public String sendEartag(JSONObject dataJo) {
         Map map = new HashMap();
         map.put("eartag",dataJo);
+        rabbitTemplate.setMandatory(false);
         rabbitTemplate.convertAndSend(Const.EXCHANGE_EARTAG, Const.ROUTING_KEY_EARTAG, map);
         System.out.println("处理耳标数据 >>"+dataJo);
         return "ok";

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

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

+ 37 - 37
huimv-eartag2-platform/huimv-eartag2-manage2/pom.xml

@@ -128,43 +128,43 @@
 
 
             <!--  代码混淆proguard maven插件  -->
-            <plugin>
-                <groupId>com.github.wvengen</groupId>
-                <artifactId>proguard-maven-plugin</artifactId>
-                <version>2.6.0</version>
-                <executions>
-                    <!--   package时执行proguard   -->
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>proguard</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>
-                    <!--  输入的jar包  -->
-                    <injar>${project.build.finalName}.jar</injar>
-                    <!--  输出的jar包  -->
-                    <outjar>${project.build.finalName}.jar</outjar>
-                    <!--  是否进行混淆,默认为true  -->
-                    <obfuscate>true</obfuscate>
-                    <!--  配置文件,通常为proguard.cfg,主要对options选项进行配置,所有的options选项都可以进行配置  -->
-                    <proguardInclude>../huimv-eartag2-eartag/proguard.cfg</proguardInclude>
-                    <!--  额外的jar,项目编译所需的jar  -->
-                    <libs>
-                        <lib>${java.home}/lib/rt.jar</lib>
-                        <!--<lib>${java.home}/lib/jce.jar</lib>-->
-                        <lib>${java.home}/lib/jsse.jar</lib>
-                    </libs>
-                    <!--  对输入jar进行过滤,如对META-INFO文件不处理  -->
-                    <inLibsFilter>!META-INF/**,!META-INF/versions/**</inLibsFilter>
-                    <!--  输出路径配置,必须包含injar标签中填写的jar  -->
-                    <outputDirectory>${project.build.directory}</outputDirectory>
-                    <!--  上面使用了conf配置文件,options无需配置  -->
-                    <!--<options></options>-->
-                </configuration>
-            </plugin>
+<!--            <plugin>-->
+<!--                <groupId>com.github.wvengen</groupId>-->
+<!--                <artifactId>proguard-maven-plugin</artifactId>-->
+<!--                <version>2.6.0</version>-->
+<!--                <executions>-->
+<!--                    &lt;!&ndash;   package时执行proguard   &ndash;&gt;-->
+<!--                    <execution>-->
+<!--                        <phase>package</phase>-->
+<!--                        <goals>-->
+<!--                            <goal>proguard</goal>-->
+<!--                        </goals>-->
+<!--                    </execution>-->
+<!--                </executions>-->
+<!--                <configuration>-->
+<!--                    <putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>-->
+<!--                    &lt;!&ndash;  输入的jar包  &ndash;&gt;-->
+<!--                    <injar>${project.build.finalName}.jar</injar>-->
+<!--                    &lt;!&ndash;  输出的jar包  &ndash;&gt;-->
+<!--                    <outjar>${project.build.finalName}.jar</outjar>-->
+<!--                    &lt;!&ndash;  是否进行混淆,默认为true  &ndash;&gt;-->
+<!--                    <obfuscate>true</obfuscate>-->
+<!--                    &lt;!&ndash;  配置文件,通常为proguard.cfg,主要对options选项进行配置,所有的options选项都可以进行配置  &ndash;&gt;-->
+<!--                    <proguardInclude>../huimv-eartag2-eartag/proguard.cfg</proguardInclude>-->
+<!--                    &lt;!&ndash;  额外的jar,项目编译所需的jar  &ndash;&gt;-->
+<!--                    <libs>-->
+<!--                        <lib>${java.home}/lib/rt.jar</lib>-->
+<!--                        &lt;!&ndash;<lib>${java.home}/lib/jce.jar</lib>&ndash;&gt;-->
+<!--                        <lib>${java.home}/lib/jsse.jar</lib>-->
+<!--                    </libs>-->
+<!--                    &lt;!&ndash;  对输入jar进行过滤,如对META-INFO文件不处理  &ndash;&gt;-->
+<!--                    <inLibsFilter>!META-INF/**,!META-INF/versions/**</inLibsFilter>-->
+<!--                    &lt;!&ndash;  输出路径配置,必须包含injar标签中填写的jar  &ndash;&gt;-->
+<!--                    <outputDirectory>${project.build.directory}</outputDirectory>-->
+<!--                    &lt;!&ndash;  上面使用了conf配置文件,options无需配置  &ndash;&gt;-->
+<!--                    &lt;!&ndash;<options></options>&ndash;&gt;-->
+<!--                </configuration>-->
+<!--            </plugin>-->
         </plugins>
         <resources>
             <resource>

+ 1 - 1
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/HuimvManageApplication.java

@@ -26,7 +26,7 @@ import org.springframework.web.client.RestTemplate;
 @MapperScan("com.huimv.eartag2.manage2.mapper")
 @EntityScan(value = "com.huimv.eartag2.common.dao.entity")
 @EnableJpaRepositories(basePackages = "com.huimv.eartag2.common.dao.repo")
-@Import(InterceptorConfig.class)
+//@Import(InterceptorConfig.class)
 public class HuimvManageApplication {
     public static void main(String[] args) throws InterruptedException {
 

+ 6 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/BaseFarmController.java

@@ -3,10 +3,14 @@ package com.huimv.eartag2.manage2.controller;
 
 import com.huimv.eartag2.common.utils.Result;
 import com.huimv.eartag2.manage2.service.BaseFarmService;
+import com.huimv.eartag2.manage2.utils.Filter;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -63,5 +67,7 @@ public class BaseFarmController {
     }
 
 
+
+
 }
 

+ 4 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagData2Controller.java

@@ -34,6 +34,10 @@ public class EartagData2Controller {
         map.put("userId",userId+"");
         return eartagDataService.getEnvByTime(map);
     }
+    @PostMapping("/getByTimeFilter")
+    public Result getByTimeFilter(@RequestBody Map<String,String> map, HttpServletRequest request){
+        return eartagDataService.getByTimeFilter(map);
+    }
 
     @PostMapping("/api/getEnvByTime")
     public Result getEnvByTime2(@RequestBody Map<String,String> map, HttpServletRequest request){

+ 1 - 1
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/pojo/EartagDeviceRegister.java

@@ -78,6 +78,6 @@ public class EartagDeviceRegister implements Serializable {
     private Integer upgrade;
     private Integer farmerId;
     private String farmerName;
-    private String iphone;
+//    private String iphone;
 
 }

+ 2 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/IEartagData2Service.java

@@ -35,4 +35,6 @@ public interface IEartagData2Service extends IService<EartagData2> {
     Result getEnvByTimePanan(Map<String, String> map);
 
     Result getEnvLast(Map<String, String> map);
+
+    Result getByTimeFilter(Map<String, String> map);
 }

+ 4 - 4
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/BaseFarmServiceImpl.java

@@ -49,7 +49,7 @@ public class BaseFarmServiceImpl extends ServiceImpl<BaseFarmMapper, BaseFarm> i
     public Result add(HttpServletRequest httpServletRequest, Map<String, String> maps) {
         String farmName = maps.get("farmName");
         String leader = maps.get("leader");
-        String phone = maps.get("phone");
+//        String phone = maps.get("phone");
 //        String remark = maps.get("remark");
         String areaCode = maps.get("areaCode");
         String ip = maps.get("ip");
@@ -70,7 +70,7 @@ public class BaseFarmServiceImpl extends ServiceImpl<BaseFarmMapper, BaseFarm> i
         baseFarm.setFarmName(farmName);
         baseFarm.setIp(ip);
         baseFarm.setLeader(leader);
-        baseFarm.setPhone(phone);
+//        baseFarm.setPhone(phone);
         baseFarm.setPort(port);
         baseFarm.setLocation(location);
         return  resultUtil.result(baseFarmMapper.insert(baseFarm));
@@ -110,7 +110,7 @@ public class BaseFarmServiceImpl extends ServiceImpl<BaseFarmMapper, BaseFarm> i
         String id = maps.get("id");
         String farmName = maps.get("farmName");
         String leader = maps.get("leader");
-        String phone = maps.get("phone");
+//        String phone = maps.get("phone");
         String remark = maps.get("remark");
         String areaCode = maps.get("areaCode");
         String ip = maps.get("ip");
@@ -126,7 +126,7 @@ public class BaseFarmServiceImpl extends ServiceImpl<BaseFarmMapper, BaseFarm> i
         baseFarm.setIp(ip);
         baseFarm.setLeader(leader);
         baseFarm.setRemark(remark);
-        baseFarm.setPhone(phone);
+//        baseFarm.setPhone(phone);
         baseFarm.setPort(port);
         baseFarm.setLocation(location);
         return resultUtil.result(baseFarmMapper.updateById(baseFarm));

+ 65 - 1
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagData2ServiceImpl.java

@@ -16,7 +16,9 @@ import com.huimv.eartag2.manage2.pojo.EartagEartagRegister2;
 import com.huimv.eartag2.manage2.pojo.SysAccountMultilevel;
 import com.huimv.eartag2.manage2.service.IEartagData2Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.eartag2.manage2.utils.Filter;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.PostMapping;
 
 import javax.annotation.Resource;
 import java.text.ParseException;
@@ -148,10 +150,15 @@ public class EartagData2ServiceImpl extends ServiceImpl<EartagData2Mapper, Earta
 //        List<EartagData2> eartagData2List = eartagData2Mapper.getEartagDataByEarmark(earmark, recordCount);
         QueryWrapper<EartagData2> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("earmark",earmark);
-        queryWrapper.between("add_time",startDate,endDate);
+        queryWrapper.between("add_time",startDate +" 00:00:00",endDate+" 23:59:59");
         queryWrapper.orderByDesc("add_time");
         List<EartagData2> eartagData2List = eartagData2Mapper.selectList(queryWrapper);
+
         if (eartagData2List.size() == 0) {
+            boolean earmark1 = eartagEartagRegister2Mapper.exists(new QueryWrapper<EartagEartagRegister2>().eq("earmark", earmark));
+            if (earmark1){
+                return new Result(ResultCode.SUCCESS, new ArrayList());
+            }
             return new Result(10009, "数据为空", false);
         } else {
             List<EartagData2> newList = new ArrayList();
@@ -245,4 +252,61 @@ public class EartagData2ServiceImpl extends ServiceImpl<EartagData2Mapper, Earta
         List<EartagData2> eartagData2List = this.list(new QueryWrapper<EartagData2>().eq("earmark", earmark).orderByDesc("add_time").last(String.format("limit %s", quantity)));
         return new Result(ResultCode.SUCCESS,eartagData2List);
     }
+
+    @Override
+    public Result getByTimeFilter(Map<String, String> map) {
+
+        String earmark = map.get("earmark");
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        Date now = new Date();
+        if (StringUtils.isBlank(earmark)) {
+            return new Result(10001, "请选择耳标", false);
+        }
+        QueryWrapper<EartagData2> wrapper = new QueryWrapper<>();
+        wrapper.eq("earmark", earmark);
+        if (StringUtils.isBlank(startDate)) {
+            wrapper.ge("add_time", DateUtil.beginOfDay(now));
+        } else {
+            wrapper.between("add_time", startDate, endDate);
+        }
+        wrapper.orderByAsc("add_time");
+        List<Double> list1 = new ArrayList<>();
+        List<Double> list2 = new ArrayList<>();
+        List<Double> list3 = new ArrayList<>();
+        List<Date> list4 = new ArrayList<>();
+        List<Long> list5 = new ArrayList<>();
+        List<Integer> list6 = new ArrayList<>();
+        List<EartagData2> list = this.list(wrapper);
+        for (EartagData2 eartagData2 : list) {
+            Float earTemp1 = eartagData2.getEarTemp1();
+            Float earTemp2 = eartagData2.getEarTemp2();
+            Float envTemp1 = eartagData2.getEnvTemp1();
+
+            list1.add(earTemp1 == null ? null:Double.valueOf(earTemp1));
+            list2.add( earTemp2 == null ? null:Double.valueOf(earTemp2));
+            list3.add(envTemp1 == null ? null:Double.valueOf(envTemp1));
+            list4.add( eartagData2.getAddTime());
+            list5.add( eartagData2.getAct1());
+            list6.add( eartagData2.getBat());
+        }
+        Filter filter1 = new Filter(list1,0.2);
+        List<Double> earTemp1 = filter1.max(20, 200, 30, 40);
+
+        Filter filter2 = new Filter(list2,0.2);
+        List<Double> earTemp2 = filter2.max(20, 200, 30, 40);
+
+        Filter filter3 = new Filter(list3,0.2);
+        List<Double> earTemp3 = filter3.max(20, 200, 10, 40);
+
+        Map endMap = new HashMap();
+        endMap.put("earTemp1",earTemp1);
+        endMap.put("earTemp2",earTemp2);
+        endMap.put("getEnvTemp1",earTemp3);
+        endMap.put("time",list4);
+        endMap.put("act",list5);
+        endMap.put("bat",list6);
+
+        return new Result(ResultCode.SUCCESS, endMap);
+    }
 }

+ 16 - 16
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagDeviceRegisterServiceImpl.java

@@ -111,7 +111,7 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
             String deviceAlias = maps.get("deviceAlias");
             String activeStatus = maps.get("activeStatus");
             String deviceStatus = maps.get("deviceStatus");
-            String phone = maps.get("phone");
+//            String phone = maps.get("phone");
             String remark = maps.get("remark");
             EartagDeviceRegister eartagDeviceRegister = eartagDeviceRegisterMapper.selectById(id);
             eartagDeviceRegister.setChipId(chipId);
@@ -121,23 +121,23 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
             eartagDeviceRegister.setRemark(remark);
             eartagDeviceRegister.setDeviceStatus(Integer.valueOf(deviceStatus));
             eartagDeviceRegister.setDeviceType(Integer.parseInt(deviceType));
-            if (phone.length()>0) {
-                eartagDeviceRegister.setIphone(phone);
-            }
+//            if (phone.length()>0) {
+//                eartagDeviceRegister.setIphone(phone);
+//            }
             eartagDeviceRegisterMapper.updateById(eartagDeviceRegister);
         }else {
             String id = maps.get("id");
             String chipId = maps.get("chipId");
             String remark = maps.get("remark");
             String deviceCode = maps.get("deviceCode");
-            String phone = maps.get("phone");
+//            String phone = maps.get("phone");
             EartagDeviceRegister eartagDeviceRegister = eartagDeviceRegisterMapper.selectById(id);
             eartagDeviceRegister.setChipId(chipId);
             eartagDeviceRegister.setRemark(remark);
             eartagDeviceRegister.setDeviceCode(deviceCode);
-            if (phone.length()>0) {
-                eartagDeviceRegister.setIphone(phone);
-            }
+//            if (phone.length()>0) {
+//                eartagDeviceRegister.setIphone(phone);
+//            }
             eartagDeviceRegisterMapper.updateById(eartagDeviceRegister);
         }
         return resultUtil.result(1);
@@ -212,7 +212,7 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
             String activeStatus = mapList.get("activeStatus");
             String deviceStatus = mapList.get("deviceStatus");
             String remark = mapList.get("remark");
-            String phone = mapList.get("phone");
+//            String phone = mapList.get("phone");
             String deviceCode = (String)getDeviceCode(farmId).getData();
             System.out.println(deviceCode);
             EartagDeviceRegister eartagDeviceRegister = new EartagDeviceRegister();
@@ -224,9 +224,9 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
             eartagDeviceRegister.setDeviceStatus(Integer.valueOf(deviceStatus));
             eartagDeviceRegister.setFarmId(farmId);
             eartagDeviceRegister.setDeviceType(Integer.parseInt(deviceType));
-            if (phone.length()>0) {
-                eartagDeviceRegister.setIphone(phone);
-            }
+//            if (phone.length()>0) {
+//                eartagDeviceRegister.setIphone(phone);
+//            }
 
             QueryWrapper<EartagDeviceRegister> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("chip_id", chipId);
@@ -254,7 +254,7 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
             String farmId = mapList.get("farmId");
             String remark = mapList.get("remark");
             String chipId = mapList.get("chipId");
-            String phone = mapList.get("phone");
+//            String phone = mapList.get("phone");
             String deviceCode = (String)getDeviceCode(farmId).getData();
             EartagDeviceRegister eartagDeviceRegister = new EartagDeviceRegister();
             eartagDeviceRegister.setFarmId(farmId);
@@ -262,9 +262,9 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
             eartagDeviceRegister.setDeviceType(Integer.parseInt(deviceType));
             eartagDeviceRegister.setRemark(remark);
             eartagDeviceRegister.setChipId(chipId);
-            if (phone.length()>0) {
-                eartagDeviceRegister.setIphone(phone);
-            }
+//            if (phone.length()>0) {
+//                eartagDeviceRegister.setIphone(phone);
+//            }
             QueryWrapper<EartagDeviceRegister> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("chip_id", chipId);
             EartagDeviceRegister eartagDeviceRegister1 = eartagDeviceRegisterMapper.selectOne(queryWrapper);

+ 1 - 1
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagHourActServiceImpl.java

@@ -35,7 +35,7 @@ public class EartagHourActServiceImpl extends ServiceImpl<EartagHourActMapper, E
     public Result getHourAct(String farmCode, String startDate,String endDate, String earmark) throws ParseException {
         QueryWrapper<EartagHourAct> queryWrapper= new QueryWrapper<>();
         queryWrapper.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
-        queryWrapper.eq("is_show",0);
+//        queryWrapper.eq("is_show",0);
         queryWrapper.between("add_date",startDate,endDate);
         queryWrapper.eq(StringUtils.isNotBlank(earmark),"earmark",earmark);
         List orderByAscList = new ArrayList();

+ 82 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/utils/Filter.java

@@ -0,0 +1,82 @@
+package com.huimv.eartag2.manage2.utils;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Random;
+
+public class Filter {
+    private final List<Double> data;
+    private final List<Double> deal;
+    private final Double rand;
+    private final Random random = new Random(0);
+
+    public Filter(List<Double> data, Double rand) {
+        this.data = data;
+        this.rand = rand;
+
+        Double[] zeros = new Double[data.size()];
+        Arrays.fill(zeros, .0);
+        deal = Arrays.asList(zeros);
+    }
+
+    private double wave(Double num) {
+        return num + (random.nextFloat() - 0.5) * rand;
+    }
+
+    private int loc(int start, int end) {
+        end = Math.min(end, data.size());
+        int ix = start;
+        Double mx = data.get(start);
+        for (int i = start + 1; i < end; ++i) {
+            if (data.get(i) > mx) {
+                ix = i;
+                mx = data.get(i);
+            }
+        }
+        return ix;
+    }
+
+    private int peak(int start) {
+        for (int i = start; i < data.size(); ++i) {
+            if (deal.get(i) > .0) return i;
+        }
+        return -1;
+    }
+
+    private void bridge(int left, int right) {
+        double gap = (deal.get(right) - deal.get(left)) / (right - left);
+        for (int i = left + 1; i < right; ++i) deal.set(i, wave(deal.get(left) + (i - left) * gap));
+    }
+
+    public List<Double> max(int step, int win, double min, double max) {
+        for (int pos = 0; pos < data.size(); pos += step) {
+            int idx = loc(pos, pos + win);
+            if (data.get(idx) < min) deal.set(idx, wave(min));
+            else if (data.get(idx) > max) deal.set(idx, wave(max));
+            else deal.set(idx, data.get(idx));
+        }
+
+        // left side
+        int pos = peak(0);
+        if (pos != -1 && pos != 0) for (int idx = pos; idx > 0; --idx) deal.set(idx - 1, wave(deal.get(idx)));
+        // center
+        while (pos != -1 && pos < data.size()) {
+            int idx = peak(pos + 1);
+            if (idx == -1) break;
+            bridge(pos, idx);
+            pos = idx;
+        }
+        // right side
+        if (pos != -1 && pos < data.size() - 1)
+            for (int idx = pos; idx < data.size() - 1; ++idx) {
+                deal.set(idx + 1, wave(deal.get(idx)));
+            }
+
+        return deal;
+    }
+
+    public void show() {
+        System.out.println("data = " + data);
+        System.out.println("deal = " + deal);
+    }
+}

+ 1 - 1
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/vo/EartagDeviceRegisterVo.java

@@ -47,7 +47,7 @@ public class EartagDeviceRegisterVo implements Serializable {
     private String pigpenName;
     private Integer farmerId;
     private String farmerName;
-    private String iphone;
+//    private String iphone;
 
 
 }

+ 4 - 3
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/resources/application.properties

@@ -1,5 +1,6 @@
 #spring.profiles.active=dev2
 #spring.profiles.active=prod3
+#spring.profiles.active=prod
 spring.profiles.active=prod2
 
 # mysql:/cache:
@@ -9,9 +10,9 @@ device.online.access_mode=mysql
 cache.chipIdExpire=48
 
 #
-service.farmAllStatus.url=/deviceController/updateFarmAllStatus
-service.farmAllStatus.host=192.168.1.68
-service.farmAllStatus.ip=8092
+#service.farmAllStatus.url=/deviceController/updateFarmAllStatus
+#service.farmAllStatus.host=192.168.1.68
+#service.farmAllStatus.ip=8092
 
 ###################################################����undertowȡ��tomcat
 # �Ƿ�� undertow ��־��Ĭ��Ϊ false