CourseMapper.xml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.zhongzheng.modules.course.mapper.CourseMapper">
  6. <resultMap type="com.zhongzheng.modules.course.domain.Course" id="CourseResult">
  7. <result property="courseId" column="course_id"/>
  8. <result property="categoryId" column="category_id"/>
  9. <result property="price" column="price"/>
  10. <result property="duration" column="duration"/>
  11. <result property="startTime" column="start_time"/>
  12. <result property="endTime" column="end_time"/>
  13. <result property="coverUrl" column="cover_url"/>
  14. <result property="introduction" column="introduction"/>
  15. <result property="createTime" column="create_time"/>
  16. <result property="updateTime" column="update_time"/>
  17. <result property="status" column="status"/>
  18. <result property="teacherIds" column="teacher_ids"/>
  19. <result property="courseName" column="course_name"/>
  20. <result property="chapterNum" column="chapter_num"/>
  21. <result property="sectionNum" column="section_num"/>
  22. <result property="videoTime" column="video_time"/>
  23. </resultMap>
  24. <select id="selectCourseList" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo" resultMap="CourseResult">
  25. SELECT rs.course_name,
  26. rs.course_id,rs.status,sum(section_num) as section_num,count(chapter_id)
  27. as chapter_num,mc.category_name,sum(total_time) as video_time from
  28. (SELECT c.*,count(cs.section_id) as section_num,cs.chapter_id,IFNULL(sum(cs.video_time),0) as total_time
  29. FROM course c LEFT JOIN course_chapter cc on c.course_id = cc.course_id LEFT JOIN course_section cs
  30. on cc.chapter_id = cs.chapter_id
  31. GROUP BY cs.chapter_id,c.course_id)rs LEFT JOIN major_category mc on rs.category_id = mc.category_id
  32. GROUP BY course_id
  33. </select>
  34. </mapper>