From f19d7d458e175b0e4beb8aec96a541dd3e8ced25 Mon Sep 17 00:00:00 2001
From: 钟日健 <5689795+arsn@user.noreply.gitee.com>
Date: Sat, 27 Feb 2021 17:41:37 +0800
Subject: [PATCH] 体温监测实体类,控制/服务/数据映射层创建
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/mapper/AnimalHeatMapper.java | 11 ++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/handle/UdpServerHandler.java | 3
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/impl/AnimalHeatServiceImpl.java | 17 ++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/server/UdpServer.java | 92 ++++++++++++----------
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/controller/AnimalHeatController.java | 20 +++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/entity/BladeAnimalHeat.java | 39 +++++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/AnimalHeatService.java | 7 +
7 files changed, 144 insertions(+), 45 deletions(-)
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
new file mode 100644
index 0000000..57d38d5
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/controller/AnimalHeatController.java
@@ -0,0 +1,20 @@
+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/entity/BladeAnimalHeat.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/entity/BladeAnimalHeat.java
new file mode 100644
index 0000000..29bf808
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/entity/BladeAnimalHeat.java
@@ -0,0 +1,39 @@
+package org.springblade.jfpt.nettyUdpServer.entity;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @title 体温数据表
+ * @author arsn
+ * @time 2021-2-25
+ */
+@Data
+@TableName("blade_animal_heat")
+public class BladeAnimalHeat implements Serializable {
+
+ private static final long serialVersionUID = 4356978043337357357L;
+ @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 String ip;// varchar(63) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备IP地址',
+ private String picture;// varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '图片url路径',
+ @TableField("picture_red")
+ private String pictureRed;// varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '红外图片url路径',
+ @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("person_rect_red")
+ 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 '创建时间',
+
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/handle/UdpServerHandler.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/handle/UdpServerHandler.java
index b241920..d68e948 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/handle/UdpServerHandler.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/handle/UdpServerHandler.java
@@ -1,7 +1,6 @@
package org.springblade.jfpt.nettyUdpServer.handle;
import io.netty.buffer.ByteBuf;
-import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.channel.socket.DatagramPacket;
@@ -11,7 +10,7 @@
import org.springframework.stereotype.Component;
/**
- * Created by wangshikai on 2016/7/18.
+ * updHandler udp 服务端数据接收处理
*/
@Component
public class UdpServerHandler extends SimpleChannelInboundHandler<DatagramPacket> {
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
new file mode 100644
index 0000000..f71cc52
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/mapper/AnimalHeatMapper.java
@@ -0,0 +1,11 @@
+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/server/UdpServer.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/server/UdpServer.java
index 957b186..fd48a78 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/server/UdpServer.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/server/UdpServer.java
@@ -17,7 +17,7 @@
import java.util.concurrent.Executors;
/**
- * Created by wangshikai on 2016/7/18.
+ * updServer udp服务端
*/
public class UdpServer {
private static Logger LOG = LoggerFactory.getLogger(UdpServer.class);
@@ -73,51 +73,57 @@
//使用ChannelPipeline实现自定义IO
//Channel channel;
public void run() {
- //InetSocketAddress socketAddress = new InetSocketAddress("s16s652780.51mypc.cn", 21403);
- //启动服务
- EventLoopGroup workerGroup = new NioEventLoopGroup();
- //优化使用的线程
- final EventExecutorGroup group = new DefaultEventExecutorGroup(16);
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ //InetSocketAddress socketAddress = new InetSocketAddress("s16s652780.51mypc.cn", 21403);
+ //启动服务
+ EventLoopGroup workerGroup = new NioEventLoopGroup();
+ //优化使用的线程
+ final EventExecutorGroup group = new DefaultEventExecutorGroup(16);
- try {
- Bootstrap b = new Bootstrap();//udp不能使用ServerBootstrap
- b.group(workerGroup).channel(NioDatagramChannel.class)//设置UDP通道
- //设置udp的管道工厂
- .handler(new ChannelInitializer<NioDatagramChannel>() {
- //NioDatagramChannel标志着是UDP格式的
- @Override
- protected void initChannel(NioDatagramChannel ch)
- throws Exception {
- // TODO Auto-generated method stub
- //创建一个执行Handler的容器
- ChannelPipeline pipeline = ch.pipeline();
- pipeline.addLast(new StringDecoder());
- pipeline.addLast(new StringEncoder());
- //执行具体的处理器
- pipeline.addLast(group, "handler", new UdpServerHandler());//消息处理器
- }
+ try {
+ Bootstrap b = new Bootstrap();//udp不能使用ServerBootstrap
+ b.group(workerGroup).channel(NioDatagramChannel.class)//设置UDP通道
+ //设置udp的管道工厂
+ .handler(new ChannelInitializer<NioDatagramChannel>() {
+ //NioDatagramChannel标志着是UDP格式的
+ @Override
+ protected void initChannel(NioDatagramChannel ch)
+ throws Exception {
+ // TODO Auto-generated method stub
+ //创建一个执行Handler的容器
+ ChannelPipeline pipeline = ch.pipeline();
+ pipeline.addLast(new StringDecoder());
+ pipeline.addLast(new StringEncoder());
+ //执行具体的处理器
+ pipeline.addLast(group, "handler", new UdpServerHandler());//消息处理器
+ }
- })//初始化处理器
- //true / false 多播模式(UDP适用),可以向多个主机发送消息
- .option(ChannelOption.SO_BROADCAST, true)// 支持广播
- .option(ChannelOption.SO_RCVBUF, 2048 * 1024)// 设置UDP读缓冲区为2M
- .option(ChannelOption.SO_SNDBUF, 1024 * 1024);// 设置UDP写缓冲区为1M
+ })//初始化处理器
+ //true / false 多播模式(UDP适用),可以向多个主机发送消息
+ .option(ChannelOption.SO_BROADCAST, true)// 支持广播
+ .option(ChannelOption.SO_RCVBUF, 2048 * 1024)// 设置UDP读缓冲区为2M
+ .option(ChannelOption.SO_SNDBUF, 1024 * 1024);// 设置UDP写缓冲区为1M
- // 绑定端口,开始接收进来的连接
- ChannelFuture f = b.bind(port).sync();
- //获取channel通道
- //channel=f.channel();
- System.out.println("UDP Server 启动!");
- // 等待服务器 socket 关闭 。
- // 这不会发生,可以优雅地关闭服务器。
- f.channel().closeFuture().sync();
- } catch (InterruptedException e) {
- e.printStackTrace();
- } finally {
- // 优雅退出 释放线程池资源
- group.shutdownGracefully();
- workerGroup.shutdownGracefully();
- }
+ // 绑定端口,开始接收进来的连接
+ ChannelFuture f = b.bind(port).sync();
+ //获取channel通道
+ //channel=f.channel();
+ System.out.println("UDP Server 启动,端口:"+port);
+ // 等待服务器 socket 关闭 。
+ // 这不会发生,可以优雅地关闭服务器。
+ f.channel().closeFuture().sync();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ } finally {
+ // 优雅退出 释放线程池资源
+ group.shutdownGracefully();
+ workerGroup.shutdownGracefully();
+ }
+ }
+ });
+ thread.start();
}
}
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
new file mode 100644
index 0000000..9d7a0c2
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/AnimalHeatService.java
@@ -0,0 +1,7 @@
+package org.springblade.jfpt.nettyUdpServer.service;
+
+/**
+ * 体温监测服务层接口层
+ */
+public interface AnimalHeatService {
+}
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
new file mode 100644
index 0000000..7313a91
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyUdpServer/service/impl/AnimalHeatServiceImpl.java
@@ -0,0 +1,17 @@
+package org.springblade.jfpt.nettyUdpServer.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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;
+
+
+@Service
+public class AnimalHeatServiceImpl extends ServiceImpl<AnimalHeatMapper, BladeAnimalHeat> implements AnimalHeatService {
+ @Override
+ public boolean save(BladeAnimalHeat entity) {
+ return false;
+ }
+
+}
--
Gitblit v1.9.3