Przeglądaj źródła

添加摄像头回放

523096025 2 lat temu
rodzic
commit
17f29ebbd6
58 zmienionych plików z 1729 dodań i 62 usunięć
  1. 9 9
      huimv-farm-admin/pom.xml
  2. 2 0
      huimv-farm-admin/src/main/java/com/huimv/admin/system/controller/AccountController.java
  3. 20 0
      huimv-farm-admin/src/main/java/com/huimv/admin/system/controller/SysAccountMultilevelController.java
  4. 17 0
      huimv-farm-admin/src/main/java/com/huimv/admin/system/entity/dto/UpdateAccountDto.java
  5. 4 3
      huimv-farm-admin/src/main/java/com/huimv/admin/system/service/impl/SysAccountMultilevelServiceImpl.java
  6. 3 3
      huimv-farm-admin/src/main/resources/application.properties
  7. 2 0
      huimv-farm-eartag/src/main/java/com/huimv/eartag/HuimvEartagApplication.java
  8. 67 0
      huimv-farm-eartag/src/main/java/com/huimv/eartag/controller/FeedBuildCountController.java
  9. 6 0
      huimv-farm-eartag/src/main/java/com/huimv/eartag/dao/repo/EartagDataRepo.java
  10. 1 1
      huimv-farm-eartag/src/main/java/com/huimv/eartag/entity/FeedBuildCount.java
  11. 9 0
      huimv-farm-eartag/src/main/java/com/huimv/eartag/listener/EartagListener.java
  12. 28 2
      huimv-farm-eartag/src/main/java/com/huimv/eartag/service/impl/EartagServiceImpl.java
  13. 4 0
      huimv-farm-eartag/src/main/java/com/huimv/eartag/service/impl/FeedFowlRecordServiceImpl.java
  14. 1 0
      huimv-farm-eartag/src/main/java/com/huimv/eartag/utils/MathUtil.java
  15. 5 0
      huimv-farm-environ/pom.xml
  16. 10 2
      huimv-farm-environ/src/main/java/com/huimv/environ/HuimvEnvironApplication.java
  17. 48 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EggDataController.java
  18. 84 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EggDataCotroller.java
  19. 32 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EggFarmController.java
  20. 32 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EggHouseController.java
  21. 103 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/EggData.java
  22. 50 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/EggFarm.java
  23. 39 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/EggHouse.java
  24. 14 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/BaseResultEntity.java
  25. 39 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/DataVo.java
  26. 22 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/EggVo.java
  27. 12 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/HistoryEntity.java
  28. 11 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/HistroyOne.java
  29. 51 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/HistroyTwo.java
  30. 18 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/HousVo.java
  31. 29 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EggDataMapper.java
  32. 16 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EggFarmMapper.java
  33. 16 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EggHouseMapper.java
  34. 26 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IEggDataService.java
  35. 16 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IEggFarmService.java
  36. 16 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IEggHouseService.java
  37. 311 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EggDataServiceImpl.java
  38. 20 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EggFarmServiceImpl.java
  39. 20 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EggHouseServiceImpl.java
  40. 92 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/timer/EggTimer.java
  41. 2 2
      huimv-farm-environ/src/main/resources/application.properties
  42. 45 0
      huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/EggDataMapper.xml
  43. 5 0
      huimv-farm-produce/pom.xml
  44. 12 0
      huimv-farm-produce/src/main/java/com/huimv/produce/warning/timer/OneWarnig.java
  45. 129 0
      huimv-farm-produce/src/main/java/com/huimv/produce/warning/timer/SavWarning.java
  46. 18 0
      huimv-farm-produce/src/main/java/com/huimv/produce/warning/timer/TwoWarning.java
  47. BIN
      huimv-farm-video/huimv-farm-video-0.0.1-SNAPSHOT-execute.jar
  48. 21 3
      huimv-farm-video/pom.xml
  49. 1 1
      huimv-farm-video/src/main/java/com/huimv/video/HuimvVideoApplication.java
  50. 2 0
      huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/BaseController/SysTelecomController.java
  51. 150 0
      huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ClientController/ClientAllVideoPlayBack.java
  52. 1 1
      huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ClientController/ClientXixiaoController.java
  53. 6 6
      huimv-farm-video/src/main/java/com/huimv/video/dhicc/icc/CommonConstant.java
  54. 1 1
      huimv-farm-video/src/main/java/com/huimv/video/dhicc/icc/IccUtil.java
  55. 2 0
      huimv-farm-video/src/main/java/com/huimv/video/video/entity/Camera.java
  56. 5 4
      huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraServiceImpl.java
  57. 2 2
      huimv-farm-video/src/main/resources/application.properties
  58. 22 22
      huimv-farm-video/src/main/resources/config/iccSdk.properties

+ 9 - 9
huimv-farm-admin/pom.xml

@@ -61,14 +61,14 @@
                 <version>2.6</version>
             </plugin>
         </plugins>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>false</filtering>
-            </resource>
-        </resources>
+<!--        <resources>-->
+<!--            <resource>-->
+<!--                <directory>src/main/java</directory>-->
+<!--                <includes>-->
+<!--                    <include>**/*.xml</include>-->
+<!--                </includes>-->
+<!--                <filtering>false</filtering>-->
+<!--            </resource>-->
+<!--        </resources>-->
     </build>
 </project>

+ 2 - 0
huimv-farm-admin/src/main/java/com/huimv/admin/system/controller/AccountController.java

@@ -2,6 +2,7 @@ package com.huimv.admin.system.controller;
 
 
 import com.huimv.admin.system.entity.Account;
+import com.huimv.admin.system.entity.dto.UpdateAccountDto;
 import com.huimv.admin.system.service.IAccountService;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
@@ -54,6 +55,7 @@ public class AccountController {
         return new Result(ResultCode.SUCCESS, iAccountService.updateById(account));
     }
 
+
     @GetMapping("/findOne")
     public Result findOne(Integer id){
         return new Result(ResultCode.SUCCESS, iAccountService.getById(id));

+ 20 - 0
huimv-farm-admin/src/main/java/com/huimv/admin/system/controller/SysAccountMultilevelController.java

@@ -7,6 +7,7 @@ import com.huimv.admin.system.entity.AccountGroup;
 import com.huimv.admin.system.entity.BaseScreenCameraAccount;
 import com.huimv.admin.system.entity.SysAccountMultilevel;
 import com.huimv.admin.system.entity.dto.SysAccountMultilevelDto;
+import com.huimv.admin.system.entity.dto.UpdateAccountDto;
 import com.huimv.admin.system.service.IAccountGroupService;
 import com.huimv.admin.system.service.IBaseScreenCameraAccountService;
 import com.huimv.admin.system.service.ISysAccountMultilevelService;
@@ -144,4 +145,23 @@ public class SysAccountMultilevelController {
         return new Result(10000,"修改成功",true);
     }
 
+    //修改密码
+    @PostMapping("/updatePassword")
+    public Result updatePassword(@RequestBody UpdateAccountDto account){
+
+        SysAccountMultilevel accountMultilevel = accountMultilevelService.getOne(new QueryWrapper<SysAccountMultilevel>().eq("account", account.getAccount()).eq("password", account.getPassword()));
+
+        if (ObjectUtil.isEmpty(accountMultilevel)){
+            return new Result(10001,"账号或密码有误,请检查",false);
+        }
+        if (accountMultilevel.getPassword().equals(account.getNewPassword())){
+            return new Result(10001,"新密码与旧密码相同,请检查",false);
+        }
+
+        accountMultilevel.setPassword(account.getNewPassword());
+        accountMultilevelService.updateById(accountMultilevel);
+        return new Result(10000,"修改成功",true);
+    }
+
+
 }

+ 17 - 0
huimv-farm-admin/src/main/java/com/huimv/admin/system/entity/dto/UpdateAccountDto.java

@@ -0,0 +1,17 @@
+package com.huimv.admin.system.entity.dto;
+
+import lombok.Data;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.system.entity.dto
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2022/6/2 0002 10:16
+ **/
+@Data
+public class UpdateAccountDto {
+    private String account;
+    private String password;
+    private String newPassword;
+}

