FsUserCourseTrainingCampMapper.xml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. ctc.del_flag ='0'
  20. <if test="params.trainingCampName != null and params.trainingCampName != ''">
  21. and ctc.training_camp_name like concat('%',#{params.trainingCampName},'%')
  22. </if>
  23. <if test="params.companyId != null and params.companyId != ''">
  24. and ctp.company_id like concat('%',#{params.companyId},'%')
  25. </if>
  26. <if test="params.userIds != null and params.userIds != ''">
  27. and ctc.user_id =#{params.userIds}
  28. </if>
  29. <if test="params.userId != null and params.userId != ''">
  30. and cu.user_id = #{params.userId}
  31. </if>
  32. </where>
  33. group by ctc.training_camp_id, ctc.training_camp_name, ctc.order_number
  34. order by
  35. <choose>
  36. <when test="params.scs != null and params.scs.size() > 0">
  37. <foreach collection="params.scs" item="sc" separator=",">
  38. ${sc.column} ${sc.order}
  39. </foreach>
  40. </when>
  41. <otherwise>
  42. ctc.order_number desc, ctc.training_camp_id desc
  43. </otherwise>
  44. </choose>
  45. </select>
  46. <select id="selectCampListByMap" resultType="com.fs.his.vo.OptionsVO">
  47. select
  48. ctc.training_camp_id dictValue,
  49. ctc.training_camp_name dictLabel
  50. from fs_user_course_training_camp ctc
  51. <where>
  52. ctc.del_flag ='0'
  53. <if test="params.name != null and params.name != ''">
  54. and ctc.training_camp_name like concat('%', #{params.name}, '%')
  55. </if>
  56. </where>
  57. </select>
  58. </mapper>