From 5826c5028d061efb0c2c8c7eeaf31a9bca535d7a Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期三, 28 五月 2025 17:05:06 +0800
Subject: [PATCH] 消防机器人websocket

---
 src/main/java/com/whyc/mapper/EnvironmentMapper.java                      |    6 
 src/main/java/com/whyc/pojo/db_fire_robot/RobotAlarm.java                 |   60 ++++++
 src/main/java/com/whyc/mapper/RobotAlarmMapper.java                       |    6 
 src/main/java/com/whyc/service/EnvironmentService.java                    |   18 ++
 src/main/java/com/whyc/mapper/EnvironmentThresholdMapper.java             |    6 
 src/main/java/com/whyc/mapper/RobotStatusMapper.java                      |    6 
 src/main/java/com/whyc/pojo/db_fire_robot/IdentifyAlarm.java              |   51 +++++
 src/main/java/com/whyc/webSocket/receiver/ThirdPartyWebSocketHandler.java |   70 +++++++
 src/main/java/com/whyc/service/IdentifyAlarmService.java                  |   19 ++
 src/main/java/com/whyc/pojo/db_fire_robot/IdentifyAlarmHis.java           |   53 +++++
 src/main/java/com/whyc/pojo/db_fire_robot/Environment.java                |   47 +++++
 src/main/java/com/whyc/service/EnvironmentThresholdService.java           |   18 ++
 src/main/java/com/whyc/service/RobotAlarmService.java                     |   19 ++
 src/main/java/com/whyc/pojo/db_fire_robot/RobotStatus.java                |   56 ++++++
 src/main/java/com/whyc/mapper/IdentifyAlarmMapper.java                    |    6 
 src/main/java/com/whyc/pojo/db_fire_robot/EnvironmentThreshold.java       |   46 +++++
 src/main/java/com/whyc/service/RobotStatusService.java                    |   18 ++
 17 files changed, 504 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/whyc/mapper/EnvironmentMapper.java b/src/main/java/com/whyc/mapper/EnvironmentMapper.java
