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