<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.dji.sample.media.dao.IFileMapper">
|
|
|
<select id="getPage" resultType="com.dji.sample.media.model.MediaFileEntity">
|
|
SELECT * FROM media_file WHERE workspace_id = #{workspaceId}
|
|
<if test="query.startTime !=null and query.endTime !=null">
|
AND DATE_FORMAT(FROM_UNIXTIME(create_time/1000,'%Y-%m-%d'),'%Y-%m-%d') >= DATE_FORMAT(#{query.startTime},'%Y-%m-%d')
|
</if>
|
|
<if test="query.endTime !=null and query.endTime !=null">
|
AND DATE_FORMAT(FROM_UNIXTIME(create_time/1000,'%Y-%m-%d'),'%Y-%m-%d') <= DATE_FORMAT(#{query.endTime},'%Y-%m-%d')
|
</if>
|
|
<if test="query.name !=null and query.name !=null">
|
AND file_name LIKE CONCAT('%',#{query.name},'%')
|
</if>
|
|
<if test="query.subFileType != null and query.subFileType !='' ">
|
AND sub_file_type in
|
<foreach collection="query.subFileType.split(',')" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</if>
|
|
<if test="query.payload != null and query.payload !='' ">
|
AND payload LIKE CONCAT('%',#{query.payload},'%')
|
</if>
|
ORDER BY create_time DESC
|
|
</select>
|
<select id="mediaPage" resultType="com.dji.sample.media.model.MediaJobDTO">
|
SELECT
|
j.collect_status,
|
m.job_id,
|
t.url,
|
COUNT( CASE WHEN m.file_name LIKE '%.mp4' THEN 1 END) AS videoCount,
|
COUNT( CASE WHEN m.file_name LIKE '%.jpeg' THEN 1 END ) AS picCount,
|
DATE_FORMAT(FROM_UNIXTIME(j.create_time/1000,'%Y-%m-%d'),'%Y-%m-%d') as create_time
|
FROM
|
media_file m LEFT JOIN wayline_job j ON m.job_id = j.job_id
|
LEFT JOIN (SELECT CONCAT("https://dev.jxpskj.com:8026/cloud-bucket",object_key) as url,job_id from media_file WHERE file_name LIKE '%.jpeg' GROUP BY job_id) t ON t.job_id = m.job_id
|
LEFT JOIN wayline_file w ON w.wayline_id = j.file_id
|
where 1=1
|
<if test="workspaceId != null and workspaceId != ''">
|
and j.workspace_id = #{workspaceId}
|
</if>
|
<if test="param.dockSn !=null and param.dockSn != ''">
|
and j.dock_sn = #{param.dockSn}
|
</if>
|
<if test="param.startTime !=null and param.endTime !=null">
|
AND DATE_FORMAT(FROM_UNIXTIME(j.create_time/1000,'%Y-%m-%d'),'%Y-%m-%d') >= DATE_FORMAT(#{param.startTime},'%Y-%m-%d')
|
</if>
|
|
<if test="param.endTime !=null and param.endTime !=null">
|
AND DATE_FORMAT(FROM_UNIXTIME(j.create_time/1000,'%Y-%m-%d'),'%Y-%m-%d') <= DATE_FORMAT(#{param.endTime},'%Y-%m-%d')
|
</if>
|
<if test="param.sort eq 2">
|
and j.collect_status = 1
|
</if>
|
<if test="param.sort eq 3">
|
and m.collect_status = 1
|
</if>
|
<if test="param.waylineFileId != null and param.waylineFileId != ''">
|
and w.wayline_id = #{param.waylineFileId}
|
</if>
|
GROUP BY m.job_id
|
</select>
|
<select id="mediaDetail" resultType="com.dji.sample.media.model.MediaJobDTO">
|
SELECT
|
m.collect_status,
|
m.job_id,
|
m.file_id,
|
CONCAT("https://dev.jxpskj.com:8026/cloud-bucket",m.object_key) as url,
|
CASE WHEN m.file_name LIKE '%.mp4' THEN "视频" ELSE "图片" END AS type,
|
DATE_FORMAT( FROM_UNIXTIME( m.create_time / 1000, '%Y-%m-%d' ), '%Y-%m-%d' ) AS create_time
|
FROM
|
media_file m
|
WHERE
|
1 = 1
|
<if test="jobId != null and jobId != ''">
|
and m.job_id = #{jobId}
|
</if>
|
</select>
|
</mapper>
|