package com.genersoft.iot.vmp.storager.dao;
|
|
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
|
import com.genersoft.iot.vmp.service.bean.CloudRecordItem;
|
import org.apache.ibatis.annotations.*;
|
|
import java.util.List;
|
|
@Mapper
|
public interface CloudRecordServiceMapper {
|
|
@Insert(" <script>" +
|
"INSERT INTO wvp_cloud_record (" +
|
" app," +
|
" stream," +
|
"<if test=\"callId != null\"> call_id,</if>" +
|
" start_time," +
|
" end_time," +
|
" media_server_id," +
|
" file_name," +
|
" folder," +
|
" file_path," +
|
" file_size," +
|
" time_len ) " +
|
"VALUES (" +
|
" #{app}," +
|
" #{stream}," +
|
" <if test=\"callId != null\"> #{callId},</if>" +
|
" #{startTime}," +
|
" #{endTime}," +
|
" #{mediaServerId}," +
|
" #{fileName}," +
|
" #{folder}," +
|
" #{filePath}," +
|
" #{fileSize}," +
|
" #{timeLen})" +
|
" </script>")
|
int add(CloudRecordItem cloudRecordItem);
|
|
@Select(" <script>" +
|
"select * " +
|
" from wvp_cloud_record " +
|
" where 0 = 0" +
|
" <if test='query != null'> AND (app LIKE concat('%',#{query},'%') OR stream LIKE concat('%',#{query},'%') )</if> " +
|
" <if test= 'app != null '> and app=#{app}</if>" +
|
" <if test= 'stream != null '> and stream=#{stream}</if>" +
|
" <if test= 'startTimeStamp != null '> and end_time >= #{startTimeStamp}</if>" +
|
" <if test= 'endTimeStamp != null '> and start_time <= #{endTimeStamp}</if>" +
|
" <if test= 'callId != null '> and call_id = #{callId}</if>" +
|
" <if test= 'mediaServerItemList != null ' > and media_server_id in " +
|
" <foreach collection='mediaServerItemList' item='item' open='(' separator=',' close=')' > #{item.id}</foreach>" +
|
" </if>" +
|
" order by start_time DESC" +
|
|
" </script>")
|
List<CloudRecordItem> getList(@Param("query") String query, @Param("app") String app, @Param("stream") String stream,
|
@Param("startTimeStamp")Long startTimeStamp, @Param("endTimeStamp")Long endTimeStamp,
|
@Param("callId")String callId, List<MediaServerItem> mediaServerItemList);
|
|
|
@Select(" <script>" +
|
"select file_path" +
|
" from wvp_cloud_record " +
|
" where 0 = 0" +
|
" <if test= 'app != null '> and app=#{app}</if>" +
|
" <if test= 'stream != null '> and stream=#{stream}</if>" +
|
" <if test= 'startTimeStamp != null '> and end_time >= #{startTimeStamp}</if>" +
|
" <if test= 'endTimeStamp != null '> and start_time <= #{endTimeStamp}</if>" +
|
" <if test= 'callId != null '> and call_id = #{callId}</if>" +
|
" <if test= 'mediaServerItemList != null ' > and media_server_id in " +
|
" <foreach collection='mediaServerItemList' item='item' open='(' separator=',' close=')' > #{item.id}</foreach>" +
|
" </if>" +
|
" </script>")
|
List<String> queryRecordFilePathList(@Param("app") String app, @Param("stream") String stream,
|
@Param("startTimeStamp")Long startTimeStamp, @Param("endTimeStamp")Long endTimeStamp,
|
@Param("callId")String callId, List<MediaServerItem> mediaServerItemList);
|
|
@Update(" <script>" +
|
"update wvp_cloud_record set collect = #{collect} where file_path in " +
|
" <foreach collection='cloudRecordItemList' item='item' open='(' separator=',' close=')' > #{item.filePath}</foreach>" +
|
" </script>")
|
int updateCollectList(@Param("collect") boolean collect, List<CloudRecordItem> cloudRecordItemList);
|
|
@Delete(" <script>" +
|
"delete from wvp_cloud_record where media_server_id=#{mediaServerId} and file_path in " +
|
" <foreach collection='filePathList' item='item' open='(' separator=',' close=')' > #{item}</foreach>" +
|
" </script>")
|
void deleteByFileList(List<String> filePathList, @Param("mediaServerId") String mediaServerId);
|
|
|
@Select(" <script>" +
|
"select *" +
|
" from wvp_cloud_record " +
|
" where end_time <= #{endTimeStamp} and media_server_id = #{mediaServerId} " +
|
" </script>")
|
List<CloudRecordItem> queryRecordListForDelete(@Param("endTimeStamp")Long endTimeStamp, String mediaServerId);
|
|
@Update(" <script>" +
|
"update wvp_cloud_record set collect = #{collect} where id = #{recordId} " +
|
" </script>")
|
int changeCollectById(@Param("collect") boolean collect, @Param("recordId") Integer recordId);
|
|
@Delete(" <script>" +
|
"delete from wvp_cloud_record where media_server_id=#{mediaServerId} and id in " +
|
" <foreach collection='cloudRecordItemIdList' item='item' open='(' separator=',' close=')' > #{item.id}</foreach>" +
|
" </script>")
|
int deleteList(List<CloudRecordItem> cloudRecordItemIdList);
|
|
}
|