From 3ca43c0f02fd9974eb087c79f411a3d55f806613 Mon Sep 17 00:00:00 2001 From: elkers <elkers@163.com> Date: 星期六, 12 四月 2025 18:30:18 +0800 Subject: [PATCH] 添加监控 --- src/main/java/com/nanjing/water/repository/impl/MonitorVideoStreamingMapperImpl.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 161 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/nanjing/water/repository/impl/MonitorVideoStreamingMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/MonitorVideoStreamingMapperImpl.java new file mode 100644 index 0000000..3b5e80e --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/MonitorVideoStreamingMapperImpl.java @@ -0,0 +1,161 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.repository.BasicMapperImpl; +import org.springframework.stereotype.Repository; + +import java.util.List; +import com.nanjing.water.entity.search.SearchMonitorVideoStreaming; +import com.nanjing.water.repository.mapper.MonitorVideoStreamingMapper; +import com.nanjing.water.repository.po.MonitorVideoStreamingPO; + +/** + * 监控视频播放流 + * @author lin.liu + */ +@Repository +public class MonitorVideoStreamingMapperImpl extends BasicMapperImpl<MonitorVideoStreamingPO, MonitorVideoStreamingMapper> { + MonitorVideoStreamingMapperImpl(MonitorVideoStreamingMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<MonitorVideoStreamingPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchMonitorVideoStreaming search = (SearchMonitorVideoStreaming)request; + // 查询条件 + LambdaQueryWrapper<MonitorVideoStreamingPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(MonitorVideoStreamingPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, MonitorVideoStreamingPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), MonitorVideoStreamingPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, MonitorVideoStreamingPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, MonitorVideoStreamingPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + // queryWrapper.and(q -> + // q.like(MonitorVideoStreamingPO::getName, search.getKeywords()) + // .or().like(MonitorVideoStreamingPO::getPhone, search.getKeywords()) + // ); + //} + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(MonitorVideoStreamingPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(MonitorVideoStreamingPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(MonitorVideoStreamingPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(MonitorVideoStreamingPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(MonitorVideoStreamingPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(MonitorVideoStreamingPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(MonitorVideoStreamingPO::getId); + } + Page<MonitorVideoStreamingPO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(MonitorVideoStreamingPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public Boolean addNotIncrement(MonitorVideoStreamingPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + public MonitorVideoStreamingPO getByDeviceId(String deviceId,String channelId) { + LambdaQueryWrapper<MonitorVideoStreamingPO> queryWrapper = this.query(); + queryWrapper.eq(MonitorVideoStreamingPO::getDeviceId,deviceId); + queryWrapper.eq(MonitorVideoStreamingPO::getChannelId,channelId); + + return super.selectOne(queryWrapper); + } + public MonitorVideoStreamingPO getById(Long id) { + return super.get(id); + } + + public List<MonitorVideoStreamingPO> getListById(List<Long> listId) { + return super.getList(listId); + } + public int updateEndTime(Long id) { + MonitorVideoStreamingPO upd = new MonitorVideoStreamingPO(); + upd.setId(id); + upd.setEndTime(LocalDateTimeUtil.nowTimeStamp() + ConstantFactory.TIME_LEN_1MIN * 3L); + return super.updateById(upd); + } + public List<MonitorVideoStreamingPO> getAllByPoint(Long pointId) { + LambdaQueryWrapper<MonitorVideoStreamingPO> queryWrapper = this.query(); + queryWrapper.eq(MonitorVideoStreamingPO::getPointId,pointId); + return super.selectList(queryWrapper); + } + public List<MonitorVideoStreamingPO> list4WaitingStop() { + LambdaQueryWrapper<MonitorVideoStreamingPO> queryWrapper = this.query(); + queryWrapper.eq(MonitorVideoStreamingPO::getState,EYesOrNo.YES.getValue()); + queryWrapper.le(MonitorVideoStreamingPO::getEndTime,LocalDateTimeUtil.nowTimeStamp()); + return super.selectList(queryWrapper); + } +} -- Gitblit v1.9.3