| | |
| | | @PostMapping("/getBattAlarm") |
| | | @ApiOperation("获取电池告警数据") |
| | | public Response getBattAlarm(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber) { |
| | | return service.getBattAlarm(interfaceParam.getBattgroupIds(), interfaceNumber); |
| | | return service.getBattAlarm(interfaceParam.getBattgroupIds(), interfaceNumber, null); |
| | | } |
| | | |
| | | @PostMapping("/getDevAlarm") |
| | |
| | | import com.whyc.dto.ServiceModel; |
| | | import com.whyc.factory.FaceEngineFactory; |
| | | import com.whyc.mapper.CommonMapper; |
| | | import com.whyc.mapper.LicenseMapper; |
| | | import com.whyc.mapper.PageParamUserMapper; |
| | | import com.whyc.service.InterfaceService; |
| | | import com.whyc.service.LicenseService; |
| | | import com.whyc.service.PageParamService; |
| | | import com.whyc.service.ProcessSurveyService; |
| | | import com.whyc.util.ActionUtil; |
| | | import com.whyc.util.HttpUtil; |
| | | import com.whyc.util.PropertiesUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.ServletContext; |
| | | import javax.servlet.ServletContextEvent; |
| | | import javax.servlet.ServletContextListener; |
| | | import javax.servlet.annotation.WebListener; |
| | | import java.io.FileInputStream; |
| | | import java.io.InputStreamReader; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.Map; |
| | | import java.util.Properties; |
| | | |
| | | /** |
| | | * 应用启动时初始化 |
| | |
| | | //版本迭代需要打补丁,PageParamUser追加字段type,扩展表的使用范围,原来表记录的type字段统一追加为1 |
| | | pageParamUserMapper.setOldRecord(); |
| | | //告警实时数据 |
| | | Map<String, Object> alarmMap = interfaceService.getAlarmMap(); |
| | | Map<String, Object> alarmMap = interfaceService.getAlarmMap(null); |
| | | application.setAttribute("alarmMap",alarmMap); |
| | | //更新平台版本号和启动时间 |
| | | processSurveyService.updateWebStartTimeAndVersion(); |
| | |
| | | import com.whyc.pojo.*; |
| | | import com.whyc.util.ActionUtil; |
| | | import com.whyc.util.CommonUtil; |
| | | import com.whyc.util.MessageUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import java.util.*; |
| | | import java.util.concurrent.atomic.AtomicLong; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static org.assertj.core.util.Maps.format; |
| | | |
| | | /** |
| | | * 告警:电池/设备/电源告警的统一接口 |
| | |
| | | |
| | | public Map<String, Object> getAlarmLevel1ListMap() { |
| | | Long userId = ActionUtil.getUser().getUId(); |
| | | List<BattalarmData> battAlarmList = battAlarmDataService.getList(userId,1); |
| | | battAlarmList = battAlarmList.stream().filter(alarm->alarm.getAlmLevel().equals(1)).collect(Collectors.toList()); |
| | | String lang = ActionUtil.getLang(); |
| | | List<BattalarmData> battAlarmList = battAlarmDataService.getList(userId, 1); |
| | | battAlarmList = battAlarmList.stream().filter(alarm -> alarm.getAlmLevel().equals(1)).collect(Collectors.toList()); |
| | | //相同设备id+告警类型的语音,只保留一条 |
| | | Map<String, List<BattalarmData>> battAlarmListMap = battAlarmList.stream().collect(Collectors.groupingBy(a -> a.getBattGroupId() + "_" + a.getAlmSignalId())); |
| | | Set<String> keySet = battAlarmListMap.keySet(); |
| | | battAlarmList.clear(); |
| | | for (String key:keySet){ |
| | | for (String key : keySet) { |
| | | battAlarmList.add(battAlarmListMap.get(key).get(0)); |
| | | } |
| | | |
| | | for (BattalarmData adata : battAlarmList) { |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | |
| | | List<DevalarmData> devAlarmList = devAlarmDataService.getList(userId,1); |
| | |
| | | } |
| | | //电池告警实时查询 |
| | | public Response serchByCondition(AlarmPar par) { |
| | | String lang = ActionUtil.getLang(); |
| | | //分页信息 |
| | | PageHelper.startPage(par.getPage().getPageCurr(), par.getPage().getPageSize()); |
| | | UserInf uinf = ActionUtil.getUser(); |
| | |
| | | for (AlarmRes a : list) { |
| | | List<BattalarmData> l = a.getAdatas(); |
| | | for (BattalarmData adata : l) { |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | } |
| | | PageInfo<AlarmRes> pinfo = new PageInfo<AlarmRes>(list); |
| | |
| | | |
| | | //电池告警实时查询-websocket使用 |
| | | @Transactional |
| | | public Response getSendBattAlarmOfWebSocket(Integer uId) { |
| | | List<BattalarmData> list=mapper.getSendBattAlarm(uId); |
| | | public Response getSendBattAlarmOfWebSocket(Integer uId, String lang) { |
| | | List<BattalarmData> list = mapper.getSendBattAlarm(uId); |
| | | Date now = new Date(); |
| | | ListIterator<BattalarmData> it = list.listIterator(); |
| | | while (it.hasNext()){ |
| | | while (it.hasNext()) { |
| | | BattalarmData adata = it.next(); |
| | | if(adata.getAlmLevel()==1 && adata.getRecordTime()!=null && now.getTime()-adata.getRecordTime().getTime()<24*3600000){ |
| | | if (adata.getAlmLevel() == 1 && adata.getRecordTime() != null && now.getTime() - adata.getRecordTime().getTime() < 24 * 3600000) { |
| | | it.remove(); |
| | | } |
| | | if(adata.getAlmLevel()==2 && adata.getRecordTime()!=null && now.getTime()-adata.getRecordTime().getTime()<7*24*3600000){ |
| | | if (adata.getAlmLevel() == 2 && adata.getRecordTime() != null && now.getTime() - adata.getRecordTime().getTime() < 7 * 24 * 3600000) { |
| | | it.remove(); |
| | | } |
| | | if(adata.getAlmLevel()==3 && adata.getRecordTime()!=null && now.getTime()-adata.getRecordTime().getTime()<30*7*24*3600000){ |
| | | if (adata.getAlmLevel() == 3 && adata.getRecordTime() != null && now.getTime() - adata.getRecordTime().getTime() < 30 * 7 * 24 * 3600000) { |
| | | it.remove(); |
| | | } |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | return new Response().set(1,list); |
| | | } |
| | |
| | | int[] alarmParams = {AlarmDaoFactory.Alarm_CapAlarm, AlarmDaoFactory.Alarm_CapChange, AlarmDaoFactory.Alarm_res_Conn, AlarmDaoFactory.ALM_TYPE_DisChargeMonVol_ID}; |
| | | List<BattalarmData> lista = mapper.getRealAlarm(yesterday, uId, alarmParams); |
| | | for (BattalarmData battAlarm : lista) { |
| | | battAlarm.setAlarmName(AlarmDaoFactory.getAlarmName(battAlarm.getAlmSignalId())); |
| | | battAlarm.setAlarmName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(battAlarm.getAlmSignalId()), lang)); |
| | | } |
| | | List<DevalarmData> listd = devalarmDataMapper.getRealAlarm(yesterday, uId); |
| | | if (listd != null && listd.size() > 0) { |
| | |
| | | import com.whyc.mapper.*; |
| | | import com.whyc.pojo.*; |
| | | import com.whyc.util.ActionUtil; |
| | | import com.whyc.util.MessageUtils; |
| | | import com.whyc.util.RSAUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | @Autowired(required = false) |
| | | private InterfaceMapper interfaceMapper; |
| | | |
| | | @Autowired |
| | | @Autowired(required = false) |
| | | private BattMapInformationMapper mapMapper; |
| | | |
| | | @Autowired |
| | | private Fbs9100SetparamService fbs9100SetparamService; |
| | | |
| | | @Autowired |
| | | @Autowired(required = false) |
| | | private Fbs9100SetparamMapper fbs9100SetparamMapper; |
| | | |
| | | public Response getBattinf(int pageNum, int pageSize, String interfaceNumber) { |
| | |
| | | |
| | | //电池告警实时查询-websocket使用 |
| | | @Transactional |
| | | public Response getBattAlarm(List battgroupIds, String interfaceNumber) { |
| | | public Response getBattAlarm(List battgroupIds, String interfaceNumber, String lang) { |
| | | //先验证 |
| | | int flag = decryptInterface(interfaceNumber); |
| | | if (flag == 1) { |
| | |
| | | for (AlarmRes a : list) { |
| | | List<BattalarmData> l = a.getAdatas(); |
| | | for (BattalarmData adata : l) { |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | } |
| | | // PageInfo<AlarmRes> pinfo=new PageInfo<AlarmRes>(list); |
| | |
| | | //电池告警历史查询 |
| | | @Transactional |
| | | public Response getBattAlarmHistory(List battgroupIds, String interfaceNumber, int pageNum, int pageSize) { |
| | | String lang = ActionUtil.getLang(); |
| | | //先验证 |
| | | int flag = decryptInterface(interfaceNumber); |
| | | if (flag == 1) { |
| | |
| | | for (AlarmRes a : list) { |
| | | List<BattalarmData> l = a.getAdatas(); |
| | | for (BattalarmData adata : l) { |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | } |
| | | PageInfo<AlarmRes> pageInfo = new PageInfo<AlarmRes>(list); |
| | |
| | | } |
| | | |
| | | |
| | | public Response getAlarmDiffMap(String interfaceNumber) { |
| | | public Response getAlarmDiffMap(String interfaceNumber, String lang) { |
| | | //先验证 |
| | | int flag = decryptInterface(interfaceNumber); |
| | | if (flag == 1) { |
| | |
| | | ServletContext application = ActionUtil.getApplication(); |
| | | Map<String, Object> alarmMap = (Map<String, Object>) application.getAttribute("alarmMap"); |
| | | //获取当前的告警列表 |
| | | Map<String, Object> alarmMapNow = getAlarmMap(); |
| | | Map<String, Object> alarmMapNow = getAlarmMap(lang); |
| | | |
| | | List<BattalarmData> battAlarmList = (List<BattalarmData>) alarmMap.get("battAlarmList"); |
| | | List<DevalarmData> devAlarmList = (List<DevalarmData>) alarmMap.get("devAlarmList"); |
| | |
| | | } |
| | | } |
| | | |
| | | public Map<String, Object> getAlarmMap() { |
| | | public Map<String, Object> getAlarmMap(String lang) { |
| | | List<BattalarmData> battAlarmList = battalarmDataMapper.getBattAlarm2(); |
| | | for (BattalarmData adata : battAlarmList) { |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | |
| | | List devAlarmList = devalarmDataMapper.getDevAlarm2(); |
| | |
| | | } |
| | | |
| | | public Response getRealTimeAlarm(InterfaceParam param) { |
| | | String lang = ActionUtil.getLang(); |
| | | int flag = decryptInterface(param.getInterfaceNumber()); |
| | | if (flag == 1) { |
| | | Map<String,List> map = new HashMap<>(); |
| | |
| | | for (AlarmRes a : battAlarmList) { |
| | | List<BattalarmData> l = a.getAdatas(); |
| | | for (BattalarmData adata : l) { |
| | | adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId())); |
| | | adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); |
| | | adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang)); |
| | | adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang)); |
| | | } |
| | | } |
| | | map.put("battAlarmList",battAlarmList); |
| | |
| | | package com.whyc.webSocket; |
| | | |
| | | import com.whyc.dto.InterfaceParam; |
| | | import com.whyc.config.WebSocketConfig; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.service.InterfaceService; |
| | | import com.whyc.util.ActionUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.servlet.http.HttpSession; |
| | | import javax.websocket.*; |
| | | import javax.websocket.server.PathParam; |
| | | import javax.websocket.server.ServerEndpoint; |
| | |
| | | import java.util.Map; |
| | | |
| | | @Component |
| | | @ServerEndpoint(value = "/interfaceAlarm/{interfaceNumber}",encoders = WebSocketEncoder.class) |
| | | @ServerEndpoint(value = "/interfaceAlarm/{interfaceNumber}", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class) |
| | | public class InterfaceAlarmSocket { |
| | | private volatile Thread thread; |
| | | |
| | | private static final int executeTime = 10000; |
| | | |
| | | private volatile boolean runFlag=true; |
| | | private volatile boolean runFlag = true; |
| | | |
| | | private volatile Map<String,Thread> threadMap = new HashMap<>(); |
| | | private volatile Map<String, Thread> threadMap = new HashMap<>(); |
| | | |
| | | private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>(); |
| | | private volatile Map<Long, Boolean> threadFlagMap = new HashMap<>(); |
| | | |
| | | private static InterfaceService service; |
| | | |
| | | private Session session; |
| | | |
| | | private HttpSession httpSession; |
| | | |
| | | @Autowired |
| | | public void setService(InterfaceService service){ |
| | | public void setService(InterfaceService service) { |
| | | InterfaceAlarmSocket.service = service; |
| | | } |
| | | |
| | | @OnOpen |
| | | public void onOpen(Session session, @PathParam("interfaceNumber") String interfaceNumber){ |
| | | this.session=session; |
| | | public void onOpen(Session session, @PathParam("interfaceNumber") String interfaceNumber, EndpointConfig config) { |
| | | this.session = session; |
| | | this.httpSession = (HttpSession) config.getUserProperties().get("httpSession"); |
| | | String lang = (String) this.httpSession.getAttribute("lang"); |
| | | Thread thread = new Thread() { |
| | | @Override |
| | | public void run() { |
| | | try { |
| | | while (!currentThread().isInterrupted()) { |
| | | Response res = service.getAlarmDiffMap(interfaceNumber); |
| | | Response res = service.getAlarmDiffMap(interfaceNumber, lang); |
| | | session.getBasicRemote().sendObject(res); |
| | | sleep(4000); |
| | | } |
| | |
| | | package com.whyc.webSocket; |
| | | |
| | | import com.whyc.config.WebSocketConfig; |
| | | import com.whyc.dto.InterfaceParam; |
| | | import com.whyc.service.InterfaceService; |
| | | import com.whyc.util.ActionUtil; |
| | | 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.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @Component |
| | | @ServerEndpoint(value = "/interfaceBattAlarm",encoders = WebSocketEncoder.class) |
| | | @ServerEndpoint(value = "/interfaceBattAlarm", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class) |
| | | public class InterfaceBattAlarmSocket { |
| | | private volatile Thread thread; |
| | | |
| | | private static final int executeTime = 10000; |
| | | |
| | | private volatile boolean runFlag=true; |
| | | private volatile boolean runFlag = true; |
| | | |
| | | private volatile Map<String,Thread> threadMap = new HashMap<>(); |
| | | private volatile Map<String, Thread> threadMap = new HashMap<>(); |
| | | |
| | | private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>(); |
| | | private volatile Map<Long, Boolean> threadFlagMap = new HashMap<>(); |
| | | |
| | | private static InterfaceService service; |
| | | |
| | | private Session session; |
| | | |
| | | private HttpSession httpSession; |
| | | |
| | | @Autowired |
| | | public void setService(InterfaceService service){ |
| | | public void setService(InterfaceService service, EndpointConfig config) { |
| | | InterfaceBattAlarmSocket.service = service; |
| | | this.httpSession = (HttpSession) config.getUserProperties().get("httpSession"); |
| | | } |
| | | |
| | | @OnOpen |
| | | public void onOpen(Session session){ |
| | | this.session=session; |
| | | public void onOpen(Session session) { |
| | | this.session = session; |
| | | } |
| | | |
| | | @OnMessage |
| | | public synchronized void onMessage(Session session, String message){ |
| | | InterfaceParam param = ActionUtil.getGson().fromJson(message, InterfaceParam.class); |
| | | String lang = (String) this.httpSession.getAttribute("lang"); |
| | | thread = new Thread("Thread_interfaceBattAlarm") { |
| | | @Override |
| | | public void run() { |
| | |
| | | if (session.isOpen()) { |
| | | //推送信息 |
| | | synchronized (session) { |
| | | session.getBasicRemote().sendObject(service.getBattAlarm(param.getBattgroupIds(), param.getInterfaceNumber())); |
| | | session.getBasicRemote().sendObject(service.getBattAlarm(param.getBattgroupIds(), param.getInterfaceNumber(), lang)); |
| | | } |
| | | threadFlagMap.put(thread.getId(),false); |
| | | } |
| | |
| | | package com.whyc.webSocket; |
| | | |
| | | import com.whyc.config.WebSocketConfig; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.service.BattalarmDataService; |
| | | import com.whyc.service.DevalarmDataService; |
| | |
| | | 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.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @Component |
| | | @ServerEndpoint(value = "/sendAlarmData",encoders = WebSocketEncoder.class) |
| | | @ServerEndpoint(value = "/sendAlarmData", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class) |
| | | public class SendAlarmDataSocket { |
| | | private volatile Thread thread; |
| | | |
| | |
| | | |
| | | private volatile Map<String,Thread> threadMap = new HashMap<>(); |
| | | |
| | | private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>(); |
| | | private volatile Map<Long, Boolean> threadFlagMap = new HashMap<>(); |
| | | |
| | | private static BattalarmDataService battalarmDataService; |
| | | |
| | |
| | | private static PwrdevAlarmService pwrdevAlarmService; |
| | | |
| | | private Session session; |
| | | |
| | | private HttpSession httpSession; |
| | | |
| | | @Autowired |
| | | public void setService(BattalarmDataService service){ |
| | | public void setService(BattalarmDataService service) { |
| | | SendAlarmDataSocket.battalarmDataService = service; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setService(DevalarmDataService service){ |
| | | public void setService(DevalarmDataService service) { |
| | | SendAlarmDataSocket.devalarmDataService = service; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setService(PwrdevAlarmService service){ |
| | | public void setService(PwrdevAlarmService service) { |
| | | SendAlarmDataSocket.pwrdevAlarmService = service; |
| | | } |
| | | |
| | | @OnOpen |
| | | public void onOpen(Session session){ |
| | | this.session=session; |
| | | public void onOpen(Session session, EndpointConfig config) { |
| | | this.session = session; |
| | | this.httpSession = (HttpSession) config.getUserProperties().get("httpSession"); |
| | | } |
| | | |
| | | @OnMessage |
| | | public synchronized void onMessage(Session session, String uId){ |
| | | public synchronized void onMessage(Session session, String uId) { |
| | | int userId = Integer.parseInt(uId); |
| | | String lang = (String) this.httpSession.getAttribute("lang"); |
| | | thread = new Thread("Thread_sendAlarmData") { |
| | | @Override |
| | | public void run() { |
| | | while (runFlag&&!isInterrupted()) { |
| | | while (runFlag && !isInterrupted()) { |
| | | Thread thread = currentThread(); |
| | | threadFlagMap.put(thread.getId(),true); |
| | | threadFlagMap.put(thread.getId(), true); |
| | | try { |
| | | Map<String, Response> res=new HashMap<>(); |
| | | Map<String, Response> res = new HashMap<>(); |
| | | //电池告警 |
| | | Response battAlarm=battalarmDataService.getSendBattAlarmOfWebSocket(userId); |
| | | res.put("battAlarm",battAlarm); |
| | | Response battAlarm = battalarmDataService.getSendBattAlarmOfWebSocket(userId, lang); |
| | | res.put("battAlarm", battAlarm); |
| | | //设备告警 |
| | | Response devAlarm=devalarmDataService.getSendDevAlarmOfWebSocket(userId); |
| | | res.put("devAlarm",devAlarm); |
| | | Response devAlarm = devalarmDataService.getSendDevAlarmOfWebSocket(userId); |
| | | res.put("devAlarm", devAlarm); |
| | | //电源告警 |
| | | Response pwrAlarm = pwrdevAlarmService.getSendPwrAlarmOfWebSocket(userId); |
| | | res.put("pwrAlarm",pwrAlarm); |
| | | res.put("pwrAlarm", pwrAlarm); |
| | | if (session.isOpen()) { |
| | | //推送信息 |
| | | synchronized (session) { |
| | | session.getBasicRemote().sendObject(new Response().set(1, res)); |
| | | } |
| | | threadFlagMap.put(thread.getId(),false); |
| | | threadFlagMap.put(thread.getId(), false); |
| | | } |
| | | sleep(executeTime); |
| | | //} catch (IOException | InterruptedException | EncodeException e) { |
| | | //} catch (IOException | InterruptedException | EncodeException e) { |
| | | } catch (Exception e) { |
| | | interrupt(); |
| | | } |