FsUserCourseTrainingCampMapper.xml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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.fs.course.mapper.FsUserCourseTrainingCampMapper">
  6. <!-- 查询训练营列表 -->
  7. <select id="selectFsUserCourseTrainingCampVOListByMap" resultType="com.fs.course.vo.FsUserCourseTrainingCampVO">
  8. select
  9. ctc.training_camp_id,
  10. ctc.training_camp_name,
  11. ctc.order_number,
  12. min(if(ctp.period_starting_time >= CURDATE(), ctp.period_starting_time, null)) as recent_date,
  13. count(distinct ctp.period_id) as period_count,
  14. count(distinct cu.user_id) as vip_count
  15. from fs_user_course_training_camp ctc
  16. left join fs_user_course_period ctp on ctc.training_camp_id = ctp.training_camp_id
  17. left join fs_course_watch_log cu on cu.period_id = ctp.period_id
  18. <where>
  19. <if test="params.trainingCampName != null and params.trainingCampName != ''">
  20. and ctc.training_camp_name like concat('%',#{params.trainingCampName},'%')
  21. </if>
  22. <if test="params.userId != null and params.userId != ''">
  23. and ctc.user_id like concat('%',#{params.userId},'%')
  24. </if>
  25. </where>
  26. group by ctc.training_camp_id, ctc.training_camp_name, ctc.order_number
  27. order by
  28. <choose>
  29. <when test="params.scs != null and params.scs.size() > 0">
  30. <foreach collection="params.scs" item="sc" separator=",">
  31. ${sc.column} ${sc.order}
  32. </foreach>
  33. </when>
  34. <otherwise>
  35. ctc.order_number desc, ctc.training_camp_id desc
  36. </otherwise>
  37. </choose>
  38. </select>
  39. <select id="selectCampListByMap" resultType="com.fs.his.vo.OptionsVO">
  40. select
  41. ctc.training_camp_id dictValue,
  42. ctc.training_camp_name dictLabel
  43. from fs_user_course_training_camp ctc
  44. <where>
  45. <if test="params.name != null and params.name != ''">
  46. ctc.training_camp_name like concat('%', #{params.name}, '%')
  47. </if>
  48. </where>
  49. </select>
  50. </mapper>