From e8e363ad0347cd1313e3a23cd3f4f2a02733e765 Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期四, 29 五月 2025 09:18:04 +0800
Subject: [PATCH] 算法识别告警更新

---
 src/main/java/com/whyc/webSocket/FireRobotSocket.java       |   73 ++++++++++++++++++++++++
 src/main/java/com/whyc/service/IdentifyAlarmHisService.java |   33 +++++++++++
 src/main/resources/config/application-dev.yml               |    5 +
 src/main/java/com/whyc/mapper/IdentifyAlarmHisMapper.java   |    6 ++
 src/main/java/com/whyc/dto/FireRobotData.java               |   22 +++++++
 src/main/resources/config/application-prod.yml              |    2 
 6 files changed, 138 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/whyc/dto/FireRobotData.java b/src/main/java/com/whyc/dto/FireRobotData.java
new file mode 100644
index 0000000..d910a54
--- /dev/null
+++ b/src/main/java/com/whyc/dto/FireRobotData.java
@@ -0,0 +1,22 @@
+package com.whyc.dto;
+
+public class FireRobotData<T> {
+    private String type;
+    private T data;
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public T getData() {
+        return data;
+    }
+
+    public void setData(T data) {
+        this.data = data;
+    }
+}
diff --git a/src/main/java/com/whyc/mapper/IdentifyAlarmHisMapper.java b/src/main/java/com/whyc/mapper/IdentifyAlarmHisMapper.java
new file mode 100644
index 0000000..a34ac2e
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/IdentifyAlarmHisMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_fire_robot.IdentifyAlarmHis;
+
+public interface IdentifyAlarmHisMapper extends CustomMapper<IdentifyAlarmHis>{
+}
diff --git a/src/main/java/com/whyc/service/IdentifyAlarmHisService.java b/src/main/java/com/whyc/service/IdentifyAlarmHisService.java
new file mode 100644
index 0000000..9a40265
--- /dev/null
+++ b/src/main/java/com/whyc/service/IdentifyAlarmHisService.java
@@ -0,0 +1,33 @@
+package com.whyc.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.whyc.dto.Response;
+import com.whyc.mapper.IdentifyAlarmHisMapper;
+import com.whyc.pojo.db_fire_robot.IdentifyAlarmHis;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class IdentifyAlarmHisService {
+
+    @Autowired
+    private IdentifyAlarmHisMapper mapper;
+
+    public void add(IdentifyAlarmHis his) {
+        mapper.insert(his);
+    }
+
+    public Response<PageInfo<IdentifyAlarmHis>> getPage(int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum,pageSize);
+        QueryWrapper<IdentifyAlarmHis> query = Wrappers.query();
+        query.orderByDesc("gather_time");
+        List<IdentifyAlarmHis> list = mapper.selectList(query);
+        PageInfo<IdentifyAlarmHis> pageInfo = new PageInfo<>(list);
+        return new Response<PageInfo<IdentifyAlarmHis>>().set(1,pageInfo);
+    }
+}
diff --git a/src/main/java/com/whyc/webSocket/FireRobotSocket.java b/src/main/java/com/whyc/webSocket/FireRobotSocket.java
new file mode 100644
index 0000000..29127f8
--- /dev/null
+++ b/src/main/java/com/whyc/webSocket/FireRobotSocket.java
@@ -0,0 +1,73 @@
+package com.whyc.webSocket;
+
+import com.whyc.config.WebSocketConfig;
+import com.whyc.dto.Response;
+import com.whyc.service.IdentifyAlarmService;
+import com.whyc.service.UserInfService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpSession;
+import javax.websocket.*;
+import javax.websocket.server.ServerEndpoint;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 娑堥槻鏈哄櫒浜�
+ */
+@Component
+@ServerEndpoint(value = "/fireRobot",encoders = WebSocketEncoder.class,configurator = WebSocketConfig.class)
+public class FireRobotSocket {
+
+    private Session session;
+
+    private Thread thread;
+    private static IdentifyAlarmService identifyAlarmService;
+
+    @Autowired
+    public void setIdentifyAlarmService(IdentifyAlarmService identifyAlarmService) {
+        FireRobotSocket.identifyAlarmService = identifyAlarmService;
+    }
+
+    @OnOpen
+    public void onOpen(Session session, EndpointConfig config){
+        this.session = session;
+
+        Thread thread = new Thread() {
+            @Override
+            public void run() {
+                try {
+                    while (!currentThread().isInterrupted()) {
+                        Response res = identifyAlarmService.getList();
+                        session.getBasicRemote().sendObject(res);
+                        sleep(4000);
+                    }
+                } catch (Exception e) {
+                    this.interrupt();
+                }
+            }
+        };
+        thread.start();
+        this.thread = thread;
+    }
+
+    @OnClose
+    public void onClose(CloseReason closeReason) throws IOException {
+        System.err.println("closeReason = " + closeReason);
+        if(session.isOpen()){
+            session.close();
+        }
+    }
+
+    @OnError
+    public void onError(Throwable error) throws IOException {
+        error.printStackTrace();
+        thread.isInterrupted();
+        if(session.isOpen()){
+            session.close();
+        }
+    }
+
+}
diff --git a/src/main/resources/config/application-dev.yml b/src/main/resources/config/application-dev.yml
index 1aab1d6..36f8055 100644
--- a/src/main/resources/config/application-dev.yml
+++ b/src/main/resources/config/application-dev.yml
@@ -3,7 +3,7 @@
   type: 1
 #鏈嶅姟绔彛鍙�
 server:
-  port: 8087
+  port: 8088
   serverHeader:
   servlet:
     context-path: /br
@@ -20,6 +20,7 @@
   datasource:
     type: com.alibaba.druid.pool.DruidDataSource
     driver-class-name: com.highgo.jdbc.Driver
+#    url: jdbc:highgo://192.168.10.134:5866/highgo?rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
     url: jdbc:highgo://192.168.10.183:5866/highgo?rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
     username: sysdba
     password: Fg001@HDWw
@@ -37,7 +38,7 @@
       max-file-size: 200MB
       max-request-size: 200MB
 mybatis-plus:
-  typeAliasesPackage: com.whyc.pojo,com.whyc.dto
+  typeAliasesPackage: com.whyc.pojo
   mapper-locations: classpath:mapper/**/*Mapper.xml
   global-config:
     db-config:
diff --git a/src/main/resources/config/application-prod.yml b/src/main/resources/config/application-prod.yml
index 6b2eff5..26f0be2 100644
--- a/src/main/resources/config/application-prod.yml
+++ b/src/main/resources/config/application-prod.yml
@@ -32,7 +32,7 @@
       max-file-size: 200MB
       max-request-size: 200MB
 mybatis-plus:
-  typeAliasesPackage: com.whyc.pojo,com.whyc.dto
+  typeAliasesPackage: com.whyc.pojo
   mapper-locations: classpath:mapper/**/*Mapper.xml
   global-config:
     db-config:

--
Gitblit v1.9.1