Blame view

VodPlayHistoryMapper.xml 2.09 KB
涂亚平 committed
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
<?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.VodPlayHistoryMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.subsidy.model.VodPlayHistoryDO">
        <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="class_id" property="classId" />
        <result column="vod_id" property="vodId" />
        <result column="member_id" property="memberId" />
        <result column="play_length" property="playLength" />
        <result column="play_record" property="playRecord" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        create_date,
        update_date,
        delete_date,
        id, class_id, vod_id, member_id, play_length, play_record
    </sql>

    <select id="studyHistory"  parameterType="long" resultType="com.subsidy.vo.vod.StudyHistoryVO">
        SELECT
            t2.id,
            t2.vod_length,
            t2.teacher_name,
            t2.vod_url,
            t2.vod_name,
涂亚平 committed
33
            t3.play_record,
34 35
            round( t3.play_record * 100 / t2.vod_length, 0 ) AS percent,
            t.playDate
涂亚平 committed
36 37 38 39
        FROM
            (
            SELECT
                t.vod_id,
涂亚平 committed
40 41
                t.member_id,
                max( t.create_date ) AS playDate
涂亚平 committed
42 43 44 45 46 47
            FROM
                vod_play_history t
            WHERE
                t.delete_date IS NULL
                AND t.member_id = #{memberId}
            GROUP BY
涂亚平 committed
48 49
                t.vod_id,
                t.member_id
涂亚平 committed
50
            ) t
涂亚平 committed
51 52 53
            LEFT JOIN vod_play_history t3 ON t.playDate = t3.create_date
            AND t.vod_id = t3.vod_id
            AND t.member_id = t3.member_id
涂亚平 committed
54 55 56
            LEFT JOIN vod_dict t2 ON t.vod_id = t2.id
        WHERE
            t2.delete_date IS NULL
57
        order by t.playDate desc
涂亚平 committed
58 59 60
    </select>

</mapper>