src/main/java/com/whyc/controller/DevalarmDataHisController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/DevalarmDataMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/DevalarmDataService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/webSocket/DevAlmPopUp.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/DevalarmDataMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/DevalarmDataHisController.java
@@ -2,8 +2,10 @@ import com.whyc.dto.DalmDto; import com.whyc.dto.Response; import com.whyc.pojo.db_user.UserInf; import com.whyc.service.BatttestdataInfService; import com.whyc.service.DevalarmDataService; import com.whyc.util.ActionUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -24,6 +26,12 @@ public Response getDAlmInf(@RequestParam int uid, @RequestBody DalmDto dto){ return dataService.getDAlmInf(uid,dto); } @ApiOperation(value = "弹窗告警") @GetMapping("getDAlmPopUp") public Response getDAlmPopUp(){ UserInf uinf= ActionUtil.getUser(); return dataService.getDAlmPopUp(uinf.getUid()); } @ApiOperation(value = "获取历史告警") @PostMapping("getDAlmHis") src/main/java/com/whyc/mapper/DevalarmDataMapper.java
@@ -9,4 +9,6 @@ public interface DevalarmDataMapper extends CustomMapper<DevalarmData>{ //获取设备告警信息 List<DevalarmData> getDAlmInf(@Param("dto") DalmDto dto); //弹窗告警 List<DevalarmData> getDAlmPopUp(@Param("uid") int uid); } src/main/java/com/whyc/service/DevalarmDataService.java
@@ -78,4 +78,13 @@ Map<Integer,String> map=DevAlmEnum.getOpInfo(); return new Response().setII(1,true,map,"获取所有的告警类型"); } //弹窗告警 public Response getDAlmPopUp(Integer uid) { List<DevalarmData> list=mapper.getDAlmPopUp(uid); for (DevalarmData data:list) { int almId=data.getAlmId(); data.setAlmName(DevAlmEnum.getValue(almId)); } return new Response().setII(1,list!=null,list,"弹窗告警"); } } src/main/java/com/whyc/webSocket/DevAlmPopUp.java
New file @@ -0,0 +1,77 @@ package com.whyc.webSocket; import com.whyc.config.WebSocketConfig; import com.whyc.dto.Response; import com.whyc.service.DevInfService; import com.whyc.service.DevalarmDataService; 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 = "/almPop",encoders = WebSocketEncoder.class,configurator = WebSocketConfig.class) public class DevAlmPopUp{ private Session session; private Thread thread; private static DevalarmDataService almService; private HttpSession httpSession; @Autowired public void setDevalarmDataService(DevalarmDataService almService) { DevAlmPopUp.almService = almService; } @OnOpen public void onOpen(Session session, EndpointConfig config){ this.httpSession = (HttpSession) config.getUserProperties().get("httpSession"); //UserInf user = (UserInf) this.httpSession.getAttribute("user"); //final int userId = user.getUid(); final int userId = 101; Thread thread = new Thread() { @Override public void run() { try { while (!currentThread().isInterrupted()) { Response res = almService.getDAlmPopUp(userId); 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(); } } } src/main/resources/mapper/DevalarmDataMapper.xml
@@ -52,5 +52,16 @@ <select id="selectDinf" resultType="devInf" parameterType="int" > select * from db_lithium_ram_db.tb_dev_inf where dev_id = #{dev_id} </select> <select id="getDAlmPopUp" resultType="com.whyc.pojo.db_alarm.DevalarmData"> select * from db_alarm.tb_devalarm_data <where> dev_id in ( SELECT distinct dev_id from db_user.tb_battgroup_baojigroup,db_user.tb_battgroup_usr where tb_battgroup_baojigroup.baoji_group_id=tb_battgroup_usr.baoji_group_id and uid=#{uid} ) </where> </select> </mapper>