package com.care.bigscreen.service.impl; import com.care.bigscreen.mapper.BigSreenMapper; import com.care.bigscreen.service.BigScreenService; import com.care.bigscreen.vo.*; import com.care.bigscreen.websocket.BigScreenWebSocketEndpoint; import com.care.common.vo.PageResVO; import com.care.common.util.PageUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @author stw * @version 1.0 * @description 站点统计表接口实现类 * @date 2021/05/20/19:41 */ @Service public class BigScreenServiceImpl implements BigScreenService { @Autowired private BigSreenMapper bigSreenMapper; /** * 大屏统计查询 * @return 搜索符合条件的大屏统计数据 */ @Override public BigScreenStatisticsVO selectBigScreenStatistics(Long stationId, Long orgId){ return bigSreenMapper.selectBigScreenStatistics(stationId,orgId); } /** * 大屏统计查询 * @return 根据经纬度范围搜索符合条件的大屏统计数据 */ @Override public BigScreenStatisticsVO selectBigScreenStatisticsByLongitudeLatitude(String longitudeLeftUp,String latitudeLeftUp,String longitudeRightDown,String latitudeRightDown,Long orgId) { return bigSreenMapper.selectBigScreenStatisticsByLongitudeLatitude(longitudeLeftUp,latitudeLeftUp,longitudeRightDown,latitudeRightDown,orgId); } /** * 站点列表查询 */ @Override public List selectBigScreenStationList(Long orgId) { return bigSreenMapper.selectBigScreenStationList(orgId); } /** * 站点列表用户数TOP5查询 */ @Override public List selectBigScreenStationListOlderTop5(Long orgId){ return bigSreenMapper.selectBigScreenStationListOlderTop5(orgId); } /** * 站点列表安全事件数TOP5查询 */ @Override public List selectBigScreenStationListEventTop5(Long orgId){ return bigSreenMapper.selectBigScreenStationListEventTop5(orgId); } /** * 服务站大屏的站点统计查询 * @return 搜索符合条件的大屏统计数据 */ @Override public BigScreenStationStatisticsVO selectStationBigScreenStatisticsByStation(Long stationId){ return bigSreenMapper.selectStationBigScreenStatisticsByStation(stationId); } /** * 告警用户列表查询 */ @Override public List selectBigScreenAlarmOlderList(Long stationId, String olderName){ return bigSreenMapper.selectBigScreenAlarmOlderList(stationId, olderName); } /** * 服务站大屏的被监控人详细查询 */ @Override public BigScreenOlderDetailVO selectStationBigScreenOlderDetail(Long olderId) { return bigSreenMapper.selectStationBigScreenOlderDetail(olderId); } /** * 服务站大屏的实时安全事件列表查询 */ @Override public List selectBigScreenRtEventList(Long stationId) { return bigSreenMapper.selectBigScreenRtEventList(stationId); } /** * 服务站大屏的已完成安全事件列表分页查询 */ @Override public PageUtil selectBigScreenHisEventListByPage(Long stationId, PageResVO page) { //1、创建一个分页工具对象(然后对分页数据进行整理) PageUtil pageUtil = new PageUtil<>(); //2、更新当前页面大小 pageUtil.setPageSize(page.getPageSize()); //3、获取多条件查询总记录数 pageUtil.setTotal(bigSreenMapper.selectBigScreenHisEventListByCount(stationId)); //4、更新当前页码(此时页码将不会再发生越界问题) pageUtil.setCurrent(page.getCurrent()); List bigScreenEventVOList = bigSreenMapper.selectBigScreenHisEventListByPage(stationId, pageUtil); pageUtil.setListT(bigScreenEventVOList); return pageUtil; } /** * 服务站大屏的已完成安全事件列表分页查询 */ @Override public PageUtil selectBigScreenOlderCardListByPage(Long stationId, String olderName, PageResVO page) { //1、创建一个分页工具对象(然后对分页数据进行整理) PageUtil pageUtil = new PageUtil<>(); //2、更新当前页面大小 pageUtil.setPageSize(page.getPageSize()); //3、获取多条件查询总记录数 pageUtil.setTotal(bigSreenMapper.selectBigScreenOlderCardListByCount(stationId,olderName)); //4、更新当前页码(此时页码将不会再发生越界问题) pageUtil.setCurrent(page.getCurrent()); List bigScreenOlderDetailVOList = bigSreenMapper.selectBigScreenOlderCardListByPage(stationId,olderName, pageUtil); pageUtil.setListT(bigScreenOlderDetailVOList); return pageUtil; } /** * 调用websocket推送实时事件标识给前端 */ @Override public void pushRtEventFlag(String stationId) { BigScreenWebSocketEndpoint.sendMsgToFront(stationId,"rt_event_happen"); } }