CourseGroupMapper.xml 5.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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.yonge.cooleshow.biz.dal.dao.CourseGroupDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.CourseGroup">
  5. <id column="id_" jdbcType="BIGINT" property="id"/>
  6. <result column="type_" jdbcType="VARCHAR" property="type"/>
  7. <result column="teacher_id_" jdbcType="INTEGER" property="teacherId"/>
  8. <result column="name_" jdbcType="VARCHAR" property="name"/>
  9. <result column="subject_id_" jdbcType="INTEGER" property="subjectId"/>
  10. <result column="single_course_minutes_" jdbcType="INTEGER" property="singleCourseMinutes"/>
  11. <result column="course_num_" jdbcType="INTEGER" property="courseNum"/>
  12. <result column="course_introduce_" jdbcType="VARCHAR" property="courseIntroduce"/>
  13. <result column="course_price_" jdbcType="VARCHAR" property="coursePrice"/>
  14. <result column="status_" jdbcType="VARCHAR" property="status"/>
  15. <result column="sales_start_date_" jdbcType="TIMESTAMP" property="salesStartDate"/>
  16. <result column="sales_end_date_" jdbcType="TIMESTAMP" property="salesEndDate"/>
  17. <result column="background_pic_" jdbcType="VARCHAR" property="backgroundPic"/>
  18. <result column="mix_student_num_" jdbcType="INTEGER" property="mixStudentNum"/>
  19. <result column="course_start_time_" jdbcType="TIMESTAMP" property="courseStartTime"/>
  20. <result column="created_by_" jdbcType="INTEGER" property="createdBy"/>
  21. <result column="created_time_" jdbcType="TIMESTAMP" property="createdTime"/>
  22. <result column="updated_by_" jdbcType="INTEGER" property="updatedBy"/>
  23. <result column="updated_time_" jdbcType="TIMESTAMP" property="updatedTime"/>
  24. </resultMap>
  25. <sql id="Base_Column_List">
  26. id_
  27. , type_, teacher_id_, name_, subject_id_, single_course_minutes_, course_num_, course_introduce_, course_price_, status_, sales_start_date_, sales_end_date_, background_pic_, mix_student_num_, course_start_time_, created_by_, created_time_, updated_by_, updated_time_
  28. </sql>
  29. <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
  30. parameterType="com.yonge.cooleshow.biz.dal.entity.CourseGroup">
  31. insert into course_group(type_, teacher_id_, name_, subject_id_, single_course_minutes_, course_num_,
  32. course_introduce_, course_price_, status_, sales_start_date_, sales_end_date_, background_pic_,
  33. mix_student_num_, course_start_time_, created_by_, created_time_, updated_by_, updated_time_)
  34. values
  35. <foreach collection="entities" item="entity" separator=",">
  36. (#{entity.type}, #{entity.teacherId}, #{entity.name}, #{entity.subjectId}, #{entity.singleCourseMinutes},
  37. #{entity.courseNum}, #{entity.courseIntroduce}, #{entity.coursePrice}, #{entity.status},
  38. #{entity.salesStartDate}, #{entity.salesEndDate}, #{entity.backgroundPic}, #{entity.mixStudentNum},
  39. #{entity.courseStartTime}, #{entity.createdBy}, #{entity.createdTime}, #{entity.updatedBy},
  40. #{entity.updatedTime})
  41. </foreach>
  42. </insert>
  43. <select id="queryTeacherCourseGroup" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherCourseGroupVo">
  44. select
  45. b.id_ as courseGroupId,
  46. b.name_ as courseGroupName,
  47. s.name_ as subjectName,
  48. a.teacher_id_ as teacherId,
  49. u.real_name_ as teacherName,
  50. a.start_time_ as startTime,
  51. a.end_time_ as endTime,
  52. a.status_ as `status`,
  53. ifnull(a.pre_student_num_, 0) as studentCount,
  54. b.background_pic_ as backgroundPic,
  55. b.course_price_ as coursePrice,
  56. b.course_num_ as courseNum
  57. from course_group as b
  58. left join course_schedule as a on a.course_group_id_ = b.id_
  59. left join subject as s on b.subject_id_ = s.id_
  60. left join sys_user as u on a.teacher_id_ = u.id_
  61. <where>
  62. a.lock_ = 0
  63. <if test="param.teacherId != null">
  64. and b.teacher_id_ = #{param.teacherId}
  65. </if>
  66. <if test="param.status != null">
  67. and a.status_ = #{param.status}
  68. </if>
  69. <if test="param.groupStatus != null">
  70. and b.status_ = #{param.groupStatus}
  71. </if>
  72. <if test="param.type_ != null">
  73. and a.type_ = #{param.type}
  74. </if>
  75. <if test="param.startDate != null">
  76. AND <![CDATA[ a.class_date_ >= #{param.startDate} ]]>
  77. </if>
  78. <if test="param.endDate != null">
  79. AND <![CDATA[ a.class_date_ <= #{param.endDate} ]]>
  80. </if>
  81. <if test="param.subjectId != null">
  82. AND b.subject_id_ = #{param.subjectId}
  83. </if>
  84. </where>
  85. </select>
  86. </mapper>