src/main/java/com/whyc/service/DocLogService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/webSocket/LogSocket.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/service/DocLogService.java
@@ -1,6 +1,7 @@ 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.constant.UserOperation; @@ -16,6 +17,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -170,4 +172,24 @@ }); return new Response().setII(1,list.size()>0,list,"数据返回"); } public List<DocLog> getListOfToday() { Calendar startTime = Calendar.getInstance(); startTime.set(Calendar.HOUR_OF_DAY,0); startTime.set(Calendar.MINUTE,0); startTime.set(Calendar.SECOND,0); Calendar endTime = Calendar.getInstance(); endTime.set(Calendar.HOUR_OF_DAY,23); endTime.set(Calendar.MINUTE,59); endTime.set(Calendar.SECOND,59); QueryWrapper<DocLog> query = Wrappers.query(); query.ge("oprate_day",startTime.getTime()); query.le("oprate_day",endTime.getTime()); return mapper.selectList(query); } } src/main/java/com/whyc/webSocket/LogSocket.java
New file @@ -0,0 +1,72 @@ package com.whyc.webSocket; import com.whyc.config.WebSocketConfig; import com.whyc.dto.Response; import com.whyc.pojo.DocLog; import com.whyc.service.DocLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.websocket.*; import javax.websocket.server.ServerEndpoint; import java.io.IOException; import java.util.List; /** * 通用日志 */ @Component @ServerEndpoint(value = "/log",encoders = WebSocketEncoder.class,configurator = WebSocketConfig.class) public class LogSocket { private Session session; private Thread thread; private static DocLogService logService; @Autowired public void setLogService(DocLogService logService) { LogSocket.logService = logService; } @OnOpen public void onOpen(Session session, EndpointConfig config){ this.session = session; Thread thread = new Thread() { @Override public void run() { try{ while (!currentThread().isInterrupted()) { List<DocLog> logList = logService.getListOfToday(); session.getBasicRemote().sendObject(new Response<>().set(1,logList,"查询完成")); 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(); } } }