+ 4 - 3
huimv-farm-admin/src/main/java/com/huimv/admin/system/service/impl/SysAccountMultilevelServiceImpl.java

@@ -215,10 +215,11 @@ public class SysAccountMultilevelServiceImpl extends ServiceImpl<SysAccountMulti
         String collect1 = appGroupId.stream().map(String::valueOf).collect(Collectors.joining(","));
         iAppAuthorizeService.saveAccountGroupNew(accountId,collect1);
 
+
         //大屏
-        List<Integer> screenGroupId = sysAccountMultilevel.getScreenGroupId();
-        String collect2 = screenGroupId.stream().map(String::valueOf).collect(Collectors.joining(","));
-        iScreenAuthorizeService.saveAccountGroupNew(accountId,collect2);
+//        List<Integer> screenGroupId = sysAccountMultilevel.getScreenGroupId();
+//        String collect2 = screenGroupId.stream().map(String::valueOf).collect(Collectors.joining(","));
+//        iScreenAuthorizeService.saveAccountGroupNew(accountId,collect2);
 
         return  new Result( 10000,"添加成功",true);
     }

+ 3 - 3
huimv-farm-admin/src/main/resources/application.properties

@@ -1,6 +1,6 @@
-#spring.profiles.active=dev
+spring.profiles.active=dev
 #spring.profiles.active=prod3
-spring.profiles.active=prod
+#spring.profiles.active=prod
 #spring.profiles.active=demo
 #spring.profiles.active=yv
 
@@ -23,7 +23,7 @@ weight.batch.prefix=W
 weight.batchCode.spacemark=-
 
 #牧场端设备数据是否同步(true/false)
-farm.device.sync=true
+farm.device.sync=false
 farm.device.addService=/farm/device/syncAddFarmDevice
 farm.device.editService=/farm/device/syncEditFarmDevice
 farm.device.removeService=/farm/device/syncRemoveFarmDevice

+ 2 - 0
huimv-farm-eartag/src/main/java/com/huimv/eartag/HuimvEartagApplication.java

@@ -5,6 +5,7 @@ import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.ApplicationContext;
+import org.springframework.scheduling.annotation.EnableScheduling;
 
 /**
  * @Project : huimv.shiwan
@@ -16,6 +17,7 @@ import org.springframework.context.ApplicationContext;
  **/
 @SpringBootApplication
 @MapperScan("com.huimv.eartag.mapper")
