|
|
@@ -2,6 +2,11 @@ package com.dji.sample.media.dao;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
|
import com.dji.sample.media.model.MediaFileEntity;
|
|
|
+import com.dji.sample.media.model.UpstreamMediaFileDTO;
|
|
|
+import org.apache.ibatis.annotations.Param;
|
|
|
+import org.apache.ibatis.annotations.Select;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* @author sean
|
|
|
@@ -9,4 +14,50 @@ import com.dji.sample.media.model.MediaFileEntity;
|
|
|
* @date 2021/12/9
|
|
|
*/
|
|
|
public interface IFileMapper extends BaseMapper<MediaFileEntity> {
|
|
|
+
|
|
|
+ @Select("<script> " +
|
|
|
+ "SELECT MF.workspace_id workspaceId " +
|
|
|
+ ",MW.workspace_name workspaceName " +
|
|
|
+ ",MF.drone deviceNo " +
|
|
|
+ ",DE.nickname nickName " +
|
|
|
+ ",MD.dir_name dirName " +
|
|
|
+ ",MF.size fileSize " +
|
|
|
+ ",MF.picture_time pictureTime " +
|
|
|
+ ",MF.picture_type pictureType " +
|
|
|
+ "FROM MEDIA_FILE MF " +
|
|
|
+ "LEFT JOIN MEDIA_DIR MD ON MF.DIR_ID = MD.ID " +
|
|
|
+ "LEFT JOIN MANAGE_DEVICE DE ON MF.DRONE = DE.DEVICE_SN " +
|
|
|
+ "LEFT JOIN MANAGE_WORKSPACE MW ON MF.workspace_id = MW.workspace_id " +
|
|
|
+ "WHERE 1 = 1 " +
|
|
|
+ "<if test= 'null != workspaceName '>" +
|
|
|
+ " AND MW.workspace_name LIKE CONCAT('%', #{workspaceName},'%') " +
|
|
|
+ "</if>" +
|
|
|
+ "<if test= 'null != startTime' >" +
|
|
|
+ " AND MF.create_time > #{startTime} " +
|
|
|
+ "</if>" +
|
|
|
+ "<if test= 'endTime != null' >" +
|
|
|
+ " AND MF.create_time < #{endTime} " +
|
|
|
+ "</if>" +
|
|
|
+ "LIMIT #{page},#{pageSize} " +
|
|
|
+ "</script>")
|
|
|
+ List<UpstreamMediaFileDTO> getMediaFiles(@Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("workspaceName") String workspaceName,@Param("page") long page,@Param("pageSize") long pageSize);
|
|
|
+ @Select("<script> " +
|
|
|
+ "SELECT count(*) total " +
|
|
|
+ "FROM MEDIA_FILE MF " +
|
|
|
+ "LEFT JOIN MEDIA_DIR MD ON MF.DIR_ID = MD.ID " +
|
|
|
+ "LEFT JOIN MANAGE_DEVICE DE ON MF.DRONE = DE.DEVICE_SN " +
|
|
|
+ "LEFT JOIN MANAGE_WORKSPACE MW ON MF.workspace_id = MW.workspace_id " +
|
|
|
+ "WHERE 1 = 1 " +
|
|
|
+ "<if test= 'null != workspaceName '>" +
|
|
|
+ " AND MW.workspace_name LIKE CONCAT('%', #{workspaceName},'%') " +
|
|
|
+ "</if>" +
|
|
|
+ "<if test= 'null != startTime' >" +
|
|
|
+ " AND MF.create_time > #{startTime} " +
|
|
|
+ "</if>" +
|
|
|
+ "<if test= 'endTime != null' >" +
|
|
|
+ " AND MF.create_time < #{endTime} " +
|
|
|
+ "</if>" +
|
|
|
+ "</script>")
|
|
|
+ long getMediaFilesCount(@Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("workspaceName") String workspaceName);
|
|
|
+
|
|
|
}
|