CourseLearnMapper.xml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.gyee.exam.modules.course.mapper.CourseLearnMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.gyee.exam.modules.course.entity.CourseLearn">
  6. <id column="id" property="id" />
  7. <result column="course_id" property="courseId" />
  8. <result column="user_id" property="userId" />
  9. <result column="learn_file" property="learnFile" />
  10. <result column="total_file" property="totalFile" />
  11. <result column="state" property="state" />
  12. <result column="create_time" property="createTime" />
  13. <result column="update_time" property="updateTime" />
  14. <result column="finish_time" property="finishTime" />
  15. <result column="create_by" property="createBy" />
  16. <result column="update_by" property="updateBy" />
  17. <result column="data_flag" property="dataFlag" />
  18. </resultMap>
  19. <!-- 通用查询结果列 -->
  20. <sql id="Base_Column_List">
  21. `id`,`course_id`,`user_id`,`learn_file`,`total_file`,`state`,`create_time`,`update_time`,`finish_time`,`create_by`,`update_by`,`data_flag`
  22. </sql>
  23. <resultMap id="PagingResultMap"
  24. type="com.gyee.exam.modules.course.dto.CourseLearnDTO"
  25. extends="BaseResultMap">
  26. </resultMap>
  27. <select id="paging" resultMap="PagingResultMap">
  28. SELECT cl.* FROM el_course_learn cl
  29. LEFT JOIN sys_user uc ON cl.user_id=uc.id
  30. LEFT JOIN el_course cs ON cl.course_id=cs.id
  31. WHERE uc.id IS NOT NULL AND cs.id IS NOT NULL
  32. <if test="query!=null">
  33. <if test="query.courseId!=null and query.courseId!=''">
  34. AND cl.course_id=#{query.courseId}
  35. </if>
  36. <if test="query.userName!=null and query.userName!=''">
  37. AND (uc.real_name LIKE '%${query.userName}%'
  38. OR uc.user_name LIKE '%${query.userName}%')
  39. </if>
  40. </if>
  41. ORDER BY cl.create_time DESC
  42. </select>
  43. <select id="findForRefresh" resultMap="BaseResultMap">
  44. SELECT id,
  45. (SELECT COUNT(0) FROM el_course_file_learn fl LEFT JOIN el_course_ref_file ff ON fl.course_id=ff.course_id
  46. AND fl.file_id=ff.file_id WHERE fl.course_id=cl.course_id AND fl.learn_min>=ff.need_learn AND
  47. fl.user_id=cl.user_id ) as learn_file,
  48. (SELECT COUNT(file_id) FROM el_course_ref_file cf WHERE cf.course_id=cl.course_id) as total_file
  49. FROM el_course_learn cl WHERE course_id=#{courseId}
  50. </select>
  51. <select id="selectCourseLearnFinishTime" resultType="com.gyee.exam.modules.course.dto.CourseLearnDTO">
  52. SELECT cl.* FROM el_course_learn cl
  53. LEFT JOIN sys_user uc ON cl.user_id=uc.id
  54. LEFT JOIN el_course cs ON cl.course_id=cs.id
  55. <where>
  56. and uc.id IS NOT NULL AND cs.id IS NOT NULL
  57. <if test="query!=null">
  58. <if test="query.statDateL!=null ">
  59. AND cs.create_time >= #{query.statDateL}
  60. </if>
  61. <if test="query.statDateR!=null ">
  62. AND cs.create_time &lt; #{query.statDateR}
  63. </if>
  64. <if test="query.userName!=null and query.userName!=''">
  65. AND uc.user_name = #{query.userName}
  66. </if>
  67. </if>
  68. </where>
  69. </select>
  70. </mapper>