+@EnableScheduling
 public class HuimvEartagApplication {
     public static void main(String[] args) throws InterruptedException {
 //        SpringApplication.run(HuimvEartagApplication.class, args);

+ 67 - 0
huimv-farm-eartag/src/main/java/com/huimv/eartag/controller/FeedBuildCountController.java

@@ -1,10 +1,19 @@
 package com.huimv.eartag.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.eartag.entity.*;
+import com.huimv.eartag.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * <p>
  * 栋舍统计数据 前端控制器
@@ -17,4 +26,62 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/feedBuildCount")
 public class FeedBuildCountController {
 
+
+    @Autowired
+    private IFeedBuildService feedBuildService;
+
+    @Autowired
+    private IFeedBuildCountService feedBuildCountService;
+
+    @Autowired
+    private IFeedStageService feedStageService;
+
+    @Autowired
+    private IEartagDataService eartagDataService;
+
+
+    @Autowired
+    private IFeedFowlRecordService feedFowlRecordService;
+
+//    @Scheduled(cron = "0 * * * * ? ")
+    @GetMapping("/test1")
+    public void updateBulidCount(){
+        System.out.println("111111111111111");
+        List<FeedBuild> list = feedBuildService.list();
+        for (FeedBuild feedBuild : list) {
+            FeedBuildCount feedBuildCount = new FeedBuildCount();
+
+            FeedStage feedStage = feedStageService.getOne(new QueryWrapper<FeedStage>().eq("stage_code", feedBuild.getStageCode()));
+            FeedFowlRecord buildCode = feedFowlRecordService.getOne(new QueryWrapper<FeedFowlRecord>().eq("build_code", feedBuild.getBuildCode()).last("limit 1"));
+
+
+            feedBuildCount.setAbnormity(0);
+            feedBuildCount.setAveTemp(buildCode.getAveTemp());
+            feedBuildCount.setBuildCode(feedBuild.getBuildCode());
+            feedBuildCount.setEnvTemp(buildCode.getEnvTemp());
+            feedBuildCount.setFowlGender(1);
+            feedBuildCount.setFowlType(feedStage.getStageName());
+            feedBuildCount.setUpdateDate(new Date());
+            feedBuildCountService.save(feedBuildCount);
+        }
+    }
+
+    //    @Scheduled(cron = "30 * * * * ? ")
+    @GetMapping("/test")
+    public void updateFowlRecordService() {
+
+
+        System.out.println("ssss=========");
+        List<FeedFowlRecord> list = feedFowlRecordService.list();
+        for (FeedFowlRecord feedFowlRecord : list) {
+            String earmark = feedFowlRecord.getEarmark();
+            EartagData one = eartagDataService.getOne(new QueryWrapper<EartagData>().eq("earmark", earmark).orderByDesc("id").last("limit 1"));
+            feedFowlRecord.setAveTemp(Float.parseFloat(one.getOther()));
+            feedFowlRecord.setEarTemp(one.getEarTemp1());
+            feedFowlRecord.setEnvTemp(one.getEnvTemp1());
+            feedFowlRecordService.updateById(feedFowlRecord);
+        }
+
+    }
+
 }

+ 6 - 0
huimv-farm-eartag/src/main/java/com/huimv/eartag/dao/repo/EartagDataRepo.java

@@ -1,6 +1,8 @@
 package com.huimv.eartag.dao.repo;
 
+import cn.hutool.core.date.DateTime;
 import com.huimv.eartag.dao.entity.EartagDataEntity;
+import com.huimv.eartag.entity.EartagData;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
@@ -19,4 +21,8 @@ public interface EartagDataRepo extends JpaRepository<EartagDataEntity, Integer>
     //
     @Query(nativeQuery = true,value = "SELECT * FROM eartag_data WHERE earmark=?1 AND DATE_FORMAT(add_time,'%Y-%m-%d')=DATE_FORMAT(?2,'%Y-%m-%d') ORDER BY id DESC")
     List<EartagDataEntity> getEartagFlowByEarmarkAndToday(String earmark, String todayDateText);
+
+
+    @Query(nativeQuery = true,value = "select * from eartag_data where ask_time >= ?1")
+    List<EartagData> getAllTem(DateTime dateTime);
 }

+ 1 - 1
huimv-farm-eartag/src/main/java/com/huimv/eartag/entity/FeedBuildCount.java

@@ -34,7 +34,7 @@ public class FeedBuildCount implements Serializable {
     private String buildCode;
 
     /**
-     * 1:雄性 2:雌性
+     *
      */
     private Integer fowlGender;
 

+ 9 - 0
huimv-farm-eartag/src/main/java/com/huimv/eartag/listener/EartagListener.java

@@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.annotation.RabbitHandler;
 import org.springframework.amqp.rabbit.annotation.RabbitListener;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
@@ -28,6 +29,8 @@ import java.util.Map;
 @Component
 @Slf4j
 public class EartagListener {
+
+
     @Autowired
     private IDeviceService deviceService;
     @Autowired
@@ -143,6 +146,7 @@ public class EartagListener {
             }
             //计算运动量//
             Integer act1Int = eartagService.countEartagAct(dataArray[2], dataArray[6]);
+
             //命令头
             dataJo.put("cmdHeader", dataArray[0]);
             //采集器id
@@ -157,6 +161,7 @@ public class EartagListener {
             //环境温度
             dataJo.put("envTemp", dataArray[5]);
             dataJo.put("envTemp1", MathUtil.countEnvtemp(dataArray[5],2));
+//            dataJo.put("envTemp1", 0);
             //运动量
             dataJo.put("act", dataArray[6]);
             dataJo.put("act1", act1Int);
@@ -172,4 +177,8 @@ public class EartagListener {
         outMap.put("data",dataJo);
         return outMap;
     }
+
+
+
+
 }

+ 28 - 2
huimv-farm-eartag/src/main/java/com/huimv/eartag/service/impl/EartagServiceImpl.java

@@ -1,8 +1,11 @@
 package com.huimv.eartag.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.huimv.eartag.dao.entity.*;
 import com.huimv.eartag.dao.repo.*;
+import com.huimv.eartag.entity.EartagData;
 import com.huimv.eartag.utils.BizConst;
 import com.huimv.eartag.utils.DateUtil;
 import com.huimv.eartag.service.ICacheService;
@@ -17,6 +20,7 @@ import org.springframework.stereotype.Service;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
 import java.text.ParseException;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -117,7 +121,7 @@ public class EartagServiceImpl implements IEartagService {
     private void initRedisObj(String deviceCode) {
         EartagDataEntity lastEartagDataEntity = eartagDataRepo.getLastEartagData(deviceCode);
         if (lastEartagDataEntity != null) {
-            System.out.println("## lastEartagDataEntity.toString>>" + lastEartagDataEntity.toString());
+//            System.out.println("## lastEartagDataEntity.toString>>" + lastEartagDataEntity.toString());
             //--从数据库读取最新记录并覆盖redis
             Map<String, String> map = new HashMap<>();
             map.put("cmdHeader", lastEartagDataEntity.getCmdHeader());
@@ -211,7 +215,10 @@ public class EartagServiceImpl implements IEartagService {
         dataEntity.setAct1(Integer.parseInt(eartagJo.getString("act1")));
         dataEntity.setSignal1(Integer.parseInt(eartagJo.getString("signal")));
         dataEntity.setAskTime(getAskTime(eartagJo.getString("askTime")));
-        dataEntity.setOther(eartagJo.getString("other"));
+//        dataEntity.setOther(eartagJo.getString("other"));
+        //计算平均温度
+        dataEntity.setOther(  getAveTem(eartagJo.getFloat("envTemp1")));
+
         dataEntity.setAddTime(nowTimestamp);
         dataEntity.setCreateDate(todayDate);
         dataEntity.setFarmId(farmId);
@@ -222,6 +229,25 @@ public class EartagServiceImpl implements IEartagService {
         cacheService.putEartagFlowToCache(dataEntity.getEarmark(),dataEntity);
     }
 
+    private String getAveTem(Float temp1) {
+
+        DateTime dateTime = cn.hutool.core.date.DateUtil.beginOfMinute(new Date());
+        List<EartagData> s =  eartagDataRepo.getAllTem(dateTime);
+
+        Float ertem = 0.0F;
+        if (ObjectUtil.isEmpty(s)){
+            return temp1+"";
+        }
+
+        for (EartagData eartagData : s) {
+            ertem += eartagData.getEarTemp1();
+        }
+        return ertem/s.size()+"";
+
+
+
+    }
+
     //
     public String 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);

+ 4 - 0
huimv-farm-eartag/src/main/java/com/huimv/eartag/service/impl/FeedFowlRecordServiceImpl.java

@@ -2,6 +2,8 @@ package com.huimv.eartag.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.generator.config.IFileCreate;
+import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder;
 import com.huimv.common.utils.Result;
 import com.huimv.eartag.entity.FeedBuild;
 import com.huimv.eartag.entity.FeedBuildCount;
@@ -53,4 +55,6 @@ public class FeedFowlRecordServiceImpl extends ServiceImpl<FeedFowlRecordMapper,
     }
 
 
+
+
 }

+ 1 - 0
huimv-farm-eartag/src/main/java/com/huimv/eartag/utils/MathUtil.java

@@ -53,6 +53,7 @@ public class MathUtil {
         // 设置精确到小数点后2位
         numberFormat.setMaximumFractionDigits(scale);
         float temp2 = Float.parseFloat(new BigDecimal(temp).multiply(new BigDecimal(0.01)).toString());
+        System.out.println("----------------------------------------"+temp2);
         return numberFormat.format(temp2);
     }
 

+ 5 - 0
huimv-farm-environ/pom.xml

@@ -32,6 +32,11 @@
         <!--        </dependency>-->
         <!--ICC-->
         <dependency>
+            <groupId>com.huimv</groupId>
+            <artifactId>huimv-common</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
             <groupId>com.dahuatech.icc</groupId>
             <artifactId>java-sdk-oauth</artifactId>
             <version>1.0.8</version>

+ 10 - 2
huimv-farm-environ/src/main/java/com/huimv/environ/HuimvEnvironApplication.java

@@ -5,7 +5,10 @@ import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Import;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.web.client.RestTemplate;
 
 /**
  * @Project : huimv.shiwan
@@ -16,10 +19,15 @@ import org.springframework.context.annotation.Import;
  * @Create : 2020-12-25
  **/
 @SpringBootApplication
-@MapperScan("com.huimv.environ.eco.mapper")
-@Import(InterceptorConfig.class)
+@MapperScan("com.huimv.environ.*.mapper")
+//@Import(InterceptorConfig.class)
+@EnableScheduling
 public class HuimvEnvironApplication {
     public static void main(String[] args) {
         ApplicationContext applicationContext = SpringApplication.run(HuimvEnvironApplication.class, args);
     }
+    @Bean
+    public static RestTemplate getRestTemplate(){
+        return new RestTemplate();
+    }
 }

+ 48 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EggDataController.java

@@ -0,0 +1,48 @@
+package com.huimv.environ.eco.controller;
+
+
+import com.huimv.common.utils.Result;
+import com.huimv.environ.eco.service.IEggDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+@RestController
+@RequestMapping("/eggData")
+public class EggDataController {
+    @Autowired
+    private IEggDataService eggDataService;
+
+    @PostMapping("/getAll")
+    public Result getAll(@RequestBody Map<String,String> map){
+        return eggDataService.getAll(map);
+    }
+
+    @PostMapping("/getOneData")
+    public Result getOneData(@RequestBody Map<String,String> map){
+        return eggDataService.getOneData(map);
+    }
+
+    @PostMapping("/getAllFood")
+    public Result getAllFood(@RequestBody Map<String,String> map){
+        return eggDataService.getAllFood(map);
+    }
+
+    @PostMapping("/getOneFood")
+    public Result getOneFood(@RequestBody Map<String,String> map){
+        return eggDataService.getOneFood(map);
+    }
+}

+ 84 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EggDataCotroller.java

@@ -0,0 +1,84 @@
+package com.huimv.environ.eco.controller;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.json.JSONObject;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.environ.eco.entity.eggvo.BaseResultEntity;
+import com.huimv.environ.eco.entity.eggvo.DataVo;
+import com.huimv.environ.eco.entity.eggvo.HistoryEntity;
+import com.huimv.environ.eco.entity.eggvo.HousVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("/eggData")
+public class EggDataCotroller {
+    private static  final  String BASE_URL= "https://iot1.bigherdsman.com/api/v2/";
+    private static  final  String TOKEN= "72438b180e9168fe90db126e3310cd0b20a7196d";
+
+
+    private static  final  String ACCOUNT_LOGIN_URL= "account/login/";
+    private static  final  String ACCOUNT_INFO_URL= "account/info/";
+    private static  final  String ENTITY_CORPORATION_URL= "entity/corporation/";
+    private static  final  String ENTITY_FARM_URL= "entity/farm/";
+    private static  final  String CURRENT_STATUS_URL= "current/status/?code=";
+    private static  final  String LIST_ORIGIN_HOUSE= "hardware/list-origin-house/?code=";
+    private static  final  String HOUSE_LIST_NAME= "entity/house/list-name/?farm=";
+    private static  final  String CURRENT_LIST= "current/list/?code=";
+    private static  final  String CURRENT_DETAIL= "current/detail/?code=";
+    private static  final  String HISTORY_LIST= "history/list/?code=";
+    private static  final  String META_LIST= "meta/list-field/?category=alarm";
+    private static  final  String CURRENT_ALARMING= "current/alarming/?code=";
+    private static  final  String ALARM_RECORD= "alarm/record/?code=";
+
+    private static final String FARM_CODE = "2022011710";
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @GetMapping("current/list")
+    public Result list(){
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Authorization","Token "+TOKEN);
+        HttpEntity<JSONObject> httpEntity = new HttpEntity<>(headers);
+        ResponseEntity<BaseResultEntity> forEntity = restTemplate.exchange(BASE_URL + CURRENT_LIST+FARM_CODE+"&position=all", HttpMethod.GET, httpEntity,BaseResultEntity.class );
+
+        List<HousVo> data = forEntity.getBody().getData();
+        for (HousVo datum : data) {
+            datum.setName(datum.getI()+"号舍");
+        }
+
+        return new Result(ResultCode.SUCCESS,data);
+    }
+
+    @GetMapping("history/list")
+    public Result list(@RequestParam(name = "i") String i,
+                       @RequestParam(name = "start",required = false) Long start,
+                       @RequestParam(name = "end",required = false) Long end){
+
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Authorization","Token "+TOKEN);
+        HttpEntity<JSONObject> httpEntity = new HttpEntity<>(headers);
+        if (start ==null){
+             start = DateUtil.beginOfDay(new Date()).getTime();
+        }
+        if (end ==null){
+            end = System.currentTimeMillis();
+        }
+        ResponseEntity<HistoryEntity> forEntity = restTemplate.exchange(BASE_URL + HISTORY_LIST+FARM_CODE+"&i="+i+"&start="+start+"&end="+end, HttpMethod.GET, httpEntity,HistoryEntity.class );
+        return new Result(ResultCode.SUCCESS,forEntity.getBody().getData());
+    }
+
+}

+ 32 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EggFarmController.java

@@ -0,0 +1,32 @@
+package com.huimv.environ.eco.controller;
+
+
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.environ.eco.service.IEggFarmService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+@RestController
+@RequestMapping("/eggFarm")
+public class EggFarmController {
+    @Autowired
+    private IEggFarmService eggFarmService;
+
+    @GetMapping("/list")
+    public Result list(){
+        return  new Result(ResultCode.SUCCESS,eggFarmService.list());
+    }
+
+}

+ 32 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EggHouseController.java

@@ -0,0 +1,32 @@
+package com.huimv.environ.eco.controller;
+
+
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.environ.eco.service.IEggFarmService;
+import com.huimv.environ.eco.service.IEggHouseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+@RestController
+@RequestMapping("/eggHouse")
+public class EggHouseController {
+    @Autowired
+    private IEggHouseService houseService;
+
+    @GetMapping("/list")
+    public Result list(){
+        return  new Result(ResultCode.SUCCESS,houseService.list());
+    }
+}

+ 103 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/EggData.java

@@ -0,0 +1,103 @@
+package com.huimv.environ.eco.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("egg_data")
+public class EggData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 温度
+     */
+    private Double tCur;
+
+    /**
+     * 湿度
+     */
+    private Integer hR;
+
+    /**
+     * 用水,吨
+     */
+    private Double wtrTdy;
+
+    /**
+     * 用料 kg
+     */
+    private Double ftDoTalTdy;
+
+    private Double co2;
+
+    /**
+     * 舍id
+     */
+    private Integer i;
+
+    //上传时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date uploadTime;
+    /**
+     * 风机开启数量
+     */
+    private Integer fN;
+
+
+    /**
+     * 通风量  km3/h
+     */
+    private Integer fV;
+
+    /**
+     *通风级别
+     */
+    private Integer fLv;
+
+
+    /**
+     * 体感温度
+     */
+    private Integer tS;
+
+
+    /**
+     *目标温度
+     */
+    private Integer tT;
+
+    /**
+     *设定湿度
+     */
+    private Integer hT;
+
+    /**
+     *加热 1
+     */
+    private Integer htL;
+
+
+
+}

+ 50 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/EggFarm.java

@@ -0,0 +1,50 @@
+package com.huimv.environ.eco.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("egg_farm")
+public class EggFarm implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "code", type = IdType.AUTO)
+    private String code;
+
+    private String address;
+
+    private LocalDateTime createTime;
+
+    private String corporation;
+
+    private Double latitude;
+
+    private Double longitude;
+
+    private String farmType;
+
+    private String province;
+
+    private String name;
+
+    private String id;
+
+
+}

+ 39 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/EggHouse.java

@@ -0,0 +1,39 @@
+package com.huimv.environ.eco.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("egg_house")
+public class EggHouse implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "i", type = IdType.AUTO)
+    private Integer i;
+
+    private String cupId;
+
+    private String protocol;
+
+    private String model;
+
+    private String name;
+
+
+}

