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