Blame view

CourseContentMapper.xml 2.98 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
<?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.CourseContentMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.subsidy.model.CourseContentDO">
        <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="course_id" property="courseId" />
        <result column="content" property="content" />
        <result column="order_no" property="orderNo" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        create_date,
        update_date,
        delete_date,
        id, course_id, content, order_no
    </sql>

24
    <select id="getCourseVods" parameterType="long" resultType="com.subsidy.model.VodDictDO">
涂亚平 committed
25
        SELECT
26 27 28 29 30 31 32 33 34 35
           t2.id,
            t2.content_id,
            t2.vod_name,
            t2.vod_length,
            t2.vod_type,
            t2.vod_size,
            t2.vod_url,
            t2.vod_code,
            t2.teacher_name,
            t2.cover_page
涂亚平 committed
36 37 38 39 40 41 42 43 44 45
        FROM
            course_content t
            LEFT JOIN vod_dict t2 ON t.id = t2.content_id
        WHERE
            t.delete_date IS NULL
            AND t2.delete_date IS NULL
            and t.course_id = #{courseId}
            and t2.id is  not null
    </select>

涂亚平 committed
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
    <select id="contentVodProcess" resultType="com.subsidy.vo.member.MemberVodVO">
        SELECT
            t3.id,
            t2.play_record,
            t3.vod_length,
            t3.vod_name,
            t3.vod_url,
            floor( t2.play_record * 100 / t3.vod_length ) AS percent,
        IF
            ( t2.play_record >= t3.vod_length * 0.8, 'true', 'false' ) AS STATUS
        FROM
            vod_play_history t2
            LEFT JOIN vod_dict t3 ON t2.vod_id = t3.id
        WHERE
            t2.vod_id IN ( SELECT id FROM vod_dict t WHERE t.content_id = #{contentId} )
            AND t2.member_id = #{memberId}
    </select>

    <select id="contentFiles" parameterType="long" resultType="com.subsidy.model.FileDictDO">
        SELECT
            t2.id,
            t2.file_name,
            t2.file_size,
            t2.file_type,
            t2.file_url
        FROM
            course_content t
            LEFT JOIN file_dict t2 ON t.id = t2.content_id
        WHERE
            t.delete_date IS NULL
            AND t2.delete_date IS NULL
            AND t2.id IS NOT NULL
            AND t.course_id = #{courseId}
        ORDER BY
            t.order_no,
            t2.order_no
    </select>

84 85 86 87 88 89 90 91 92 93
    <select id="selectMaxOrderNo" parameterType="long" resultType="integer">
        SELECT
            max(t.order_no)
        FROM
            course_content t
        WHERE
            t.delete_date IS NULL
            AND t.course_id = #{courseId}
    </select>

涂亚平 committed
94
</mapper>