+ 14 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/BaseResultEntity.java

@@ -0,0 +1,14 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BaseResultEntity {
+    private String code;
+    private List<HousVo> data;
+    private Double delta;
+
+}

+ 39 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/DataVo.java

@@ -0,0 +1,39 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+
+import lombok.Data;
+
+@Data
+public class DataVo {
+
+    private String ht;
+    private String wdo_ag_3;
+    private String wp;
+    private String qty_re_old;
+    private String f_v;
+    //湿度
+    private String h_r;
+    private String lt;
+    private String wdo_ag_1;
+    private String wdo_ag_2;
+    private String ctn_ag_1;
+    private String ctn_ag_2;
+    private String wp_1;
+    private String wp_2;
+    private String ht_2;
+    private String qty_re;
+    private String ht_3;
+    private String co2;
+    private String t_t;
+    //当前温度
+    private String t_cur;
+    private String age;
+    private String p_cur;
+    private String t_s;
+    private String ht_1;
+    private String f_n;
+    private String wtr_tdy;
+    private String f_lv ;
+    private String ft_do_tal_tdy ;
+
+}

+ 22 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/EggVo.java

@@ -0,0 +1,22 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class EggVo {
+    private double wtrTdy;
+    private double ftDoTalTdy;
+    private Integer i;
+
+    private String uploadTime;
+
+    private String tCur;
+    private String hR;
+
+
+
+
+}

+ 12 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/HistoryEntity.java

@@ -0,0 +1,12 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class HistoryEntity {
+    private Integer code;
+    private Double delta;
+    private List<HistroyOne> data;
+}

+ 11 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/HistroyOne.java

@@ -0,0 +1,11 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+@Data
+public class HistroyOne {
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Long upload_time;
+    private HistroyTwo data;
+}

+ 51 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/HistroyTwo.java

@@ -0,0 +1,51 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+import lombok.Data;
+
+@Data
+public class HistroyTwo {
+    //温度
+    private Double  t_cur;
+    //湿度
+    private Integer  h_r;
+    //T
+    private Double  wtr_tdy;
+    //kg
+    private Double  ft_do_tal_tdy;
+    private Double  co2;
+    //测试
+    private Integer f_n;
+
+
+    /**
+     * 通风量  km3/h
+     */
+    private Integer f_v;
+
+    /**
+     *通风级别
+     */
+    private Integer f_lv;
+
+
+    /**
+     * 体感温度
+     */
+    private Integer t_s;
+
+
+    /**
+     *目标温度
+     */
+    private Integer t_t;
+
+    /**
+     *设定湿度
+     */
+    private Integer h_t;
+
+    /**
+     *加热 1
+     */
+    private Integer ht_l;
+}

