From 83f08194fb16c5feea1b05d682120fe76d599775 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 05 Mar 2021 17:45:41 +0800
Subject: [PATCH] 体温数据接口
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/controller/AnimalHeatController.java | 54 ++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServer.java | 20 -
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml | 34 ++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/AnimalHeatVo.java | 28 ++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java | 191 +++++++--------
blade-service/blade-jfpts/src/main/resources/application.properties | 2
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java | 35 ++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/StatisVo.java | 19 +
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServerHandler.java | 34 --
blade-service/blade-jfpts/src/main/resources/application-dev.yml | 2
/dev/null | 56 ----
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java | 35 ++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/JfptApplication.java | 4
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/entity/BladeAnimalHeat.java | 12
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/util/ImageUtil.java | 55 ++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/jingdan/mapper/JingdanMapper.xml | 1
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java | 118 +++++++++
17 files changed, 499 insertions(+), 201 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/JfptApplication.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/JfptApplication.java
index 9aa3a84..f6d01ba 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/JfptApplication.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/JfptApplication.java
@@ -18,9 +18,7 @@
import org.springblade.core.cloud.feign.EnableBladeFeign;
import org.springblade.core.launch.BladeApplication;
-import org.springblade.jfpt.nettyServer.Server;
import org.springblade.jfpt.nettyTcpServer.TcpServer;
-import org.springblade.jfpt.nettyUdpServer.server.UdpServer;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -41,7 +39,7 @@
@Override
public void run(String... args) throws Exception {
//Server server=new Server(8088);
- TcpServer server=new TcpServer(8088);
+ TcpServer server=new TcpServer(8099); //测试用
//UdpServer udpServer=new UdpServer(8099);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/controller/AnimalHeatController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/controller/AnimalHeatController.java
new file mode 100644
index 0000000..87478af
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/controller/AnimalHeatController.java
@@ -0,0 +1,54 @@
+package org.springblade.jfpt.animalheat.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat;
+import org.springblade.jfpt.animalheat.service.AnimalHeatService;
+import org.springblade.jfpt.animalheat.vo.AnimalHeatVo;
+import org.springblade.jfpt.animalheat.vo.StatisVo;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 体温监测控制层
+ * @time 2021-2-25
+ */
+
+@RestController
+@RequestMapping("animalHeat/animalHeat")
+@AllArgsConstructor
+public class AnimalHeatController {
+
+ private final AnimalHeatService animalHeatService;
+
+ /**
+ * 获取体温数据统计
+ * @param animalHeatVo 条件参数 开始时间,结束时间
+ * @return
+ */
+ @GetMapping("/getAnimalStatis")
+ public List<StatisVo> getAnimalStatis(AnimalHeatVo animalHeatVo){
+ return animalHeatService.getAnimalStatis(animalHeatVo);
+ }
+
+
+ /**
+ * 体温数据的分页数据
+ * @param animalHeatVo 查询条件
+ * @param query 查询页码
+ * @return
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ public R<IPage<BladeAnimalHeat>> page(AnimalHeatVo animalHeatVo, Query query) {
+ return R.data(animalHeatService.selectAnimalHeatPage(Condition.getPage(query), animalHeatVo));
+ }
+
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/entity/BladeAnimalHeat.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/entity/BladeAnimalHeat.java
similarity index 66%
rename from blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/entity/BladeAnimalHeat.java
rename to blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/entity/BladeAnimalHeat.java
index b7efffd..854e91e 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/entity/BladeAnimalHeat.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/entity/BladeAnimalHeat.java
@@ -1,4 +1,4 @@
-package org.springblade.jfpt.nettyUdpServer.entity;
+package org.springblade.jfpt.animalheat.entity;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -24,7 +24,7 @@
@TableId(value = "id", type = IdType.AUTO)
private Integer id;// bigint(20) NOT NULL COMMENT '主键',
- //private Integer method;// int(1) NOT NULL COMMENT '方法名: 0 表示 infrared_aiom_picture 图片数据, 1 表示 engine_echo 心跳包 ',
+ private Integer method;// int(1) NOT NULL COMMENT '方法名: 0 表示 infrared_aiom_picture 图片数据, 1 表示 engine_echo 心跳包 ',
private String ip;// varchar(63) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备IP地址',
@@ -36,13 +36,15 @@
@TableField("temp_red")
private Float tempRed;// float(4,2) DEFAULT NULL COMMENT '当前人员的温度',
- @TableField("person_rect")
- private String[] personRect;// varchar(63) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '人脸位置二位数组,[left,top,right,bottom]',
+ @TableField(value = "person_rect")
+ private String personRect;// varchar(63) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '人脸位置二位数组,[left,top,right,bottom]',
@TableField("person_rect_red")
- private Integer[] personRectRed;// varchar(63) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '红外人脸位置二位数组,[left,top,right,bottom]',
+ private String personRectRed;// varchar(63) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '红外人脸位置二位数组,[left,top,right,bottom]',
@TableField("create_time")
private Date createTime;// datetime DEFAULT NULL COMMENT '创建时间',
+ private Integer status;//状态 1为高温 0为正常 ,以37度为标准,大于37度为高温
+
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
new file mode 100644
index 0000000..c426ff4
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
@@ -0,0 +1,35 @@
+package org.springblade.jfpt.animalheat.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat;
+import org.springblade.jfpt.animalheat.vo.AnimalHeatVo;
+import org.springblade.jfpt.animalheat.vo.StatisVo;
+
+import java.util.List;
+
+/**
+ * mapper 映射层
+ *
+ */
+public interface AnimalHeatMapper extends BaseMapper<BladeAnimalHeat> {
+ /**
+ * 获取体温数据统计 --当天
+ * @return
+ */
+ List<StatisVo> getAnimalStatis();
+
+ /**
+ * 获取体温数据统计 --本周
+ * @return
+ */
+ List<StatisVo> getAnimalStatisWeek();
+
+ /**
+ * 体温数据的分页数据
+ * @param animalHeatVo 查询条件
+ * @param page 查询页码
+ * @return
+ */
+ List<BladeAnimalHeat> selectAnimalHeatPageList(IPage<BladeAnimalHeat> page, AnimalHeatVo animalHeatVo);
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
new file mode 100644
index 0000000..a899abe
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
@@ -0,0 +1,34 @@
+<?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="org.springblade.jfpt.animalheat.mapper.AnimalHeatMapper">
+
+ <!--查询当天体温数据统计-->
+ <select id="getAnimalStatis" resultType="org.springblade.jfpt.animalheat.vo.StatisVo">
+ SELECT 1 `status`,count(`status`) number FROM `blade_animal_heat` where
+ TO_DAYS(create_time)=TO_DAYS(now()) and `status`=1
+ UNION
+ SELECT 0 `status`,count(`status`) number FROM `blade_animal_heat` where
+ TO_DAYS(create_time)=TO_DAYS(now()) and `status`=0
+ </select>
+
+ <!--获取本周的体温统计数据-->
+ <select id="getAnimalStatisWeek" resultType="org.springblade.jfpt.animalheat.vo.StatisVo">
+ SELECT 1 `status`,count(`status`) number FROM `blade_animal_heat` where
+ YEARWEEK(date_format(create_time,'%Y-%m-%d')) = YEARWEEK(now()) and `status`=1
+ UNION
+ SELECT 0 `status`,count(`status`) number FROM `blade_animal_heat` where
+ YEARWEEK(date_format(create_time,'%Y-%m-%d')) = YEARWEEK(now()) and `status`=0
+ </select>
+
+ <select id="selectAnimalHeatPageList" resultType="org.springblade.jfpt.animalheat.entity.BladeAnimalHeat">
+ SELECT * FROM blade_animal_heat
+ <if test="animalHeatVo.begTime!=null and animalHeatVo.begTime!=''">
+ and create_time >=#{animalHeatVo.begTime}
+ </if>
+ <if test="animalHeatVo.endTime!=null and animalHeatVo.endTime!=''">
+ and create_time <=#{animalHeatVo.endTime}
+ </if>
+ ORDER BY create_time asc
+ </select>
+
+</mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
new file mode 100644
index 0000000..cadaa15
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
@@ -0,0 +1,35 @@
+package org.springblade.jfpt.animalheat.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat;
+import org.springblade.jfpt.animalheat.vo.AnimalHeatVo;
+import org.springblade.jfpt.animalheat.vo.StatisVo;
+
+import java.util.List;
+
+/**
+ * 体温监测服务层接口层
+ */
+public interface AnimalHeatService extends IService<BladeAnimalHeat> {
+ /**
+ * 插入体温数据
+ * @param body 温度数据
+ */
+ void save(String body);
+
+ /**
+ * 获取体温数据统计
+ * @param animalHeatVo 条件参数 开始时间,结束时间
+ * @return
+ */
+ List<StatisVo> getAnimalStatis(AnimalHeatVo animalHeatVo);
+
+ /**
+ * 体温数据的分页数据
+ * @param animalHeatVo 查询条件
+ * @param page 查询页码
+ * @return
+ */
+ IPage<BladeAnimalHeat> selectAnimalHeatPage(IPage<BladeAnimalHeat> page, AnimalHeatVo animalHeatVo);
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
new file mode 100644
index 0000000..0bfa7e9
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
@@ -0,0 +1,118 @@
+package org.springblade.jfpt.animalheat.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat;
+import org.springblade.jfpt.animalheat.mapper.AnimalHeatMapper;
+import org.springblade.jfpt.animalheat.service.AnimalHeatService;
+import org.springblade.jfpt.animalheat.util.ImageUtil;
+import org.springblade.jfpt.animalheat.vo.AnimalHeatVo;
+import org.springblade.jfpt.animalheat.vo.StatisVo;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
+import static org.springblade.core.tool.utils.DateUtil.now;
+
+/**
+ * 体温数据服务层
+ *
+ */
+@Service
+public class AnimalHeatServiceImpl extends ServiceImpl<AnimalHeatMapper, BladeAnimalHeat> implements AnimalHeatService {
+ @Override
+ public boolean save(BladeAnimalHeat entity) {
+ return false;
+ }
+
+ @Value("${picture.addUrl}")
+ private String picAddUrl;
+
+ @Value("${picture.pre}")
+ private String picPre;
+
+
+ /**
+ * 新增体温数据
+ * @param body 体温数据
+ */
+ @Override
+ @Transactional
+ public void save(String body) {
+ //1.截取信息
+ int i = body.indexOf("{");
+ //2.从 { 处开始截取
+ int length = body.length();
+ //3.截取,由于获取数据时,} 被去除,需要加上
+ String dataBody = body.substring(i, length)+"}";
+ 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 picture = data.get("picture").toString();
+ //将二进制原始图片转换成图片
+ ImageUtil.base64StringToImage(picture);
+ //bladeAnimalHeat.setPicture(data.get("picture").toString()); //暂时不存入
+ String temp_red =data.get("temp_red").toString();
+ String[] temRedArr = temp_red.substring(1,temp_red.length()-1).split(",");
+ if (temRedArr.length>1){
+ //比较两个温度的大小,取大的值
+ float v = Float.parseFloat(temRedArr[0]);
+ float v1 = Float.parseFloat(temRedArr[1]);
+ int compare = Float.compare(v, v1);
+ bladeAnimalHeat.setTempRed(compare>=0 ? v:v1);
+ //和标志温度比较,大于37度为高温,标记为1,小于则为正常0
+ int compare1 = Float.compare(37, compare >= 0 ? v : v1);
+ bladeAnimalHeat.setStatus(compare1>0 ?0:1);
+ }else {
+ bladeAnimalHeat.setTempRed(Float.parseFloat(temRedArr[0]));
+ int compare1 = Float.compare(37, Float.parseFloat(temRedArr[0]));
+ bladeAnimalHeat.setStatus(compare1>0 ?0:1);
+ }
+ String person_rects = data.get("person_rect").toString();
+ bladeAnimalHeat.setPersonRect(person_rects.substring(2,person_rects.length()-2));
+ bladeAnimalHeat.setCreateTime(now());
+ //7.插入数据
+ int idata = baseMapper.insert(bladeAnimalHeat);
+ }
+
+
+ /**
+ * 获取体温数据统计
+ * @param animalHeatVo 条件参数 开始时间,结束时间
+ * @return
+ */
+ @Override
+ public List<StatisVo> getAnimalStatis(AnimalHeatVo animalHeatVo) {
+ if(null!= animalHeatVo.getStatus()){
+ //查询当天的统计数据
+ if (animalHeatVo.getStatus()==0){
+ return baseMapper.getAnimalStatis();
+ }
+ //查询本周的统计数据
+ if (animalHeatVo.getStatus()==1){
+ return baseMapper.getAnimalStatisWeek();
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * 体温数据的分页数据
+ * @param animalHeatVo 查询条件
+ * @param page 查询页码
+ * @return
+ */
+ @Override
+ public IPage<BladeAnimalHeat> selectAnimalHeatPage(IPage<BladeAnimalHeat> page, AnimalHeatVo animalHeatVo) {
+ return page.setRecords(baseMapper.selectAnimalHeatPageList(page, animalHeatVo));
+ }
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/util/ImageUtil.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/util/ImageUtil.java
new file mode 100644
index 0000000..15c444e
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/util/ImageUtil.java
@@ -0,0 +1,55 @@
+package org.springblade.jfpt.animalheat.util;
+
+import jodd.util.StringPool;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.FileUtil;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.beans.factory.annotation.Value;
+import sun.misc.BASE64Decoder;
+import sun.misc.BASE64Encoder;
+
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import static java.time.LocalDate.now;
+
+/**
+ * 二进制原始数据转换为图片工具类
+ */
+public class ImageUtil {
+ static BASE64Encoder encoder = new sun.misc.BASE64Encoder();
+ static BASE64Decoder decoder = new sun.misc.BASE64Decoder();
+
+ @Value("${picture.addUrl}")
+ private String picAddUrl;
+
+ @Value("${picture.pre}")
+ private static String picPre;
+
+ /**
+ * 二进制原始数据转换为图片
+ * @param base64String
+ */
+ public static String base64StringToImage(String base64String){
+ try {
+ byte[] bytes1 = decoder.decodeBuffer(base64String);
+
+ ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
+ BufferedImage bi1 = ImageIO.read(bais);
+ String yyyyMMddHHmmss = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
+ File w2 = new File("D://"+picPre+StringPool.SLASH+ DateUtil.today()+StringPool.SLASH+ StringUtil.randomUUID()
+ +".jpg");//可以是jpg,png,gif格式
+
+ ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动
+ //返回图片路径
+ return picPre+ StringPool.SLASH+ DateUtil.today()+StringPool.SLASH+ StringUtil.randomUUID()
+ +StringPool.DOT+ "jpg";
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/AnimalHeatVo.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/AnimalHeatVo.java
new file mode 100644
index 0000000..6a5c9c8
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/AnimalHeatVo.java
@@ -0,0 +1,28 @@
+package org.springblade.jfpt.animalheat.vo;
+
+import lombok.Data;
+import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 查询的条件属性
+ */
+@Data
+public class AnimalHeatVo extends BladeAnimalHeat implements Serializable {
+ /**
+ *开始时间
+ */
+ private Date begTime;
+
+ /**
+ * 结束时间
+ */
+ private Date endTime;
+
+ /**
+ * 状态 0: 当天时间统计数据 1: 本周内的数据统计
+ */
+ private Integer status;
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/StatisVo.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/StatisVo.java
new file mode 100644
index 0000000..b94d93e
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/StatisVo.java
@@ -0,0 +1,19 @@
+package org.springblade.jfpt.animalheat.vo;
+
+import lombok.Data;
+
+/**
+ * 体温数据统计返回属性参数
+ */
+@Data
+public class StatisVo {
+ /**
+ * 体温状态 1为高于37度高温状态 0为正常
+ */
+ private Integer status;
+
+ /**
+ * 数量
+ */
+ private Integer number;
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/jingdan/mapper/JingdanMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/jingdan/mapper/JingdanMapper.xml
index 8332563..e5f8bd3 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/jingdan/mapper/JingdanMapper.xml
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/jingdan/mapper/JingdanMapper.xml
@@ -25,7 +25,6 @@
<result column="handletype" property="handletype"/>
</resultMap>
-
<select id="selectJingdanPage" resultMap="jingdanResultMap">
SELECT j.id,j.galarmPeople,j.phoneNumber,j.place,j.content,j.galarmTime,j.waringType,j.deviceNumber,j.type,
j.handleP,j.handleTime,j.handName,j.level,ST_ASTEXT(j.coordinate) as coordinate,j.jd,j.wd,j.addvcd,j.rName,
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
index 691565b..4206e9c 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
@@ -9,6 +9,7 @@
import org.springblade.jfpt.Netty.service.nettyService;
import org.springblade.jfpt.alarm.entity.Alarm;
import org.springblade.jfpt.alarm.service.IAlarmService;
+import org.springblade.jfpt.animalheat.service.AnimalHeatService;
import org.springblade.jfpt.catalog.service.catalogService;
import org.springblade.jfpt.equipment.service.IEquipmentService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +42,9 @@
@Autowired
private IEquipmentService equipmentService;
+
+ @Autowired
+ private AnimalHeatService animalHeatService;
@Autowired
private IAlarmService alarmService;
@@ -102,146 +106,135 @@
String body = new String(req, "UTF-8");
String content = body;
System.out.println("接收客户端数据:" + body);
- String ChannelName = content.substring(10, 22);//设备编码
- String sub = content.substring(23, 27);
- ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
- if (channelHashMap==null){
- if (!sub.equals("VIMO")){
- // 保存当前连接
- ChannelMap.addChannel(ChannelName,channelHandlerContext.channel());
+ //获取字符串的长度
+ int length = content.length();
+ //当字符串长度大于200时,采集体温数据,小于则采集报警数据
+ if (length>200){
+ //只有数据长度大于300时,采集体温数据 200-300 之间为心跳数据,当前不采集
+ if (length>250){
+ //插入数据
+ serverHandler.animalHeatService.save(body);
}
- }
- else {
- Channel channel = ChannelMap.getChannelByName(ChannelName);
- if (channel!=channelHandlerContext.channel()|| channel==null){
- if (!sub.equals("VIMO")){
+ }else {
+ String ChannelName = content.substring(10, 22);//设备编码
+ String sub = content.substring(23, 27);
+ ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
+ if (channelHashMap == null) {
+ if (!sub.equals("VIMO")) {
// 保存当前连接
- ChannelMap.addChannel(ChannelName,channelHandlerContext.channel());
+ ChannelMap.addChannel(ChannelName, channelHandlerContext.channel());
+ }
+ } else {
+ Channel channel = ChannelMap.getChannelByName(ChannelName);
+ if (channel != channelHandlerContext.channel() || channel == null) {
+ if (!sub.equals("VIMO")) {
+ // 保存当前连接
+ ChannelMap.addChannel(ChannelName, channelHandlerContext.channel());
+ }
}
}
- }
- List<String> outData = new ArrayList<>();
- switch (content.substring(0, 2))
- {
- case "LA":
- {
- String devId = content.substring(10, 22);
- String fqbm = content.substring(24, 26);
- List<Map<String, Object>> list = serverHandler.equipmentService.selectInfos(devId);
- Alarm alarm= new Alarm();
- alarm.setAlarmType("一键报警");
- alarm.setGalarmPeople("报警主机");
- Date day = new Date();
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- alarm.setAlarmTime(df.format(day));
- alarm.setPlace((String) list.get(0).get("streeName"));//事发地址
- alarm.setDeviceNumber((String) list.get(0).get("deviceNumber"));//设备编号
- alarm.setDistrict((String) list.get(0).get("district"));//县区
- alarm.setProvince((String) list.get(0).get("province"));//市
- alarm.setCity((String) list.get(0).get("city"));
- alarm.setJd((String) list.get(0).get("jd"));//经度
- alarm.setWd((String) list.get(0).get("wd"));//纬度
- alarm.setJtype("0");
- if (fqbm.equals("00")){
- alarm.setWaringType("旁路");
- }
- else if(fqbm.equals("01")){
- alarm.setWaringType("火警");
- }
- else if(fqbm.equals("02")){
- alarm.setWaringType("挟持");
- }
- else if(fqbm.equals("03")){
- alarm.setWaringType("紧急");
- }
- else if(fqbm.equals("04")){
- alarm.setWaringType("救护");
- }
- else if(fqbm.equals("05")){
- alarm.setWaringType("内部");
- }
- else if(fqbm.equals("06")){
- alarm.setWaringType("出入");
- }
- else if(fqbm.equals("07")){
- alarm.setWaringType("周边");
- }
- else {
- alarm.setWaringType("防拆");
- }
- serverHandler.alarmService.s(alarm);
- outData.add("LEOK#@");
+ List<String> outData = new ArrayList<>();
+ switch (content.substring(0, 2)) {
+ case "LA": {
+ String devId = content.substring(10, 22);
+ String fqbm = content.substring(24, 26);
+ List<Map<String, Object>> list = serverHandler.equipmentService.selectInfos(devId);
+ Alarm alarm = new Alarm();
+ alarm.setAlarmType("一键报警");
+ alarm.setGalarmPeople("报警主机");
+ Date day = new Date();
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ alarm.setAlarmTime(df.format(day));
+ alarm.setPlace((String) list.get(0).get("streeName"));//事发地址
+ alarm.setDeviceNumber((String) list.get(0).get("deviceNumber"));//设备编号
+ alarm.setDistrict((String) list.get(0).get("district"));//县区
+ alarm.setProvince((String) list.get(0).get("province"));//市
+ alarm.setCity((String) list.get(0).get("city"));
+ alarm.setJd((String) list.get(0).get("jd"));//经度
+ alarm.setWd((String) list.get(0).get("wd"));//纬度
+ alarm.setJtype("0");
+ if (fqbm.equals("00")) {
+ alarm.setWaringType("旁路");
+ } else if (fqbm.equals("01")) {
+ alarm.setWaringType("火警");
+ } else if (fqbm.equals("02")) {
+ alarm.setWaringType("挟持");
+ } else if (fqbm.equals("03")) {
+ alarm.setWaringType("紧急");
+ } else if (fqbm.equals("04")) {
+ alarm.setWaringType("救护");
+ } else if (fqbm.equals("05")) {
+ alarm.setWaringType("内部");
+ } else if (fqbm.equals("06")) {
+ alarm.setWaringType("出入");
+ } else if (fqbm.equals("07")) {
+ alarm.setWaringType("周边");
+ } else {
+ alarm.setWaringType("防拆");
+ }
+ serverHandler.alarmService.s(alarm);
+ outData.add("LEOK#@");
- break;
- }
- case "LD":
- {
+ break;
+ }
+ case "LD": {
// if (Pattern.matches(content, reg_LD))
- String deviceNumber = content.substring(10, 22);
+ String deviceNumber = content.substring(10, 22);
String keyword = content.substring(23, 27);
System.out.println(keyword);
- switch(keyword)
- {
- case "IMEI":
- {
+ switch (keyword) {
+ case "IMEI": {
Date d = new Date();
SimpleDateFormat sbf = new SimpleDateFormat("MMddHHmm");
outData.add("LC8C0470" + sbf.format(d) + "#@" + "LEOK#@");
outData.add("LEOK#@");
break;
}
- case "SRTC":
- {
+ case "SRTC": {
Date d = new Date();
SimpleDateFormat sbf = new SimpleDateFormat("yyyyMMddHHmmss");
outData.add("LEOK#@");
outData.add("LC8C0700" + sbf.format(d) + "#@");
break;
}
- case "STAS":
- {
+ case "STAS": {
outData.add("LEOK#@");
- outData.add("LC8100001E"+ "#@");
+ outData.add("LC8100001E" + "#@");
break;
}
- case "TEST":
- {
+ case "TEST": {
Date d = new Date();
SimpleDateFormat sbf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sbf.format(d);
- serverHandler.equipmentService.updateChannel(format,deviceNumber);
+ serverHandler.equipmentService.updateChannel(format, deviceNumber);
outData.add("LEOK#@");
outData.add("LEON#@");
break;
}
- case "COMM":
- {
+ case "COMM": {
outData.add("LEOK#@");
break;
}
- default:
- {
+ default: {
outData.add("LEOK#@");
break;
}
}
- break;
- }
- case "LB":
- {
+ break;
+ }
+ case "LB": {
outData.add("LEOK#@");
- break;
+ break;
+ }
}
- }
- if(outData.size() == 0)
- {
- outData.add("LERR#@");
- }
- for (int i = 0; i < outData.size(); i++)
- {
- channelHandlerContext.writeAndFlush(Unpooled.copiedBuffer(outData.get(i), CharsetUtil.UTF_8));
+ if (outData.size() == 0) {
+ outData.add("LERR#@");
+ }
+ for (int i = 0; i < outData.size(); i++) {
+ channelHandlerContext.writeAndFlush(Unpooled.copiedBuffer(outData.get(i), CharsetUtil.UTF_8));
+ }
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/MyNettyDecode.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/MyNettyDecode.java
deleted file mode 100644
index e78319f..0000000
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/MyNettyDecode.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.springblade.jfpt.nettyTcpServer;
-
-import io.netty.buffer.ByteBuf;
-import io.netty.buffer.Unpooled;
-import io.netty.channel.ChannelHandlerContext;
-import io.netty.handler.codec.ByteToMessageDecoder;
-import java.util.List;
-
-/**
- * 自定义解码器
- *
- */
-public class MyNettyDecode extends ByteToMessageDecoder {
- public final int BASE_LENGTH = 4 + 4 ;
-
-// @Override
-// protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf byteBuf, List<Object> list) throws Exception {
-// System.out.println("byteBuf = " + byteBuf.readableBytes());
-// // 可读长度必须大于基本长度
-// if (byteBuf.readableBytes() >= BASE_LENGTH) {
-// // 防止socket字节流攻击
-// // 防止,客户端传来的数据过大
-// // 因为,太大的数据,是不合理的
-// if (byteBuf.readableBytes() > 202048) {
-// byteBuf.skipBytes(byteBuf.readableBytes());
-// }
-//
-// // 记录包头开始的index
-// int beginReader;
-//
-// while (true) {
-// // 获取包头开始的index
-// beginReader = byteBuf.readerIndex();
-// // 标记包头开始的index
-// byteBuf.markReaderIndex();
-// // 读到了协议的开始标志,结束while循环
-// if (byteBuf.readInt() == NettyConstant.HEAD_DATA) {
-// break;
-// }
-//
-// // 未读到包头,略过一个字节
-// // 每次略过,一个字节,去读取,包头信息的开始标记
-// byteBuf.resetReaderIndex();
-// byteBuf.readByte();
-//
-// // 当略过,一个字节之后,
-// // 数据包的长度,又变得不满足
-// // 此时,应该结束。等待后面的数据到达
-// if (byteBuf.readableBytes() < BASE_LENGTH) {
-// return;
-// }
-// }
-//
-// // 消息的长度
-//
-// int length = byteBuf.readInt();
-// // 判断请求数据包数据是否到齐
-// if (byteBuf.readableBytes() < length) {
-// // 还原读指针
-// byteBuf.readerIndex(beginReader);
-// return;
-// }
-//
-// // 读取data数据
-// byte[] data = new byte[length];
-// byteBuf.readBytes(data);
-// System.out.println("byteBuf末尾 = " + byteBuf);
-//
-// NettyProPool protocol = new NettyProPool(data.length, data);
-// list.add(protocol);
-// System.out.println("list = " + list);
-// }
-// }
-
- static final int PACKET_SIZE = 110088;
-
- // 用来临时保留没有处理过的请求报文
- ByteBuf tempMsg = Unpooled.buffer();
-
- /**
- * @param ctx
- * @param in 请求的数据
- * @param out 将粘在一起的报文拆分后的结果保留起来
- * @throws Exception
- */
- @Override
- protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws Exception {
- System.out.println(Thread.currentThread() + "收到了一次数据包,长度是:" + in.readableBytes());
-
- // 合并报文
- ByteBuf message = null;
- int tmpMsgSize = tempMsg.readableBytes();
- System.out.println("tmpMsgSize = " + tmpMsgSize);
- // 如果暂存有上一次余下的请求报文,则合并
- if (tmpMsgSize > 0) {
- message = Unpooled.buffer();
- message.writeBytes(tempMsg);
- message.writeBytes(in);
- System.out.println("合并:上一数据包余下的长度为:" + tmpMsgSize + ",合并后长度为:" + message.readableBytes());
- } else {
- message = in;
- }
-
- int size = message.readableBytes();
- int counter = size / PACKET_SIZE;
- for (int i = 0; i < counter; i++) {
- byte[] request = new byte[PACKET_SIZE];
- // 每次从总的消息中读取220个字节的数据
- message.readBytes(request);
-
- // 将拆分后的结果放入out列表中,交由后面的业务逻辑去处理
- out.add(Unpooled.copiedBuffer(request));
- }
-
- // 多余的报文存起来
- // 第一个报文: i+ 暂存
- // 第二个报文: 1 与第一次
- size = message.readableBytes();
- if (size != 0) {
- System.out.println("多余的数据长度:" + size);
- // 剩下来的数据放到tempMsg暂存
- tempMsg.clear();
- tempMsg.writeBytes(message.readBytes(size));
- }
- }
-}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/NettyConstant.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/NettyConstant.java
deleted file mode 100644
index 8d2886a..0000000
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/NettyConstant.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.springblade.jfpt.nettyTcpServer;
-
-/**
- * 自定义协议常量
- */
-public class NettyConstant {
- /**
- * 自定义协议开始
- */
- public static final int HEAD_DATA = 0*76;
-
-}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/NettyProPool.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/NettyProPool.java
deleted file mode 100644
index 02b1a0f..0000000
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/NettyProPool.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.springblade.jfpt.nettyTcpServer;
-
-
-public class NettyProPool {
-
- /**
- * 协议开始的标志,16进制为 0*76
- */
- private int haed_data=NettyConstant.HEAD_DATA;
-
- /**
- * 传送的长度
- */
- private int contentLength;
-
- /**
- * 传送的内容
- */
- private byte[] content;
-
- public NettyProPool(int contentLength) {
- this.contentLength = contentLength;
- }
-
- public int getContentLength() {
- return contentLength;
- }
-
- public void setContentLength(int contentLength) {
- this.contentLength = contentLength;
- }
-
- public NettyProPool(int contentLength, byte[] content) {
- this.contentLength = contentLength;
- this.content = content;
- }
-
- public byte[] getContent() {
- return content;
- }
-
- public void setContent(byte[] content) {
- this.content = content;
- }
-
- public int getHaed_data() {
- return haed_data;
- }
-
- public void setHaed_data(int haed_data) {
- this.haed_data = haed_data;
- }
-}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/ParseString.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/ParseString.java
deleted file mode 100644
index ac47ea6..0000000
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/ParseString.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.springblade.jfpt.nettyTcpServer;
-
-import io.swagger.models.auth.In;
-
-public class ParseString {
- public static Integer[] stringToInts(String s){
- String[] split = s.split(",");
- Integer[] n = new Integer[split.length];
- for(int i = 0;i<split.length;i++){
- n[i] = Integer.parseInt(split[i]);
- }
- return n;
- }
-}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServer.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServer.java
index f322210..d84e838 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServer.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServer.java
@@ -9,13 +9,6 @@
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.codec.DelimiterBasedFrameDecoder;
-import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
-import io.netty.handler.codec.LengthFieldPrepender;
-import io.netty.handler.codec.string.StringDecoder;
-import io.netty.handler.logging.LoggingHandler;
-
-import java.nio.ByteOrder;
-import java.nio.charset.Charset;
public class TcpServer {
@@ -40,12 +33,15 @@
// 绑定处理group
bootstrap.group(boss, worker).channel(NioServerSocketChannel.class)
//保持连接数
- .option(ChannelOption.SO_BACKLOG, 128)
+ .option(ChannelOption.SO_BACKLOG, 30)
+ //设置缓冲区大小
+ .option(ChannelOption.SO_RCVBUF, 1024*1024)
+ .option(ChannelOption.SO_SNDBUF, 1024*1024)
//有数据立即发送
.option(ChannelOption.TCP_NODELAY, true)
//保持连接
.childOption(ChannelOption.SO_KEEPALIVE, true)
- .childOption(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(512*250))
+ .childOption(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(1024*1024))
.childHandler(new NettyChannelHandler());
//绑定端口,同步等待成功
@@ -81,10 +77,8 @@
@Override
protected void initChannel(SocketChannel socketChannel)
throws Exception {
- //socketChannel.pipeline().addLast(new MyNettyDecode());
- //socketChannel.pipeline().addLast(new StringDecoder(Charset.forName("UTF-8")));
- //socketChannel.pipeline().addLast("decoder", new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE,0,4,0,4));
- //socketChannel.pipeline().addLast("encoder", new LengthFieldPrepender(4, false));
+ ByteBuf delimiter = Unpooled.copiedBuffer("}".getBytes());
+ socketChannel.pipeline().addLast( new DelimiterBasedFrameDecoder(200000,delimiter));
socketChannel.pipeline().addLast(new TcpServerHandler());
}
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServerHandler.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServerHandler.java
index 7d113a5..f12c77c 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServerHandler.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyTcpServer/TcpServerHandler.java
@@ -7,7 +7,7 @@
import org.springblade.jfpt.alarm.service.IAlarmService;
import org.springblade.jfpt.equipment.service.IEquipmentService;
import org.springblade.jfpt.nettyServer.NettyConfig;
-import org.springblade.jfpt.nettyUdpServer.service.AnimalHeatService;
+import org.springblade.jfpt.animalheat.service.AnimalHeatService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@@ -15,26 +15,6 @@
@Component
public class TcpServerHandler extends ChannelInboundHandlerAdapter {
-
- private String reg_LA ="LA[d]{8}[d|A-F]{12}[d|A-F]{8}[d|A-Z]{2}[d|A-F]{4}[x2A][d|A-F]{6}[#@]";
- private String reg_LB = "LB[\\d|A-F]{12}[\\x2A].*[#@]";
- private String reg_LB2 = "LB[\\d|A-F]{6}[\\x2A].*[#@]";
- private String reg_LD = "LD[d]{8}[d|A-F]{12}:[A-Z]{4}[\\x2A].*[#@]";
-
-
- private ConcurrentHashMap<String, Channel> sessionChannelMap = new ConcurrentHashMap<String, Channel>();
-
- @Autowired
- private org.springblade.jfpt.catalog.service.catalogService catalogService;
-
- @Autowired
- private org.springblade.jfpt.Netty.service.nettyService nettyService;
-
- @Autowired
- private IEquipmentService equipmentService;
-
- @Autowired
- private IAlarmService alarmService;
private static TcpServerHandler tcpServerHandler;
@@ -96,9 +76,15 @@
String body = new String(req, "UTF-8");
String content = body;
System.out.println("接收客户端数据:" + body);
- //插入数据
- tcpServerHandler.animalHeatService.save(body);
-
+ System.out.println("content.length() = " + content.length());
+ //获取字符串的长度
+ int length = content.length();
+ //当字符串长度大于200时,采集体温数据,小于则采集报警数据
+ //只有数据长度大于300时,采集体温数据 200-300 之间为心跳数据,当前不采集
+ if (length>250){
+ //插入数据
+ tcpServerHandler.animalHeatService.save(body);
+ }
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/controller/AnimalHeatController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/controller/AnimalHeatController.java
deleted file mode 100644
index 57d38d5..0000000
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/controller/AnimalHeatController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.springblade.jfpt.nettyUdpServer.controller;
-
-import lombok.AllArgsConstructor;
-import org.springblade.jfpt.nettyUdpServer.service.AnimalHeatService;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 体温监测控制层
- * @time 2021-2-25
- */
-
-@RestController
-@RequestMapping("animalHeat/animalHeat")
-@AllArgsConstructor
-public class AnimalHeatController {
-
- private final AnimalHeatService animalHeatService;
-
-}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/mapper/AnimalHeatMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/mapper/AnimalHeatMapper.java
deleted file mode 100644
index f71cc52..0000000
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/mapper/AnimalHeatMapper.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.springblade.jfpt.nettyUdpServer.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.springblade.jfpt.nettyUdpServer.entity.BladeAnimalHeat;
-
-/**
- * mapper 映射层
- *
- */
-public interface AnimalHeatMapper extends BaseMapper<BladeAnimalHeat> {
-}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/AnimalHeatService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/AnimalHeatService.java
deleted file mode 100644
index 11d92a4..0000000
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/AnimalHeatService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.springblade.jfpt.nettyUdpServer.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import org.springblade.jfpt.nettyUdpServer.entity.BladeAnimalHeat;
-
-/**
- * 体温监测服务层接口层
- */
-public interface AnimalHeatService extends IService<BladeAnimalHeat> {
- /**
- * 插入体温数据
- * @param body 温度数据
- */
- void save(String body);
-}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/impl/AnimalHeatServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/impl/AnimalHeatServiceImpl.java
deleted file mode 100644
index f6f906a..0000000
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/impl/AnimalHeatServiceImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.springblade.jfpt.nettyUdpServer.service.impl;
-
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.jfpt.nettyTcpServer.ParseString;
-import org.springblade.jfpt.nettyUdpServer.entity.BladeAnimalHeat;
-import org.springblade.jfpt.nettyUdpServer.mapper.AnimalHeatMapper;
-import org.springblade.jfpt.nettyUdpServer.service.AnimalHeatService;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.lang.reflect.Array;
-import java.util.Map;
-import static org.springblade.core.tool.utils.DateUtil.now;
-
-/**
- * 体温数据服务层
- *
- */
-@Service
-public class AnimalHeatServiceImpl extends ServiceImpl<AnimalHeatMapper, BladeAnimalHeat> implements AnimalHeatService {
- @Override
- public boolean save(BladeAnimalHeat entity) {
- return false;
- }
-
- /**
- * 新增体温数据
- * @param body 体温数据
- */
- @Override
- @Transactional
- public void save(String body) {
- //1.截取信息
- int i = body.indexOf("{");
- //2.从 { 处开始截取
- int length = body.length();
- //3.截取
- String dataBody = body.substring(i, length);
- 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.取出数据,封装数据到对象
- bladeAnimalHeat.setPicture(data.get("picture").toString());
- String temp_red =data.get("temp_red").toString();
- bladeAnimalHeat.setTempRed(Float.parseFloat(temp_red.substring(1,temp_red.length()-1)));
- String person_rects = data.get("person_rect").toString();
- bladeAnimalHeat.setPersonRect(person_rects.substring(2,person_rects.length()-2).split(","));
- bladeAnimalHeat.setCreateTime(now());
- //7.插入数据
- int idata = baseMapper.insert(bladeAnimalHeat);
- }
-}
diff --git a/blade-service/blade-jfpts/src/main/resources/application-dev.yml b/blade-service/blade-jfpts/src/main/resources/application-dev.yml
index ba90ad6..05645de 100644
--- a/blade-service/blade-jfpts/src/main/resources/application-dev.yml
+++ b/blade-service/blade-jfpts/src/main/resources/application-dev.yml
@@ -8,3 +8,5 @@
url: jdbc:mysql://36.134.81.48:3306/jfpt?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true
username: root
password: jfpt123
+
+
diff --git a/blade-service/blade-jfpts/src/main/resources/application.properties b/blade-service/blade-jfpts/src/main/resources/application.properties
new file mode 100644
index 0000000..2fd2358
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/resources/application.properties
@@ -0,0 +1,2 @@
+picture.addUrl= http://36.134.81.48:9000/
+picture.pre= software/minio/data/animalHeat/
--
Gitblit v1.9.3