VodPlayHistoryMapper.xml 2.09 KB
<?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,
            t3.play_record,
            round( t3.play_record * 100 / t2.vod_length, 0 ) AS percent,
            t.playDate
        FROM
            (
            SELECT
                t.vod_id,
                t.member_id,
                max( t.create_date ) AS playDate
            FROM
                vod_play_history t
            WHERE
                t.delete_date IS NULL
                AND t.member_id = #{memberId}
            GROUP BY
                t.vod_id,
                t.member_id
            ) t
            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
            LEFT JOIN vod_dict t2 ON t.vod_id = t2.id
        WHERE
            t2.delete_date IS NULL
        order by t.playDate desc
    </select>

</mapper>