+ 18 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/HousVo.java

@@ -0,0 +1,18 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class HousVo {
+    private String i;
+    private String name;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Long ts;
+
+    private DataVo data;
+}

+ 29 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EggDataMapper.java

@@ -0,0 +1,29 @@
+package com.huimv.environ.eco.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.environ.eco.entity.EggData;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.environ.eco.entity.eggvo.EggVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+public interface EggDataMapper extends BaseMapper<EggData> {
+
+    List<EggVo> getAllDay(@Param(Constants.WRAPPER)QueryWrapper<EggData> wrapper);
+
+    List<EggVo> getAllWeek(@Param(Constants.WRAPPER)QueryWrapper<EggData> wrapper);
+
+    List<EggVo> getAllDayFood(@Param(Constants.WRAPPER)QueryWrapper<EggData> wrapper);
+
+    List<EggVo> getAllWeekFood(@Param(Constants.WRAPPER)QueryWrapper<EggData> wrapper);
+}

+ 16 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EggFarmMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.environ.eco.mapper;
+
+import com.huimv.environ.eco.entity.EggFarm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+public interface EggFarmMapper extends BaseMapper<EggFarm> {
+
+}

+ 16 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EggHouseMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.environ.eco.mapper;
+
+import com.huimv.environ.eco.entity.EggHouse;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+public interface EggHouseMapper extends BaseMapper<EggHouse> {
+
+}

+ 26 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IEggDataService.java

@@ -0,0 +1,26 @@
+package com.huimv.environ.eco.service;
+
+import com.huimv.common.utils.Result;
+import com.huimv.environ.eco.entity.EggData;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+public interface IEggDataService extends IService<EggData> {
+
+    Result getAll(Map<String,String> map);
+
+    Result getOneData(Map<String, String> map);
+
+    Result getAllFood(Map<String, String> map);
+
+    Result getOneFood(Map<String, String> map);
+}

+ 16 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IEggFarmService.java

@@ -0,0 +1,16 @@
+package com.huimv.environ.eco.service;
+
+import com.huimv.environ.eco.entity.EggFarm;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+public interface IEggFarmService extends IService<EggFarm> {
+
+}

+ 16 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IEggHouseService.java

@@ -0,0 +1,16 @@
+package com.huimv.environ.eco.service;
+
+import com.huimv.environ.eco.entity.EggHouse;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+public interface IEggHouseService extends IService<EggHouse> {
+
+}

+ 311 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EggDataServiceImpl.java

@@ -0,0 +1,311 @@
+package com.huimv.environ.eco.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.environ.eco.entity.EggData;
+import com.huimv.environ.eco.entity.eggvo.EggVo;
+import com.huimv.environ.eco.mapper.EggDataMapper;
+import com.huimv.environ.eco.service.IEggDataService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jdk.nashorn.internal.ir.LiteralNode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.DecimalFormat;
+import java.util.*;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+@Service
+public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> implements IEggDataService {
+
+    @Autowired
+    private EggDataMapper eggDataMapper;
+
+    @Override
+    public Result getAll(Map<String,String> map) {
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        String type = map.get("type");
+        Date now = new Date();
+        DecimalFormat df = new DecimalFormat("0.00");
+
+
+
+        QueryWrapper<EggData> wrapper = new QueryWrapper<>();
+        //周
+        if (type.equals("1")){
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+
+        }
+        //月
+        else if (type.equals("2")){
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+        }
+        //自定义
+        else if (type.equals("3")){
+
+            wrapper.between("upload_time",startDate,endDate);
+        }
+        //今日
+        else {
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+           List<EggVo> list =  eggDataMapper.getAllDay(wrapper);
+           double maxFood = 0.0;
+           double maxWater = 0.0;
+
+            for (EggVo eggVo : list) {
+                maxFood = Math.max(eggVo.getFtDoTalTdy(), maxFood);
+
+                maxWater = Math.max(eggVo.getWtrTdy(), maxWater);
+            }
+
+
+            Map endMap = new HashMap();
+            endMap.put("list" ,list);
+            endMap.put("maxFood" ,maxFood);
+            endMap.put("maxWater" ,maxWater);
+            return new Result(ResultCode.SUCCESS,endMap);
+        }
+
+        List<EggVo> list =  eggDataMapper.getAllWeek(wrapper);
+        double maxFood = 0.0;
+        double maxWater = 0.0;
+
+        for (EggVo eggVo : list) {
+            maxFood += eggVo.getFtDoTalTdy();
+            maxWater += eggVo.getWtrTdy();
+        }
+
+        Map endMap = new HashMap();
+        endMap.put("list" ,list);
+        endMap.put("maxFood" ,maxFood);
+        endMap.put("maxWater" ,maxWater);
+
+
+        return new Result(ResultCode.SUCCESS,endMap);
+    }
+
+    @Override
+    public Result getOneData(Map<String, String> map) {
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        String i = map.get("i");
+        String type = map.get("type");
+        Date now = new Date();
+        DecimalFormat df = new DecimalFormat("0.00");
+        if (StringUtils.isBlank(i)){
+            i ="1";
+        }
+        QueryWrapper<EggData> wrapper = new QueryWrapper<>();
+        wrapper.eq("i",i);
+        //周
+        if (type.equals("1")){
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+
+        }
+        //月
+        else if (type.equals("2")){
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+        }
+        //自定义
+        else if (type.equals("3")){
+
+            wrapper.between("upload_time",startDate,endDate);
+        }
+        //今日
+        else {
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            List<EggVo> list =  eggDataMapper.getAllDay(wrapper);
+            double maxFood = 0.0;
+            double maxWater = 0.0;
+
+            for (EggVo eggVo : list) {
+                maxFood = Math.max(eggVo.getFtDoTalTdy(), maxFood);
+
+                maxWater = Math.max(eggVo.getWtrTdy(), maxWater);
+            }
+
+
+            Map endMap = new HashMap();
+            endMap.put("list" ,list);
+            endMap.put("maxFood" ,df.format(maxFood));
+            endMap.put("maxWater" ,df.format(maxWater));
+            return new Result(ResultCode.SUCCESS,endMap);
+        }
+
+        List<EggVo> list =  eggDataMapper.getAllWeek(wrapper);
+        double maxFood = 0.0;
+        double maxWater = 0.0;
+
+        for (EggVo eggVo : list) {
+            maxFood += eggVo.getFtDoTalTdy();
+            maxWater += eggVo.getWtrTdy();
+        }
+
+        Map endMap = new HashMap();
+        endMap.put("list" ,list);
+        endMap.put("maxFood" ,df.format(maxFood));
+        endMap.put("maxWater" ,df.format(maxWater));
+
+
+        return new Result(ResultCode.SUCCESS,endMap);
+    }
+
+    @Override
+    public Result getAllFood(Map<String, String> map) {
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        String type = map.get("type");
+        Date now = new Date();
+        DecimalFormat df = new DecimalFormat("0.00");
+
+
+
+        QueryWrapper<EggData> wrapper = new QueryWrapper<>();
+        //周
+        if (type.equals("1")){
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+
+        }
+        //月
+        else if (type.equals("2")){
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+        }
+        //自定义
+        else if (type.equals("3")){
+
+            wrapper.between("upload_time",startDate,endDate);
+        }
+        //今日
+        else {
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            List<EggVo> list =  eggDataMapper.getAllDayFood(wrapper);
+            double maxFood = 0.0;
+            double maxWater = 0.0;
+
+            for (EggVo eggVo : list) {
+                maxFood = Math.max(eggVo.getFtDoTalTdy(), maxFood);
+
+                maxWater = Math.max(eggVo.getWtrTdy(), maxWater);
+            }
+
+
+            Map endMap = new HashMap();
+            endMap.put("list" ,list);
+            endMap.put("maxFood" ,df.format(maxFood));
+            endMap.put("maxWater" ,df.format(maxWater));
+            return new Result(ResultCode.SUCCESS,endMap);
+        }
+
+        List<EggVo> list =  eggDataMapper.getAllWeekFood(wrapper);
+        double maxFood = 0.0;
+        double maxWater = 0.0;
+
+        for (EggVo eggVo : list) {
+            maxFood += eggVo.getFtDoTalTdy();
+            maxWater += eggVo.getWtrTdy();
+        }
+        Set<String> set = new HashSet();
+        for (EggVo eggVo : list) {
+            set.add(eggVo.getUploadTime());
+        }
+        List endList = new ArrayList();
+        for (String o : set) {
+            Map map1 = new HashMap();
+
+            for (EggVo eggVo : list) {
+                if (eggVo.getUploadTime().equals(o)){
+                    map1.put("value"+eggVo.getI(),eggVo.getFtDoTalTdy());
+                }
+            }
+            map1.put("updateTime",o);
+            endList.add(map1);
+        }
+
+        Map endMap = new HashMap();
+        endMap.put("list" ,endList);
+
+        endMap.put("maxFood" ,df.format(maxFood));
+        endMap.put("maxWater" ,df.format(maxWater));
+
+
+        return new Result(ResultCode.SUCCESS,endMap);
+    }
+
+    @Override
+    public Result getOneFood(Map<String, String> map) {
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        String i = map.get("i");
+        String type = map.get("type");
+        Date now = new Date();
+        DecimalFormat df = new DecimalFormat("0.00");
+        if (StringUtils.isBlank(i)){
+            i ="1";
+        }
+        QueryWrapper<EggData> wrapper = new QueryWrapper<>();
+        wrapper.eq("i",i);
+        //周
+        if (type.equals("1")){
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+
+        }
+        //月
+        else if (type.equals("2")){
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+        }
+        //自定义
+        else if (type.equals("3")){
+
+            wrapper.between("upload_time",startDate,endDate);
+        }
+        //今日
+        else {
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            List<EggVo> list =  eggDataMapper.getAllDayFood(wrapper);
+            double maxFood = 0.0;
+            double maxWater = 0.0;
+
+            for (EggVo eggVo : list) {
+                maxFood = Math.max(eggVo.getFtDoTalTdy(), maxFood);
+
+                maxWater = Math.max(eggVo.getWtrTdy(), maxWater);
+            }
+
+
+            Map endMap = new HashMap();
+            endMap.put("list" ,list);
+            endMap.put("maxFood" ,df.format(maxFood));
+            endMap.put("maxWater" ,df.format(maxWater));
+            return new Result(ResultCode.SUCCESS,endMap);
+        }
+
+        List<EggVo> list =  eggDataMapper.getAllWeekFood(wrapper);
+        double maxFood = 0.0;
+        double maxWater = 0.0;
+
+        for (EggVo eggVo : list) {
+            maxFood += eggVo.getFtDoTalTdy();
+            maxWater += eggVo.getWtrTdy();
+        }
+
+        Map endMap = new HashMap();
+        endMap.put("list" ,list);
+        endMap.put("maxFood" ,df.format(maxFood));
+        endMap.put("maxWater" ,df.format(maxWater));
+
+
+        return new Result(ResultCode.SUCCESS,endMap);
+    }
+
+}

