StudentVisitMapper.xml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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.ym.mec.biz.dal.dao.StudentVisitDao">
  4. <resultMap id="StudentVisit" type="com.ym.mec.biz.dal.dto.StudentVisitDto">
  5. <id column="id_" property="id"/>
  6. <result column="music_group_id_" property="musicGroupId"/>
  7. <result column="musicGroupName" property="musicGroupName"/>
  8. <result column="organ_id_" property="organId"/>
  9. <result column="organName" property="organName"/>
  10. <result column="student_id_" property="studentId"/>
  11. <result column="studentName" property="studentName"/>
  12. <result column="teacher_id_" property="teacherId"/>
  13. <result column="teacherName" property="teacherName"/>
  14. <result column="visiter_type_" property="visiterType"/>
  15. <result column="type_" property="type"/>
  16. <result column="purpose_" property="purpose"/>
  17. <result column="overview_" property="overview"/>
  18. <result column="feedback_" property="feedback"/>
  19. <result column="visit_time_" property="visitTime"/>
  20. <result column="create_time_" property="createTime"/>
  21. </resultMap>
  22. <sql id="Base_Column_List">
  23. <!--@mbg.generated-->
  24. id_, music_group_id_, organ_id_, student_id_, teacher_id_, visiter_type_, type_, purpose_, overview_, feedback_,
  25. visit_time_, create_time_
  26. </sql>
  27. <select id="get" parameterType="java.lang.Integer" resultMap="StudentVisit">
  28. select
  29. <include refid="Base_Column_List"/>
  30. from student_visit
  31. where id_ = #{id,jdbcType=INTEGER}
  32. </select>
  33. <delete id="delete" parameterType="java.lang.Integer">
  34. <!--@mbg.generated-->
  35. delete from student_visit
  36. where id_ = #{id,jdbcType=INTEGER}
  37. </delete>
  38. <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.StudentVisit"
  39. useGeneratedKeys="true">
  40. <!--@mbg.generated-->
  41. insert into student_visit (music_group_id_, organ_id_, student_id_, teacher_id_, visiter_type_,
  42. type_, purpose_, overview_,
  43. feedback_, visit_time_, create_time_
  44. )
  45. values (#{musicGroupId,jdbcType=VARCHAR}, #{organId,jdbcType=INTEGER}, #{studentId,jdbcType=INTEGER},
  46. #{teacherId,jdbcType=INTEGER},#{visiterType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  47. #{type,jdbcType=VARCHAR}, #{purpose,jdbcType=VARCHAR}, #{overview,jdbcType=VARCHAR},
  48. #{feedback,jdbcType=VARCHAR}, #{visitTime}, #{createTime}
  49. )
  50. </insert>
  51. <update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentVisit">
  52. <!--@mbg.generated-->
  53. update student_visit
  54. <set>
  55. <if test="musicGroupId != null">
  56. music_group_id_ = #{musicGroupId,jdbcType=VARCHAR},
  57. </if>
  58. <if test="studentId != null">
  59. student_id_ = #{studentId,jdbcType=INTEGER},
  60. </if>
  61. <if test="teacherId != null">
  62. teacher_id_ = #{teacherId,jdbcType=INTEGER},
  63. </if>
  64. <if test="type != null">
  65. type_ = #{type,jdbcType=VARCHAR},
  66. </if>
  67. <if test="purpose != null">
  68. purpose_ = #{purpose,jdbcType=VARCHAR},
  69. </if>
  70. <if test="overview != null">
  71. overview_ = #{overview,jdbcType=VARCHAR},
  72. </if>
  73. <if test="feedback != null">
  74. feedback_ = #{feedback,jdbcType=VARCHAR},
  75. </if>
  76. <if test="visitTime != null">
  77. visit_time_ = #{visitTime},
  78. </if>
  79. <if test="createTime != null">
  80. create_time_ = #{createTime},
  81. </if>
  82. </set>
  83. where id_ = #{id,jdbcType=INTEGER}
  84. </update>
  85. <select id="queryPage" resultMap="StudentVisit">
  86. SELECT * FROM student_visit sv
  87. <include refid="queryPageSql"/>
  88. ORDER BY sv.id_ DESC
  89. <include refid="global.limit"/>
  90. </select>
  91. <select id="getPageList" resultMap="StudentVisit">
  92. SELECT sv.*,t.real_name_ teacherName,o.name_ organName,s.username_ studentName,mg.name_ musicGroupName FROM
  93. student_visit sv
  94. LEFT JOIN sys_user t ON sv.teacher_id_ = t.id_
  95. LEFT JOIN organization o ON sv.organ_id_ = o.id_
  96. LEFT JOIN sys_user s ON s.id_ = sv.student_id_
  97. LEFT JOIN music_group mg ON sv.music_group_id_ = mg.id_
  98. <include refid="queryPageSql"/>
  99. ORDER BY sv.visit_time_ DESC
  100. <include refid="global.limit"/>
  101. </select>
  102. <sql id="queryPageSql">
  103. <where>
  104. <if test="teacher != null and teacher != ''">
  105. AND (t.id_ = #{teacher} OR t.real_name_ LIKE CONCAT('%',#{teacher},'%'))
  106. </if>
  107. <if test="student != null and student != ''">
  108. AND (s.id_ = #{student} OR s.username_ LIKE CONCAT('%',#{student},'%'))
  109. </if>
  110. <if test="teacherId !=null">
  111. AND sv.teacher_id_ = #{teacherId}
  112. </if>
  113. <if test="organId != null and organId != ''">
  114. AND FIND_IN_SET(sv.organ_id_,#{organId})
  115. </if>
  116. <if test="visiterType != null">
  117. AND sv.visiter_type_ = #{visiterType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
  118. </if>
  119. <if test="type != null">
  120. AND sv.type_ = #{type}
  121. </if>
  122. <if test="purpose != null">
  123. AND sv.purpose_ = #{purpose}
  124. </if>
  125. <if test="startTime != null">
  126. AND sv.visit_time_ >= #{startTime}
  127. </if>
  128. <if test="endTime != null">
  129. AND sv.visit_time_ &lt;= #{endTime}
  130. </if>
  131. </where>
  132. </sql>
  133. <select id="queryCount" resultType="int">
  134. SELECT COUNT(*) FROM student_visit sv
  135. LEFT JOIN sys_user t ON sv.teacher_id_ = t.id_
  136. LEFT JOIN sys_user s ON s.id_ = sv.student_id_
  137. <include refid="queryPageSql"/>
  138. </select>
  139. <select id="getInfo" resultMap="StudentVisit">
  140. SELECT sv.*, t.real_name_ teacherName, o.name_ organName, s.username_ studentName, mg.name_ musicGroupName
  141. FROM student_visit sv
  142. LEFT JOIN sys_user t ON sv.teacher_id_ = t.id_
  143. LEFT JOIN organization o ON sv.organ_id_ = o.id_
  144. LEFT JOIN sys_user s ON s.id_ = sv.student_id_
  145. LEFT JOIN music_group mg ON sv.music_group_id_ = mg.id_
  146. WHERE sv.id_ = #{id}
  147. </select>
  148. <select id="getStudents" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
  149. SELECT s.id_ user_id_,s.username_,s.avatar_ head_url_,s.gender_,s.phone_ FROM course_schedule cs
  150. LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
  151. LEFT JOIN sys_user s ON s.id_ = cssp.user_id_
  152. WHERE cs.actual_teacher_id_ = #{teacherId}
  153. <if test="student != null and student != ''">
  154. AND (s.phone_ LIKE CONCAT('%',#{student},'%') OR s.username_ LIKE CONCAT('%',#{student},'%'))
  155. </if>
  156. AND s.del_flag_ = 0
  157. GROUP BY s.id_
  158. </select>
  159. <select id="getStudentsCount" resultType="int">
  160. SELECT COUNT(DISTINCT s.id_) FROM course_schedule cs
  161. LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
  162. LEFT JOIN sys_user s ON s.id_ = cssp.user_id_
  163. WHERE cs.actual_teacher_id_ = #{teacherId}
  164. <if test="student != null and student != ''">
  165. AND (s.phone_ LIKE CONCAT('%',#{student},'%') OR s.username_ LIKE CONCAT('%',#{student},'%'))
  166. </if>
  167. AND s.del_flag_ = 0
  168. </select>
  169. </mapper>