From 6e4bbfc383846e8b01559dd33fdcdfd927e2f5be Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Mon, 14 Jul 2025 15:39:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=9A=82=E9=99=8D=E6=8C=81?= =?UTF-8?q?=E7=BB=AD=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/SqlExecuteTimeInterceptor.java | 57 +++++++++++++++++++ .../impl/LargeScreenCountServiceImpl.java | 11 ++-- .../websocket/WebSocketServer.java | 2 +- 3 files changed, 62 insertions(+), 8 deletions(-) create mode 100644 event_smart/src/main/java/com/njcn/gather/event/transientes/handler/SqlExecuteTimeInterceptor.java diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/handler/SqlExecuteTimeInterceptor.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/handler/SqlExecuteTimeInterceptor.java new file mode 100644 index 00000000..6e334dc7 --- /dev/null +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/handler/SqlExecuteTimeInterceptor.java @@ -0,0 +1,57 @@ +//package com.njcn.gather.event.transientes.handler; +// +//import org.apache.ibatis.executor.statement.StatementHandler; +//import org.apache.ibatis.plugin.*; +//import org.apache.ibatis.session.ResultHandler; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.stereotype.Component; +// +//import java.sql.Statement; +//import java.util.Properties; +// +///** +// * @Author: cdf +// * @CreateTime: 2025-07-14 +// * @Description: +// */ +//@Intercepts({ +// @Signature(type = StatementHandler.class, method = "query", args = {Statement.class, ResultHandler.class}), +// @Signature(type = StatementHandler.class, method = "update", args = {Statement.class}), +// @Signature(type = StatementHandler.class, method = "batch", args = {Statement.class}) +//}) +//@Component +//public class SqlExecuteTimeInterceptor implements Interceptor { +// private static final Logger logger = LoggerFactory.getLogger(SqlExecuteTimeInterceptor.class); +// +// @Override +// public Object intercept(Invocation invocation) throws Throwable { +// long startTime = System.currentTimeMillis(); +// try { +// return invocation.proceed(); +// } finally { +// long endTime = System.currentTimeMillis(); +// long executeTime = endTime - startTime; +// +// // 获取 SQL 语句 +// StatementHandler statementHandler = (StatementHandler) invocation.getTarget(); +// String sql = statementHandler.getBoundSql().getSql(); +// +// // 打印执行时间和 SQL +// logger.info("SQL 执行时间: {}ms, SQL: {}", executeTime, sql); +// } +// } +// +// @Override +// public Object plugin(Object target) { +// if (target instanceof StatementHandler) { +// return Plugin.wrap(target, this); +// } +// return target; +// } +// +// @Override +// public void setProperties(Properties properties) { +// // 可配置参数 +// } +//} diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java index 809249f6..da89d1e7 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java @@ -2,10 +2,7 @@ package com.njcn.gather.event.transientes.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.date.*; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -414,7 +411,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { eventDetailVO.setTimeid(temp.getTimeid()); eventDetailVO.setMs(temp.getMs()); eventDetailVO.setWavetype(temp.getWavetype().toString()); - eventDetailVO.setPersisttime(temp.getPersisttime().toString()); + eventDetailVO.setPersisttime(String.valueOf(temp.getPersisttime()/1000)); eventDetailVO.setEventvalue(temp.getEventvalue()); eventDetailVO.setLookFlag(temp.getLookFlag()); eventDetailVO.setNoticeFlag(temp.getNoticeFlag()); @@ -506,7 +503,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { eventDetailVO.setTimeid(it.getTimeid()); eventDetailVO.setMs(it.getMs()); eventDetailVO.setWavetype(it.getWavetype().toString()); - eventDetailVO.setPersisttime(it.getPersisttime().toString()); + eventDetailVO.setPersisttime(String.valueOf(it.getPersisttime()/1000)); eventDetailVO.setEventvalue(it.getEventvalue()); if (ledgerBaseInfoDTOMap.containsKey(it.getLineid())) { LedgerBaseInfoDTO ledgerBaseInfoDTO = ledgerBaseInfoDTOMap.get(it.getLineid()); @@ -883,7 +880,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { eventDetailVO.setTimeid(temp.getTimeid()); eventDetailVO.setMs(temp.getMs()); eventDetailVO.setWavetype(temp.getWavetype().toString()); - eventDetailVO.setPersisttime(temp.getPersisttime().toString()); + eventDetailVO.setPersisttime(String.valueOf(temp.getPersisttime()/1000)); eventDetailVO.setEventvalue(temp.getEventvalue()); eventDetailVO.setLookFlag(temp.getLookFlag()); eventDetailVO.setNoticeFlag(temp.getNoticeFlag()); diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/websocket/WebSocketServer.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/websocket/WebSocketServer.java index ce838f6b..fc77f69e 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/websocket/WebSocketServer.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/websocket/WebSocketServer.java @@ -74,7 +74,7 @@ public class WebSocketServer { if (executor != null) { executor.shutdownNow(); } - System.out.println("用户 " + userId + " 已断开连接,状态码: " + closeReason.getReasonPhrase()); + System.out.println("用户 " + userId + " 已断开连接,状态码: " + closeReason.getCloseCode()); } @OnError