+ 20 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EggFarmServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.environ.eco.service.impl;
+
+import com.huimv.environ.eco.entity.EggFarm;
+import com.huimv.environ.eco.mapper.EggFarmMapper;
+import com.huimv.environ.eco.service.IEggFarmService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+@Service
+public class EggFarmServiceImpl extends ServiceImpl<EggFarmMapper, EggFarm> implements IEggFarmService {
+
+}

+ 20 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EggHouseServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.environ.eco.service.impl;
+
+import com.huimv.environ.eco.entity.EggHouse;
+import com.huimv.environ.eco.mapper.EggHouseMapper;
+import com.huimv.environ.eco.service.IEggHouseService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2022-06-22
+ */
+@Service
+public class EggHouseServiceImpl extends ServiceImpl<EggHouseMapper, EggHouse> implements IEggHouseService {
+
+}

+ 92 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/timer/EggTimer.java

@@ -0,0 +1,92 @@
+package com.huimv.environ.eco.timer;
+
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.json.JSONObject;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.environ.eco.entity.EggData;
+import com.huimv.environ.eco.entity.EggHouse;
+import com.huimv.environ.eco.entity.eggvo.HistoryEntity;
+import com.huimv.environ.eco.entity.eggvo.HistroyOne;
+import com.huimv.environ.eco.entity.eggvo.HistroyTwo;
+import com.huimv.environ.eco.service.IEggDataService;
+import com.huimv.environ.eco.service.IEggHouseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class EggTimer {
+    private static  final  String BASE_URL= "https://iot1.bigherdsman.com/api/v2/";
+    private static  final  String TOKEN= "72438b180e9168fe90db126e3310cd0b20a7196d";
+
+    private static  final  String HISTORY_LIST= "history/list/?code=";
+    private static final String FARM_CODE = "2022011710";
+
+    @Autowired
+    private IEggDataService eggDataService;
+    @Autowired
+    private IEggHouseService eggHouseService;
+
+
+    @Scheduled(cron = "0 0/10 * * * ? ")
+    public void saveEggData (){
+        System.out.println("test");
+        RestTemplate restTemplate = new RestTemplate();
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Authorization","Token "+TOKEN);
+        HttpEntity<JSONObject> httpEntity = new HttpEntity<>(headers);
+
+        List<EggHouse> list = eggHouseService.list();
+        Date date= new Date();
+        long end = date.getTime();
+        DateTime dateTime = DateUtil.offsetMinute(date, -10);
+        long start = dateTime.getTime();
+
+        for (EggHouse eggHouse : list) {
+            Integer i = eggHouse.getI();
+            ResponseEntity<HistoryEntity> forEntity = restTemplate.exchange(BASE_URL + HISTORY_LIST+FARM_CODE+"&i="+i+"&start="+start+"&end="+end, HttpMethod.GET, httpEntity,HistoryEntity.class );
+
+            List<HistroyOne> data = forEntity.getBody().getData();
+            for (HistroyOne datum : data) {
+                Long uploadTime = datum.getUpload_time();
+                HistroyTwo data1 = datum.getData();
+
+                EggData eggData = new EggData();
+                eggData.setCo2(data1.getCo2());
+                eggData.setFtDoTalTdy(data1.getFt_do_tal_tdy());
+                eggData.setHR(data1.getH_r());
+                eggData.setI(i);
+                eggData.setTCur(data1.getT_cur());
+                eggData.setWtrTdy(data1.getWtr_tdy());
+                eggData.setUploadTime( new Date(uploadTime));
+
+
+                eggData.setFN( data1.getF_n());
+                eggData.setFLv( data1.getF_lv());
+                eggData.setFV(data1.getF_v() );
+                eggData.setTS(data1.getT_s());
+                eggData.setTT( data1.getT_t());
+                eggData.setHT( data1.getH_t());
+                eggData.setHtL( data1.getHt_l());
+
+
+                eggDataService.save(eggData);
+            }
+
+        }
+
+    }
+
+
+}

+ 2 - 2
huimv-farm-environ/src/main/resources/application.properties

@@ -1,6 +1,6 @@
-#spring.profiles.active=dev
+spring.profiles.active=dev
 #spring.profiles.active=prod3
 #spring.profiles.active=demo
-spring.profiles.active=prod
+#spring.profiles.active=prod
 #spring.profiles.active=prod2
 

