rain
2024-08-05 94174d2cc22afed6f41c270d970903484bfc5708
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?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')  &gt;=  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')   &lt;= 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 (SELECT CONCAT(#{param.fileAddress},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')  &gt;=  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')   &lt;= DATE_FORMAT(#{param.endTime},'%Y-%m-%d')
        </if>
        <if test="param.waylineFileId != null and param.waylineFileId != ''">
            and w.wayline_id = #{param.waylineFileId}
        </if>
        GROUP BY m.job_id
        ORDER BY
        <if test="param.sort eq 2">j.collect_status = 1 desc,</if>
        <if test="param.sort eq 3">m.collect_status = 1 desc,</if>
        j.create_time desc
    </select>
    <select id="mediaDetail" resultType="com.dji.sample.media.model.MediaJobDTO">
        SELECT
            m.collect_status,
            m.job_id,
            m.file_id,
            CONCAT(#{fileAddress},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>
        ORDER BY type = '视频' DESC
    </select>
</mapper>