LiveVodsMapper.xml
1.95 KB
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
<?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.subsidy.mapper.LiveVodsMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.subsidy.model.LiveVodsDO">
<id column="id" property="id" />
<result column="create_date" property="createDate" />
<result column="update_date" property="updateDate" />
<result column="delete_date" property="deleteDate" />
<result column="live_id" property="liveId" />
<result column="vod_name" property="vodName" />
<result column="vod_url" property="vodUrl" />
<result column="vod_length" property="vodLength" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_date,
update_date,
delete_date,
id, live_id, vod_name, vod_url, vod_length
</sql>
<select id="memberPlayback" resultType="com.subsidy.vo.live.MemberPlaybackVO">
SELECT
t.id,
t.vod_name,
t.vod_url,
t2.create_date,
t2.play_length,
t.vod_length,
IF
( t.vod_length > t2.play_length, ROUND( t2.play_length * 100 / t.vod_length ), 100 ) AS percent
FROM
live_vods t
LEFT JOIN (
SELECT
t.live_id,
t.member_id,
t.live_vod_id,
IFNULL( sum( t.play_length ), 0 ) AS play_length,
MAX( t.create_date ) AS create_date
FROM
live_playback_history t
WHERE
t.delete_date IS NULL
AND t.live_id = #{liveId}
AND member_id = #{memberId}
GROUP BY
t.live_id,
t.member_id,
t.live_vod_id
) t2 ON t.id = t2.live_vod_id
</select>
</mapper>