+ 45 - 0
huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/EggDataMapper.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.environ.eco.mapper.EggDataMapper">
+
+    <select id="getAllDay" resultType="com.huimv.environ.eco.entity.eggvo.EggVo">
+
+     SELECT i , ROUND(SUM(a.wtr) ,2)wtrTdy  , ROUND(SUM(a.ft),2) ftDoTalTdy ,a.upload_time ,a.t_cur tCur,a.h_r hR FROM (
+        SELECT
+        i , DATE_FORMAT(upload_time,'%Y-%m-%d %H')  upload_time, MAX(wtr_tdy) wtr,MAX(ft_do_tal_tdy) ft, t_cur, h_r
+
+        FROM `egg_data`
+   ${ew.customSqlSegment}
+ GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d %H')  ,i) a GROUP BY  a.upload_time
+
+    </select>
+    <select id="getAllWeek" resultType="com.huimv.environ.eco.entity.eggvo.EggVo">
+
+     SELECT i ,ROUND(SUM(a.wtr) ,2)wtrTdy  , ROUND(SUM(a.ft),2)  ftDoTalTdy ,a.upload_time  ,a.t_cur tCur,a.h_r hR  FROM (
+        SELECT
+        i , DATE_FORMAT(upload_time,'%Y-%m-%d')  upload_time, MAX(wtr_tdy) wtr,MAX(ft_do_tal_tdy) ft,t_cur, h_r
+
+        FROM `egg_data`
+
+          ${ew.customSqlSegment}
+         GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d')  ,i) a GROUP BY  a.upload_time
+
+    </select>
+    <select id="getAllDayFood" resultType="com.huimv.environ.eco.entity.eggvo.EggVo">
+           SELECT
+        i , DATE_FORMAT(upload_time,'%Y-%m-%d %H')  uploadTime,ROUND(MAX(wtr_tdy),2) wtrTdy,ROUND(MAX(ft_do_tal_tdy),2) ftDoTalTdy
+
+        FROM `egg_data`
+   ${ew.customSqlSegment}
+ GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d %H')  ,i
+    </select>
+    <select id="getAllWeekFood" resultType="com.huimv.environ.eco.entity.eggvo.EggVo">
+          SELECT
+        i , DATE_FORMAT(upload_time,'%Y-%m-%d')  uploadTime,ROUND(MAX(wtr_tdy),2) wtrTdy,ROUND(MAX(ft_do_tal_tdy),2) ftDoTalTdy
+
+        FROM `egg_data`
+
+          ${ew.customSqlSegment}
+         GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d')  ,i
+    </select>
+</mapper>

+ 5 - 0
huimv-farm-produce/pom.xml

@@ -47,6 +47,11 @@
             <artifactId>jjwt</artifactId>
             <version>0.9.1</version>
         </dependency>
+        <dependency>
+            <groupId>com.huimv</groupId>
+            <artifactId>huimv-common</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
 <!--        &lt;!&ndash;CloseableHttpClient&ndash;&gt;-->
 <!--        <dependency>-->
 <!--            <groupId>org.apache.httpcomponents</groupId>-->

+ 12 - 0
huimv-farm-produce/src/main/java/com/huimv/produce/warning/timer/OneWarnig.java

@@ -0,0 +1,12 @@
+package com.huimv.produce.warning.timer;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OneWarnig {
+    private Integer code;
+
+    private List<TwoWarning> data ;
+}

+ 129 - 0
huimv-farm-produce/src/main/java/com/huimv/produce/warning/timer/SavWarning.java

@@ -0,0 +1,129 @@
+package com.huimv.produce.warning.timer;
+
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.produce.warning.entity.BaseWarningInfo;
+import com.huimv.produce.warning.service.IBaseWarningInfoService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+//@RestController
+//@RequestMapping(value = "/test")
+@Component
+public class SavWarning {
+    private static  final  String BASE_URL= "https://iot1.bigherdsman.com/api/v2/";
+    private static  final  String TOKEN= "72438b180e9168fe90db126e3310cd0b20a7196d";
+
+    private static  final  String HISTORY_LIST= "record/alarm?code=";
+    private static final String FARM_CODE = "2022011710";
+
+
+    @Autowired
+    private IBaseWarningInfoService baseWarningInfoService;
+
+    //    @GetMapping("/test")
+    @Scheduled(cron = "0 0/10 * * * ? ")
+    public void saveEggData () throws ParseException {
+        RestTemplate restTemplate = new RestTemplate();
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Authorization","Token "+TOKEN);
+        HttpEntity<JSONObject> httpEntity = new HttpEntity<>(headers);
+
+        Date date= new Date();
+        long end = date.getTime();
+//        DateTime dateTime = DateUtil.offsetMinute(date, -10);
+//        long start = dateTime.getTime();
+        long start =  DateUtil.offsetMonth(date, -12).getTime();
+
+        ResponseEntity<OneWarnig> exchange = restTemplate.exchange(BASE_URL + HISTORY_LIST + FARM_CODE + "&start=" + start + "&end=" + end, HttpMethod.GET, httpEntity, OneWarnig.class);
+
+        OneWarnig body = exchange.getBody();
+        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        System.out.println(body);
+        for (TwoWarning datum : body.getData()) {
+
+            String i = datum.getI();
+            String startTime = datum.getStart_time();
+            String endTime = datum.getEnd_time();
+            if(StringUtils.isNotBlank(startTime)){
+
+                BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
+                baseWarningInfo.setFarmId(1);
+                baseWarningInfo.setLevel(1);
+                baseWarningInfo.setLevelName("一级报警");
+                baseWarningInfo.setUploadTime(new Date());
+
+                baseWarningInfo.setWarningTime(new Date(Long.parseLong(datum.getStart_time()+"000")));
+            //高温报警
+            if ("a_t_h".equals(datum.getName())){
+                if (StringUtils.isNotBlank(startTime) && startTime.length() > 5){
+                    baseWarningInfo.setMsg(i+"号舍高温预警,报警时段:"+sf.format(new Date(Long.parseLong(startTime+"000")))+"至"+sf.format(new Date(Long.parseLong(endTime+"000"))));
+                }
+
+                baseWarningInfo.setAlarmType(7);
+                baseWarningInfo.setWarningName("高温报警");
+                baseWarningInfoService.save(baseWarningInfo);
+            }
+
+            //低温报警
+            if ("a_t_l".equals(datum.getName())){
+                if (StringUtils.isNotBlank(startTime) && startTime.length() > 5){
+                    baseWarningInfo.setMsg(i+"号舍低温预警,报警时段:"+sf.format(new Date(Long.parseLong(startTime+"000")))+"至"+sf.format(new Date(Long.parseLong(endTime+"000"))));
+                }
+                baseWarningInfo.setAlarmType(7);
+                baseWarningInfo.setWarningName("低温报警");
+                baseWarningInfoService.save(baseWarningInfo);
+            }
+
+            //高湿度
+            if ("a_h_h".equals(datum.getName())){
+                if (StringUtils.isNotBlank(startTime) && startTime.length() > 5){
+                    baseWarningInfo.setMsg(i+"号舍高湿度预警,报警时段:"+sf.format(new Date(Long.parseLong(startTime+"000")))+"至"+sf.format(new Date(Long.parseLong(endTime+"000"))));
+                }
+                baseWarningInfo.setAlarmType(7);
+                baseWarningInfo.setWarningName("高湿度报警");
+                baseWarningInfoService.save(baseWarningInfo);
+            }
+
+            //低湿度
+            if ("a_h_l".equals(datum.getName())){
+                if (StringUtils.isNotBlank(startTime) && startTime.length() > 5){
+                    baseWarningInfo.setMsg(i+"号舍低湿度预警,报警时段:"+sf.format(new Date(Long.parseLong(startTime+"000")))+"至"+sf.format(new Date(Long.parseLong(endTime+"000"))));
+                }
+                baseWarningInfo.setAlarmType(7);
+                baseWarningInfo.setWarningName("低湿度报警");
+                baseWarningInfoService.save(baseWarningInfo);
+            }
+
+            }
+
+        }
+
+
+    }
+
+    public static void main(String[] args) {
+        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String str = "1656737608";
+        System.out.println(sf.format(new Date(Long.parseLong(str))));
+
+    }
+
+}

+ 18 - 0
huimv-farm-produce/src/main/java/com/huimv/produce/warning/timer/TwoWarning.java

@@ -0,0 +1,18 @@
+package com.huimv.produce.warning.timer;
+
+import lombok.Data;
+
+import java.util.Map;
+
+
+@Data
+public class TwoWarning {
+
+    private  String code;
+    private  String end_time;
+    private  String i;
+    private  Integer id;
+    private  Map info;
+    private  String name;
+    private  String start_time;
+}

BIN
huimv-farm-video/huimv-farm-video-0.0.1-SNAPSHOT-execute.jar


+ 21 - 3
huimv-farm-video/pom.xml

@@ -37,12 +37,30 @@
 			<groupId>com.huimv</groupId>
 			<artifactId>huimv-common</artifactId>
 			<version>0.0.1-SNAPSHOT</version>
-			<scope>system</scope>
-<!--			<systemPath>${basedir}/lib/huimv-common-0.0.1-SNAPSHOT.jar</systemPath>-->
-			<systemPath>${project.basedir}/lib/huimv-common-0.0.1-SNAPSHOT.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>commons-httpclient</groupId>
+			<artifactId>commons-httpclient</artifactId>
+			<version>3.1</version>
 		</dependency>
 
 		<dependency>
+			<groupId>org.apache.httpcomponents</groupId>
+			<artifactId>httpcore</artifactId>
+			<version>4.4.4</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.httpcomponents</groupId>
+			<artifactId>httpmime</artifactId>
+			<version>4.5.12</version>
+		</dependency>
+
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>2.8.0</version>
+		</dependency>
+		<dependency>
 			<groupId>org.apache.commons</groupId>
 			<artifactId>commons-lang3</artifactId>
 			<version>3.7</version>

+ 1 - 1
huimv-farm-video/src/main/java/com/huimv/video/HuimvVideoApplication.java

@@ -22,6 +22,6 @@ import org.springframework.scheduling.annotation.EnableScheduling;
 @Import(InterceptorConfig.class)
 public class HuimvVideoApplication {
     public static void main(String[] args) {
-        ApplicationContext applicationContext = SpringApplication.run(HuimvVideoApplication.class, args);
+        SpringApplication.run(HuimvVideoApplication.class, args);
     }
 }

+ 2 - 0
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/BaseController/SysTelecomController.java

@@ -5,6 +5,7 @@ import com.huimv.common.utils.Result;
 import com.huimv.video.dhicc.entity.SysTelecom;
 import com.huimv.video.dhicc.entity.TelecomDto;
 import com.huimv.video.dhicc.service.ISysTelecomService;
+import net.sf.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -58,4 +59,5 @@ public class SysTelecomController {
         return telecomService.listByRoom(map);
     }
 
+
 }

Plik diff jest za duży
+ 150 - 0
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ClientController/ClientAllVideoPlayBack.java


+ 1 - 1
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ClientController/ClientXixiaoController.java

@@ -22,7 +22,7 @@ public class ClientXixiaoController {
      * 洗消数据查询的接口,三个洗消的摄像头是固定的
      *
      * @param params
-     * @return
+     * @return   183.148.150.65
      * @throws ClientException
      */
     @RequestMapping("/accident_record_xixiao")

Plik diff jest za duży
+ 6 - 6
huimv-farm-video/src/main/java/com/huimv/video/dhicc/icc/CommonConstant.java


+ 1 - 1
huimv-farm-video/src/main/java/com/huimv/video/dhicc/icc/IccUtil.java

@@ -8,7 +8,7 @@ import com.dahuatech.icc.oauth.profile.IccProfile;
 
 public class IccUtil {
     //获取token
-    public String getToken() throws ClientException {
+    public static  String getToken() throws ClientException {
         IClient iClient = new DefaultClient();
         //IccProfile 授权类型,根据你的初始化使用的password,client_credentials
         IccTokenResponse.IccToken token = iClient.getAccessToken(IccProfile.grantType);

+ 2 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/entity/Camera.java

@@ -87,6 +87,8 @@ public class Camera extends Model {
 
 
     private Integer roomId;
+    //icc通道
+    private String iccChannel;
 
 
 }

+ 5 - 4
huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraServiceImpl.java

@@ -63,6 +63,10 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
 
         QueryWrapper<Camera> wrapper = new QueryWrapper<>();
 
+        if (StringUtils.isNotBlank(strchStr)) {
+            wrapper.like("camera_name", strchStr)
+                    .or().like("camera_ip", strchStr);
+        }
         if (farmId != null) {
             wrapper.eq("farm_id", farmId);
         }
@@ -74,10 +78,7 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
         if (brandId != null) {
             wrapper.eq("brand_id", brandId);
         }
-        if (StringUtils.isNotBlank(strchStr)) {
-            wrapper.like("camera_name", strchStr)
-                    .or().like("camera_ip", strchStr);
-        }
+
         if (sort == null) {
             wrapper.orderByDesc("id");
         } else if (sort == 1) {

+ 2 - 2
huimv-farm-video/src/main/resources/application.properties

@@ -1,5 +1,5 @@
-#spring.profiles.active=dev
+spring.profiles.active=dev
 #spring.profiles.active=prod3
 #spring.profiles.active=demo
-spring.profiles.active=prod
+#spring.profiles.active=prod
 #spring.profiles.active=prod2

+ 22 - 22
huimv-farm-video/src/main/resources/config/iccSdk.properties

@@ -1,30 +1,30 @@
-## host
-#icc.sdk.host=39.171.45.196:447
-## 客户端模式
-#icc.sdk.clientId=huimv
-#icc.sdk.clientSecret=6df1106c-d855-4861-a774-71bf8eea0d7d
-## 1653d6c9-c611-4827-ac87-0bfd48deadd4
-## 密码校验模式
-#icc.sdk.pwdClientId=huimv
-#icc.sdk.pwdClientSecret=6df1106c-d855-4861-a774-71bf8eea0d7d
-#icc.sdk.username=system
-#icc.sdk.password=hmkj6688
-## 使用授权类型password,client_credentials
-#icc.sdk.grantType=password
-
-#青莲
 # host
-icc.sdk.host=36.26.62.70:447
+icc.sdk.host=39.171.45.196:447
 # 客户端模式
 icc.sdk.clientId=huimv
-icc.sdk.clientSecret=1653d6c9-c611-4827-ac87-0bfd48deadd4
+icc.sdk.clientSecret=6df1106c-d855-4861-a774-71bf8eea0d7d
 # 1653d6c9-c611-4827-ac87-0bfd48deadd4
 # 密码校验模式
 icc.sdk.pwdClientId=huimv
-icc.sdk.pwdClientSecret=1653d6c9-c611-4827-ac87-0bfd48deadd4
-#icc.sdk.username=system
-#icc.sdk.password=hmkj6688
+icc.sdk.pwdClientSecret=6df1106c-d855-4861-a774-71bf8eea0d7d
 icc.sdk.username=system
-icc.sdk.password=admin123.
+icc.sdk.password=hmkj6688
 # 使用授权类型password,client_credentials
-icc.sdk.grantType=password
+icc.sdk.grantType=password
+
+##青莲
+## host
+#icc.sdk.host=36.26.62.70:447
+## 客户端模式
+#icc.sdk.clientId=huimv
+#icc.sdk.clientSecret=1653d6c9-c611-4827-ac87-0bfd48deadd4
+## 1653d6c9-c611-4827-ac87-0bfd48deadd4
+## 密码校验模式
+#icc.sdk.pwdClientId=huimv
+#icc.sdk.pwdClientSecret=1653d6c9-c611-4827-ac87-0bfd48deadd4
+##icc.sdk.username=system
+##icc.sdk.password=hmkj6688
+#icc.sdk.username=system
+#icc.sdk.password=admin123.
+## 使用授权类型password,client_credentials
+#icc.sdk.grantType=password