南昌市物联网技防平台-后台
zengh
2021-03-10 fa9ffa9012d7b1df7692bb99e71be6592f48cd4b
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
@@ -32,9 +32,6 @@
   @Value("${picture.addUrl}")
   private String picAddUrl;
   @Value("${picture.pre}")
   private String picPre;
   /**
    * 新增体温数据
@@ -45,6 +42,7 @@
   public void save(String body) {
      //1.截取信息
      int i = body.indexOf("{");
      String host = body.substring(body.indexOf("192."), body.indexOf("Accept-Encoding"));
      //2.从 {  处开始截取
      int length = body.length();
      //3.截取,由于获取数据时,} 被去除,需要加上
@@ -52,14 +50,20 @@
      System.out.println("dataBody = " + dataBody);
      //4.数据转换
      Map<String,Object> data = (Map<String, Object>) JSONObject.parse(dataBody);
      System.out.println("data = " + data);
      //5.创建体温数据对象
      BladeAnimalHeat bladeAnimalHeat = new BladeAnimalHeat();
      //6.取出数据,封装数据到对象
      String method = data.get("method").toString();
      if (method.contains("infrared_aiom_picture")){
         bladeAnimalHeat.setMethod(0);
      }
      bladeAnimalHeat.setSerialno(data.get("serialno").toString());
      bladeAnimalHeat.setIp(host);
      String picture = data.get("picture").toString();
      //将二进制原始图片转换成图片
      ImageUtil.base64StringToImage(picture);
      //bladeAnimalHeat.setPicture(data.get("picture").toString());  //暂时不存入
      String imageUrl = ImageUtil.base64StringToImage(picture);
      //存入图片地址url
      bladeAnimalHeat.setPicture(picAddUrl+imageUrl);
      String temp_red =data.get("temp_red").toString();
      String[] temRedArr = temp_red.substring(1,temp_red.length()-1).split(",");
      if (temRedArr.length>1){
@@ -90,7 +94,7 @@
    * @return
    */
   @Override
   public List<StatisVo> getAnimalStatis(AnimalHeatVo animalHeatVo) {
   public List<Map<String, Object>> getAnimalStatis(AnimalHeatVo animalHeatVo) {
      if(null!= animalHeatVo.getStatus()){
         //查询当天的统计数据
         if (animalHeatVo.getStatus()==0){
@@ -115,4 +119,15 @@
   public IPage<BladeAnimalHeat> selectAnimalHeatPage(IPage<BladeAnimalHeat> page, AnimalHeatVo animalHeatVo) {
      return page.setRecords(baseMapper.selectAnimalHeatPageList(page, animalHeatVo));
   }
   /**
    * 查询本周每天的体温数据数量
    * @return
    */
   @Override
   public List<Map<String, Integer>> selWeekDayAnimalStatis() {
      List<Map<String,Integer>> selWeekDayAnimalStatis;
      return baseMapper.selWeekDayAnimalStatis();
   }
}