new file mode 100644
index 0000000..46a3212
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/EnvironmentMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_fire_robot.Environment;
+
+public interface EnvironmentMapper extends CustomMapper<Environment>{
+}
diff --git a/src/main/java/com/whyc/mapper/EnvironmentThresholdMapper.java b/src/main/java/com/whyc/mapper/EnvironmentThresholdMapper.java
new file mode 100644
index 0000000..09e9437
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/EnvironmentThresholdMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_fire_robot.EnvironmentThreshold;
+
+public interface EnvironmentThresholdMapper extends CustomMapper<EnvironmentThreshold>{
+}
diff --git a/src/main/java/com/whyc/mapper/IdentifyAlarmMapper.java b/src/main/java/com/whyc/mapper/IdentifyAlarmMapper.java
new file mode 100644
index 0000000..067aa98
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/IdentifyAlarmMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_fire_robot.IdentifyAlarm;
+
+public interface IdentifyAlarmMapper extends CustomMapper<IdentifyAlarm>{
+}
diff --git a/src/main/java/com/whyc/mapper/RobotAlarmMapper.java b/src/main/java/com/whyc/mapper/RobotAlarmMapper.java
new file mode 100644
index 0000000..db80f10
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/RobotAlarmMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_fire_robot.RobotAlarm;
+
+public interface RobotAlarmMapper extends CustomMapper<RobotAlarm>{
+}
diff --git a/src/main/java/com/whyc/mapper/RobotStatusMapper.java b/src/main/java/com/whyc/mapper/RobotStatusMapper.java
new file mode 100644
index 0000000..595ffee
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/RobotStatusMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_fire_robot.RobotStatus;
+
+public interface RobotStatusMapper extends CustomMapper<RobotStatus>{
+}
diff --git a/src/main/java/com/whyc/pojo/db_fire_robot/Environment.java b/src/main/java/com/whyc/pojo/db_fire_robot/Environment.java
new file mode 100644
index 0000000..a5a23dc
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_fire_robot/Environment.java
@@ -0,0 +1,47 @@
+package com.whyc.pojo.db_fire_robot;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+import org.apache.ibatis.type.Alias;
+
+import java.util.Date;
+
+/**
+ * "temperature": 25.3,      // 娓╁害锛屽崟浣嶏細鈩�
+ *     "humidity": 60.5,        // 婀垮害锛屽崟浣嶏細%
+ *     "co": 0.02,             // CO娴撳害锛屽崟浣嶏細ppm
+ *     "co2": 400,             // CO2娴撳害锛屽崟浣嶏細ppm
+ *     "ch4": 0.1,             // CH4娴撳害锛屽崟浣嶏細%
+ *     "h2": 0.01,             // H2娴撳害锛屽崟浣嶏細%
+ *     "smoke": 0.05          // 鐑熸劅娴撳害锛屽崟浣嶏細%
+ */
+@Data
+@ToString
+@TableName(schema = "db_fire_robot",value = "tb_environment")
+public class Environment {
+
+    @TableId(value = "id",type = IdType.AUTO)
+    private int id;
+    @ApiModelProperty(value = "娓╁害")
+    private float temperature;
+    @ApiModelProperty(value = "婀垮害")
+    private float humidity;
+    @ApiModelProperty(value = "CO娴撳害")
+    private float co;
+    @ApiModelProperty(value = "CO2娴撳害")
+    private float co2;
+    @ApiModelProperty(value = "CH4娴撳害")
+    private float ch4;
+    @ApiModelProperty(value = "H2娴撳害")
+    private float h2;
+    @ApiModelProperty(value = "鐑熸劅娴撳害")
+    private float smoke;
+
+    private Date recordTime;
+
+
+}
diff --git a/src/main/java/com/whyc/pojo/db_fire_robot/EnvironmentThreshold.java b/src/main/java/com/whyc/pojo/db_fire_robot/EnvironmentThreshold.java
new file mode 100644
index 0000000..da877e9
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_fire_robot/EnvironmentThreshold.java
@@ -0,0 +1,46 @@
+package com.whyc.pojo.db_fire_robot;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * 鐜鏁版嵁鎶ヨ闃堝��
+ * "temperature": 60.0,      // 娓╁害锛屽崟浣嶏細鈩�
+ *     "humidity": 60.0,        // 婀垮害锛屽崟浣嶏細%
+ *     "co": 100.0,             // CO娴撳害锛屽崟浣嶏細ppm
+ *     "co2": 1600,             // CO2娴撳害锛屽崟浣嶏細ppm
+ *     "ch4": 100.0,             // CH4娴撳害锛屽崟浣嶏細%
+ *     "h2": 100.0,             // H2娴撳害锛屽崟浣嶏細%
+ *     "smoke": 100.0          // 鐑熸劅娴撳害锛屽崟浣嶏細%
+ */
+@Data
+@ToString
+@TableName(schema = "db_fire_robot",value = "tb_environment_threshold")
+public class EnvironmentThreshold {
+
+    @TableId(value = "id",type = IdType.AUTO)
+    private int id;
+    @ApiModelProperty(value = "娓╁害")
+    private float temperature;
+    @ApiModelProperty(value = "婀垮害")
+    private float humidity;
+    @ApiModelProperty(value = "CO娴撳害")
+    private float co;
+    @ApiModelProperty(value = "CO2娴撳害")
+    private float co2;
+    @ApiModelProperty(value = "CH4娴撳害")
+    private float ch4;
+    @ApiModelProperty(value = "H2娴撳害")
+    private float h2;
+    @ApiModelProperty(value = "鐑熸劅娴撳害")
+    private float smoke;
+
+    private Date recordTime;
+
+}
diff --git a/src/main/java/com/whyc/pojo/db_fire_robot/IdentifyAlarm.java b/src/main/java/com/whyc/pojo/db_fire_robot/IdentifyAlarm.java
new file mode 100644
index 0000000..43c2757
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_fire_robot/IdentifyAlarm.java
@@ -0,0 +1,51 @@
+package com.whyc.pojo.db_fire_robot;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * 绠楁硶璇嗗埆鎶ヨ鐘舵��
+ * "type": "identifyAlarm",
+ *   "data": {
+ *     "gatherTime":"2025-03-28 13:44:31",  // 閲囬泦鏃堕棿
+ *     "position": 2,  // 浣嶇疆 1-"鍙冲哺寮�鍏崇珯鐩存祦绗簩缁勮搫鐢垫睜", 2-"鍙冲哺寮�鍏崇珯鐩存祦绗竴缁勮搫鐢垫睜",3-
+ *         "7-9鍙锋満缁勭洿娴佺浜岀粍钃勭數姹�",4- "7-9鍙锋満缁勭洿娴佺涓�缁勮搫鐢垫睜",5-
+ *         "10-12鍙锋満缁勭洿娴佺浜岀粍钃勭數姹�", 6-"10-12鍙锋満缁勭洿娴佺涓�缁勮搫鐢垫睜",7-
+ *         "鍙冲哺鍏敤鐩存祦绗簩缁勮搫鐢垫睜", 8-"鍙冲哺鍏敤鐩存祦绗竴缁勮搫鐢垫睜"
+ * "batteryCells": 1,  // 鐢垫睜鑺傛暟 1-"53-56鑺傜數姹犳湰浣�",2- "53-56鑺傜數姹犳帴绾挎煴",3- "101-104鑺傜數姹犳湰浣�", 4-"101-104鑺傜數姹犳帴绾挎煴",5-
+ *     	    "1-4鑺傜數姹犳帴绾挎煴",6- "1-4鑺傜數姹犳湰浣�",7- "49-52鑺傜數姹犳帴绾挎煴", 8-"49-52鑺傜數姹犳湰浣�",9-
+ *     	    "57-61鑺傜數姹犳湰浣�", 10-"57-61鑺傜數姹犳帴绾挎煴", 11-"96-100鑺傜數姹犳湰浣�",12- "96-100鑺傜數姹犳帴绾挎煴",13-
+ *     	    "5-9鑺傜數姹犳帴绾挎煴", 14-"5-9鑺傜數姹犳湰浣�", 15-"44-48鑺傜數姹犳帴绾挎煴", 16-"44-48鑺傜數姹犳湰浣�",17-
+ *     	    "62-65鑺傜數姹犳湰浣�", 18-"62-65鑺傜數姹犳帴绾挎煴", 19-"92-95鑺傜數姹犳湰浣�",20- "92-95鑺傜數姹犳帴绾挎煴",21-
+ *     	    "10-13鑺傜數姹犳帴绾挎煴", 22-"10-13鑺傜數姹犳湰浣�", 23-"40-43鑺傜數姹犳帴绾挎煴", 24-"40-43鑺傜數姹犳湰浣�"
+ * "identifyType": 0 ,   // 璇嗗埆绫诲瀷 0-寮傜墿璇嗗埆 1-鎸囩ず鐏瘑鍒� 2-婕忔恫璇嗗埆 3-缁撴櫠璇嗗埆 4-琛ㄨ璇嗗埆
+ * "identifyResult": True,  // 璇嗗埆缁撴灉
+ * "imagePath": "D:\room14_3_1748337299944.jpg" // 璇嗗埆缁撴灉鍥剧墖璺緞
+ */
+@Data
+@ToString
+@TableName(schema = "db_fire_robot",value = "tb_identify_alarm")
+public class IdentifyAlarm {
+
+    @TableId(value = "id",type = IdType.AUTO)
+    private int id;
+    @ApiModelProperty(value = "閲囬泦鏃堕棿")
+    private Date  gatherTime;
+    @ApiModelProperty(value = "浣嶇疆")
+    private int position;
+    @ApiModelProperty(value = "鐢垫睜鑺傛暟")
+    private int batteryCells;
+    @ApiModelProperty(value = "璇嗗埆绫诲瀷")
+    private int identifyType;
+    @ApiModelProperty(value = "璇嗗埆缁撴灉")
+    private boolean identifyResult;
+    @ApiModelProperty(value = "璇嗗埆缁撴灉鍥剧墖璺緞")
+    private String imagePath;
+
+}
diff --git a/src/main/java/com/whyc/pojo/db_fire_robot/IdentifyAlarmHis.java b/src/main/java/com/whyc/pojo/db_fire_robot/IdentifyAlarmHis.java
new file mode 100644
index 0000000..0fec936
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_fire_robot/IdentifyAlarmHis.java
@@ -0,0 +1,53 @@
+package com.whyc.pojo.db_fire_robot;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * 绠楁硶璇嗗埆鎶ヨ鍘嗗彶
+ * "type": "identifyAlarm",
+ *   "data": {
+ *     "gatherTime":"2025-03-28 13:44:31",  // 閲囬泦鏃堕棿
+ *     "position": 2,  // 浣嶇疆 1-"鍙冲哺寮�鍏崇珯鐩存祦绗簩缁勮搫鐢垫睜", 2-"鍙冲哺寮�鍏崇珯鐩存祦绗竴缁勮搫鐢垫睜",3-
+ *         "7-9鍙锋満缁勭洿娴佺浜岀粍钃勭數姹�",4- "7-9鍙锋満缁勭洿娴佺涓�缁勮搫鐢垫睜",5-
+ *         "10-12鍙锋満缁勭洿娴佺浜岀粍钃勭數姹�", 6-"10-12鍙锋満缁勭洿娴佺涓�缁勮搫鐢垫睜",7-
+ *         "鍙冲哺鍏敤鐩存祦绗簩缁勮搫鐢垫睜", 8-"鍙冲哺鍏敤鐩存祦绗竴缁勮搫鐢垫睜"
+ * "batteryCells": 1,  // 鐢垫睜鑺傛暟 1-"53-56鑺傜數姹犳湰浣�",2- "53-56鑺傜數姹犳帴绾挎煴",3- "101-104鑺傜數姹犳湰浣�", 4-"101-104鑺傜數姹犳帴绾挎煴",5-
+ *     	    "1-4鑺傜數姹犳帴绾挎煴",6- "1-4鑺傜數姹犳湰浣�",7- "49-52鑺傜數姹犳帴绾挎煴", 8-"49-52鑺傜數姹犳湰浣�",9-
+ *     	    "57-61鑺傜數姹犳湰浣�", 10-"57-61鑺傜數姹犳帴绾挎煴", 11-"96-100鑺傜數姹犳湰浣�",12- "96-100鑺傜數姹犳帴绾挎煴",13-
+ *     	    "5-9鑺傜數姹犳帴绾挎煴", 14-"5-9鑺傜數姹犳湰浣�", 15-"44-48鑺傜數姹犳帴绾挎煴", 16-"44-48鑺傜數姹犳湰浣�",17-
+ *     	    "62-65鑺傜數姹犳湰浣�", 18-"62-65鑺傜數姹犳帴绾挎煴", 19-"92-95鑺傜數姹犳湰浣�",20- "92-95鑺傜數姹犳帴绾挎煴",21-
+ *     	    "10-13鑺傜數姹犳帴绾挎煴", 22-"10-13鑺傜數姹犳湰浣�", 23-"40-43鑺傜數姹犳帴绾挎煴", 24-"40-43鑺傜數姹犳湰浣�"
+ * "identifyType": 0 ,   // 璇嗗埆绫诲瀷 0-寮傜墿璇嗗埆 1-鎸囩ず鐏瘑鍒� 2-婕忔恫璇嗗埆 3-缁撴櫠璇嗗埆 4-琛ㄨ璇嗗埆
+ * "identifyResult": True,  // 璇嗗埆缁撴灉
+ * "imagePath": "D:\room14_3_1748337299944.jpg" // 璇嗗埆缁撴灉鍥剧墖璺緞
+ */
+@Data
+@ToString
+@TableName(schema = "db_fire_robot",value = "tb_identify_alarm_his")
+public class IdentifyAlarmHis {
+
+    @TableId(value = "id",type = IdType.AUTO)
+    private int id;
+    @ApiModelProperty(value = "閲囬泦鏃堕棿")
+    private Date  gatherTime;
+    @ApiModelProperty(value = "浣嶇疆")
+    private int position;
+    @ApiModelProperty(value = "鐢垫睜鑺傛暟")
+    private int batteryCells;
+    @ApiModelProperty(value = "璇嗗埆绫诲瀷")
+    private int identifyType;
+    @ApiModelProperty(value = "璇嗗埆缁撴灉")
+    private boolean identifyResult;
+    @ApiModelProperty(value = "璇嗗埆缁撴灉鍥剧墖璺緞")
+    private String imagePath;
+    @ApiModelProperty(value = "纭鏃堕棿")
+    private Date confirmTime;
+
+}
diff --git a/src/main/java/com/whyc/pojo/db_fire_robot/RobotAlarm.java b/src/main/java/com/whyc/pojo/db_fire_robot/RobotAlarm.java
new file mode 100644
index 0000000..2ff69dc
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_fire_robot/RobotAlarm.java
@@ -0,0 +1,60 @@
+package com.whyc.pojo.db_fire_robot;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * 鎶ヨ鐘舵�佹帹閫�
+ * "pushTime":"2025-03-28 13-44-31",  // 鎺ㄩ�佹椂闂�
+ *     "MCUConnection": "DisConnected",  // 鍗曠墖鏈鸿繛鎺ョ姸鎬�
+ * "armConnection": "DisConnected",  // 鏈烘鑷傝繛鎺ョ姸鎬�
+ * "tempStatus": 0,      // 娓╁害寮傚父鎶ヨ
+ * "humidityStatus": 0,  // 婀垮害寮傚父鎶ヨ
+ * "coStatus": 0,        // 涓�姘у寲纰冲紓甯告姤璀�
+ * "co2Status": 0,       // 浜屾哀鍖栫⒊寮傚父鎶ヨ
+ * "ch4Status": 0,       // 鐢茬兎寮傚父鎶ヨ
+ * "h2Status": 0,        // 姘㈡皵寮傚父鎶ヨ
+ * "smokeStatus": 0,    // 鐑熸劅寮傚父鎶ヨ
+ * "foreignRecognition": 0,  //寮傜墿璇嗗埆寮傚父鎶ヨ
+ * "meterIdentification": 0  //娓╂箍搴﹁〃琛ㄨ寮傚父鎶ヨ
+ */
+@Data
+@ToString
+@TableName(schema = "db_fire_robot",value = "tb_robot_alarm")
+public class RobotAlarm {
+
+    @TableId(value = "id",type = IdType.AUTO)
+    private int id;
+    @ApiModelProperty(value = "鎺ㄩ�佹椂闂�")
+    private Date pushTime;
+    @ApiModelProperty(value = "鍗曠墖鏈鸿繛鎺ョ姸鎬�")
+    private String MCUConnection;
+    @ApiModelProperty(value = "鏈烘鑷傝繛鎺ョ姸鎬�")
+    private String armConnection;
+    @ApiModelProperty(value = "娓╁害寮傚父鎶ヨ")
+    private int tempStatus;
+    @ApiModelProperty(value = "婀垮害寮傚父鎶ヨ")
+    private int humidityStatus;
+    @ApiModelProperty(value = "涓�姘у寲纰冲紓甯告姤璀�")
+    private int coStatus;
+    @ApiModelProperty(value = "浜屾哀鍖栫⒊寮傚父鎶ヨ")
+    private int co2Status;
+    @ApiModelProperty(value = "鐢茬兎寮傚父鎶ヨ")
+    private int ch4Status;
+    @ApiModelProperty(value = "姘㈡皵寮傚父鎶ヨ")
+    private int h2Status;
+    @ApiModelProperty(value = "鐑熸劅寮傚父鎶ヨ")
+    private int smokeStatus;
+    @ApiModelProperty(value = "寮傜墿璇嗗埆寮傚父鎶ヨ")
+    private int foreignRecognition;
+    @ApiModelProperty(value = "娓╂箍搴﹁〃琛ㄨ寮傚父鎶ヨ")
+    private int meterIdentification;
+
+
+}
diff --git a/src/main/java/com/whyc/pojo/db_fire_robot/RobotStatus.java b/src/main/java/com/whyc/pojo/db_fire_robot/RobotStatus.java
new file mode 100644
index 0000000..cdd4ac1
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/db_fire_robot/RobotStatus.java
@@ -0,0 +1,56 @@
+package com.whyc.pojo.db_fire_robot;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * "mode": 1,    // 褰撳墠宸℃妯″紡锛� 1-閬ユ帶銆�2-鎵嬪姩銆�3-鑷姩 4 鑷姩杩斿洖 5 鎸囧畾鐐� 6 娓╂箍搴﹁〃璁�
+ * "position": 5,  // 褰撳墠浣嶇疆鐐逛綅锛�0銆�1銆�2銆�3鈥︹��16
+ * "regposition": 5,  // 褰撳墠浣嶇疆鍖洪棿锛�0-1銆�2-3鈥︹��
+ * "perposition": 56,  // 褰撳墠浣嶇疆鍖洪棿鐧惧垎姣旓紝鍗曚綅锛�%
+ * "state": 0,  // 褰撳墠鐘舵�侊細0-鍋滆溅銆�1-鍓嶈繘銆�2-宸﹁浆銆�3-鍙宠浆銆� 4-鍊掕溅
+ * "interval": 10,            // 宸℃闂撮殧锛屽崟浣嶏細灏忔椂
+ *     "charging": false,         // 鏄惁鍏呯數
+ *     "battery": 85             // 褰撳墠鐢甸噺锛屽崟浣嶏細%
+ */
+@Data
+@ToString
+@TableName(schema = "db_fire_robot",value = "tb_robot_status")
+public class RobotStatus {
+
+    @TableId(value = "id",type = IdType.AUTO)
+    private int id;
+
+    @ApiModelProperty(value = "褰撳墠宸℃妯″紡锛� 1-閬ユ帶銆�2-鎵嬪姩銆�3-鑷姩 4 鑷姩杩斿洖 5 鎸囧畾鐐� 6 娓╂箍搴﹁〃璁�")
+    private int mode;
+
+    @ApiModelProperty(value = "褰撳墠浣嶇疆鐐逛綅锛�0銆�1銆�2銆�3鈥︹��16")
+    private int position;
+
+    @ApiModelProperty(value = "褰撳墠浣嶇疆鍖洪棿锛�0-1銆�2-3鈥︹��")
+    private int regposition;
+
+    @ApiModelProperty(value = "褰撳墠浣嶇疆鍖洪棿鐧惧垎姣旓紝鍗曚綅锛�%")
+    private int perposition;
+
+    @ApiModelProperty(value = "褰撳墠鐘舵�侊細0-鍋滆溅銆�1-鍓嶈繘銆�2-宸﹁浆銆�3-鍙宠浆銆� 4-鍊掕溅")
+    private int state;
+
+    @ApiModelProperty(value = "宸℃闂撮殧锛屽崟浣嶏細灏忔椂")
+    private int interval;
+
+    @ApiModelProperty(value = "鏄惁鍏呯數")
+    private boolean charging;
+
+    @ApiModelProperty(value = "褰撳墠鐢甸噺锛屽崟浣嶏細%")
+    private int battery;
+
+    private Date recordTime;
+
+}
diff --git a/src/main/java/com/whyc/service/EnvironmentService.java b/src/main/java/com/whyc/service/EnvironmentService.java
new file mode 100644
index 0000000..78d1887
--- /dev/null
+++ b/src/main/java/com/whyc/service/EnvironmentService.java
@@ -0,0 +1,18 @@
+package com.whyc.service;
+
+import com.whyc.mapper.EnvironmentMapper;
+import com.whyc.pojo.db_fire_robot.Environment;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class EnvironmentService {
+
+    @Resource
+    private EnvironmentMapper mapper;
+
+    public void add(Environment env) {
+        mapper.insert(env);
+    }
+}
diff --git a/src/main/java/com/whyc/service/EnvironmentThresholdService.java b/src/main/java/com/whyc/service/EnvironmentThresholdService.java
new file mode 100644
index 0000000..af0647f
--- /dev/null
+++ b/src/main/java/com/whyc/service/EnvironmentThresholdService.java
@@ -0,0 +1,18 @@
+package com.whyc.service;
+
+import com.whyc.mapper.EnvironmentThresholdMapper;
+import com.whyc.pojo.db_fire_robot.EnvironmentThreshold;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class EnvironmentThresholdService {
+
+    @Resource
+    private EnvironmentThresholdMapper mapper;
+
+    public void add(EnvironmentThreshold threshold) {
+        mapper.insert(threshold);
+    }
+}
diff --git a/src/main/java/com/whyc/service/IdentifyAlarmService.java b/src/main/java/com/whyc/service/IdentifyAlarmService.java
new file mode 100644
index 0000000..c84121f
--- /dev/null
+++ b/src/main/java/com/whyc/service/IdentifyAlarmService.java
@@ -0,0 +1,19 @@
+package com.whyc.service;
+
+import com.whyc.mapper.EnvironmentMapper;
+import com.whyc.mapper.IdentifyAlarmMapper;
+import com.whyc.pojo.db_fire_robot.IdentifyAlarm;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class IdentifyAlarmService {
+
+    @Resource
+    private IdentifyAlarmMapper mapper;
+
+    public void add(IdentifyAlarm alarm) {
+        mapper.insert(alarm);
+    }
+}
diff --git a/src/main/java/com/whyc/service/RobotAlarmService.java b/src/main/java/com/whyc/service/RobotAlarmService.java
new file mode 100644
index 0000000..f542634
--- /dev/null
+++ b/src/main/java/com/whyc/service/RobotAlarmService.java
@@ -0,0 +1,19 @@
+package com.whyc.service;
+
+import com.whyc.mapper.EnvironmentMapper;
+import com.whyc.mapper.RobotAlarmMapper;
+import com.whyc.pojo.db_fire_robot.RobotAlarm;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class RobotAlarmService {
+
+    @Resource
+    private RobotAlarmMapper mapper;
+
+    public void add(RobotAlarm alarm) {
+        mapper.insert(alarm);
+    }
+}
diff --git a/src/main/java/com/whyc/service/RobotStatusService.java b/src/main/java/com/whyc/service/RobotStatusService.java
new file mode 100644
index 0000000..fdaadcf
--- /dev/null
+++ b/src/main/java/com/whyc/service/RobotStatusService.java
@@ -0,0 +1,18 @@
+package com.whyc.service;
+
+import com.whyc.mapper.RobotStatusMapper;
+import com.whyc.pojo.db_fire_robot.RobotStatus;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class RobotStatusService {
+
+    @Resource
+    private RobotStatusMapper mapper;
+
+    public void add(RobotStatus status) {
+        mapper.insert(status);
+    }
+}
diff --git a/src/main/java/com/whyc/webSocket/receiver/ThirdPartyWebSocketHandler.java b/src/main/java/com/whyc/webSocket/receiver/ThirdPartyWebSocketHandler.java
index 37f3bc3..9e5b13d 100644
--- a/src/main/java/com/whyc/webSocket/receiver/ThirdPartyWebSocketHandler.java
+++ b/src/main/java/com/whyc/webSocket/receiver/ThirdPartyWebSocketHandler.java
@@ -1,17 +1,40 @@
 package com.whyc.webSocket.receiver;
 
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.whyc.dto.FireRobotData;
+import com.whyc.pojo.db_fire_robot.*;
+import com.whyc.service.*;
+import com.whyc.util.JsonUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.socket.CloseStatus;
 import org.springframework.web.socket.TextMessage;
-import org.springframework.web.socket.WebSocketHttpHeaders;
 import org.springframework.web.socket.WebSocketSession;
 import org.springframework.web.socket.handler.TextWebSocketHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Date;
+
 public class ThirdPartyWebSocketHandler extends TextWebSocketHandler {
 
     private static final Logger log = LoggerFactory.getLogger(ThirdPartyWebSocketHandler.class);
     private WebSocketSession session;
+
+    @Autowired
+    private EnvironmentService environmentService;
+
+    @Autowired
+    private EnvironmentThresholdService environmentThresholdService;
+
+    @Autowired
+    private RobotAlarmService  robotAlarmService;
+
+    @Autowired
+    private RobotStatusService robotStatusService;
+
+    @Autowired
+    private IdentifyAlarmService  identifyAlarmService;
 
     @Override
     public void afterConnectionEstablished(WebSocketSession session) {
@@ -24,6 +47,51 @@
         log.info("Received message: {}", message.getPayload());
         // 鍙互鍦ㄨ繖閲屽仛涓氬姟澶勭悊锛屾瘮濡傚彂甯冧簨浠躲�佸瓨鍏ラ槦鍒楃瓑
         String jsonStr = message.getPayload();
+        Gson gson = JsonUtil.getGson();
+        FireRobotData fireRobotData = gson.fromJson(jsonStr, FireRobotData.class);
+        Date now = new Date();
+        switch (fireRobotData.getType()){
+            case "environment": {
+                FireRobotData<Environment> data = gson.fromJson(jsonStr, new TypeToken<FireRobotData<Environment>>() {
+                }.getType());
+                Environment env = data.getData();
+                env.setRecordTime(now);
+                //瀛樺叆鏁版嵁搴�
+                environmentService.add(env);
+            }break;
+            case "status": {
+                FireRobotData<RobotStatus> data = gson.fromJson(jsonStr, new TypeToken<FireRobotData<RobotStatus>>() {
+                }.getType());
+                RobotStatus status = data.getData();
+                status.setRecordTime(now);
+                //瀛樺叆鏁版嵁搴�
+                robotStatusService.add(status);
+            }break;
+            case "alarm": {
+                FireRobotData<RobotAlarm> data = gson.fromJson(jsonStr, new TypeToken<FireRobotData<RobotAlarm>>() {
+                }.getType());
+                RobotAlarm alarm = data.getData();
+                //瀛樺叆鏁版嵁搴�
+                robotAlarmService.add(alarm);
+            }break;
+            case "threshold": {
+                FireRobotData<EnvironmentThreshold> data = gson.fromJson(jsonStr, new TypeToken<FireRobotData<EnvironmentThreshold>>() {
+                }.getType());
+                EnvironmentThreshold threshold = data.getData();
+                threshold.setRecordTime(now);
+                //瀛樺叆鏁版嵁搴�
+                environmentThresholdService.add(threshold);
+            }break;
+            case "identifyAlarm": {
+                FireRobotData<IdentifyAlarm> data = gson.fromJson(jsonStr, new TypeToken<FireRobotData<IdentifyAlarm>>() {
+                }.getType());
+                IdentifyAlarm alarm = data.getData();
+                //瀛樺叆鏁版嵁搴�
+                identifyAlarmService.add(alarm);
+            }break;
+            default:
+                break;
+        }
 
     }
 

--
Gitblit v1.9.1