CloudTeacherMapper.xml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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.CloudTeacherDao">
  4. <resultMap id="CloudTeacher" type="com.ym.mec.biz.dal.entity.CloudTeacher">
  5. <!--@mbg.generated-->
  6. <!--@Table cloud_teacher-->
  7. <id column="id_" property="id"/>
  8. <result column="student_id_" property="studentId"/>
  9. <result column="level_" property="level"/>
  10. <result column="start_time_" property="startTime"/>
  11. <result column="end_time_" property="endTime"/>
  12. <result column="version_" property="version"/>
  13. <result column="create_time_" property="createTime"/>
  14. <result column="update_time_" property="updateTime"/>
  15. <result column="tenant_id_" property="tenantId" />
  16. </resultMap>
  17. <select id="get" parameterType="java.lang.Integer" resultMap="CloudTeacher">
  18. <!--@mbg.generated-->
  19. select * from cloud_teacher
  20. where id_ = #{id}
  21. </select>
  22. <delete id="delete" parameterType="java.lang.Integer">
  23. <!--@mbg.generated-->
  24. delete from cloud_teacher
  25. where id_ = #{id}
  26. </delete>
  27. <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.CloudTeacher"
  28. useGeneratedKeys="true">
  29. <!--@mbg.generated-->
  30. insert into cloud_teacher (student_id_, level_, start_time_, end_time_, version_, create_time_,
  31. update_time_,tenant_id_)
  32. values (#{studentId}, #{level}, #{startTime}, #{endTime}, #{version}, NOW(),NOW(),#{tenantId})
  33. </insert>
  34. <update id="update" parameterType="com.ym.mec.biz.dal.entity.CloudTeacher">
  35. <!--@mbg.generated-->
  36. update cloud_teacher
  37. <set>
  38. <if test="studentId != null">
  39. student_id_ = #{studentId},
  40. </if>
  41. <if test="level != null">
  42. level_ = #{level},
  43. </if>
  44. <if test="startTime != null">
  45. start_time_ = #{startTime},
  46. </if>
  47. <if test="endTime != null">
  48. end_time_ = #{endTime},
  49. </if>
  50. <if test="createTime != null">
  51. create_time_ = #{createTime},
  52. </if>
  53. update_time_ = NOW(),
  54. version_ = version_+1
  55. </set>
  56. where id_ = #{id} AND version_ = #{version} and tenant_id_ = #{tenantId}
  57. </update>
  58. <!-- 全查询 -->
  59. <select id="findAll" resultMap="CloudTeacher">
  60. SELECT *
  61. FROM cloud_teacher where tenant_id_ = #{tenantId}
  62. </select>
  63. <!-- 分页查询 -->
  64. <select id="queryPage" resultMap="CloudTeacher" parameterType="map">
  65. SELECT * FROM cloud_teacher where tenant_id_ = #{tenantId}
  66. <include refid="global.limit"/>
  67. </select>
  68. <!-- 查询当前表的总记录数 -->
  69. <select id="queryCount" resultType="int">
  70. SELECT COUNT(*)
  71. FROM cloud_teacher where tenant_id_ = #{tenantId}
  72. </select>
  73. <select id="getByStudentId" resultMap="CloudTeacher">
  74. SELECT *
  75. FROM cloud_teacher
  76. WHERE student_id_ = #{studentId}
  77. </select>
  78. <select id="getOrganVipStudentNum" resultType="int">
  79. SELECT COUNT(DISTINCT cto.student_id_)
  80. FROM cloud_teacher_order cto
  81. LEFT JOIN sys_user su ON cto.student_id_=su.id_
  82. WHERE su.del_flag_=0 AND cto.status_ IN (1,2) AND su.organ_id_=#{organId}
  83. </select>
  84. <select id="getOrgansTotalVipStudentNum" resultType="int">
  85. SELECT COUNT(DISTINCT cto.student_id_)
  86. FROM cloud_teacher_order cto
  87. LEFT JOIN sys_user su ON cto.student_id_=su.id_
  88. WHERE su.del_flag_=0 AND cto.status_ IN (1,2)
  89. <if test="organIds!=null and organIds.size()>0">
  90. AND su.organ_id_ IN
  91. <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
  92. #{organId}
  93. </foreach>
  94. </if>
  95. </select>
  96. <select id="getOrgansVipStudentNum" resultType="map">
  97. SELECT
  98. su.organ_id_ 'key',
  99. COUNT(DISTINCT cto.student_id_) 'value'
  100. FROM cloud_teacher_order cto
  101. LEFT JOIN sys_user su ON cto.student_id_=su.id_
  102. WHERE su.del_flag_=0 AND cto.status_ IN (1,2)
  103. <if test="organIds!=null and organIds.size()>0">
  104. AND su.organ_id_ IN
  105. <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
  106. #{organId}
  107. </foreach>
  108. </if>
  109. GROUP BY su.organ_id_
  110. </select>
  111. <select id="getTeachersMemberStudentNum" resultType="map">
  112. SELECT
  113. stu.teacher_id_ 'key',
  114. COUNT(DISTINCT cto.student_id_) 'value'
  115. FROM cloud_teacher_order cto
  116. LEFT JOIN student stu ON cto.student_id_=stu.user_id_
  117. LEFT JOIN sys_user su ON cto.student_id_=su.id_
  118. WHERE su.del_flag_=0 AND cto.status_ IN (1,2)
  119. <if test="organId!=null">
  120. AND su.organ_id_=#{organId}
  121. </if>
  122. <if test="teacherIds!=null and teacherIds.size()>0">
  123. AND stu.teacher_id_ IN
  124. <foreach collection="teacherIds" item="teacherId" open="(" close=")" separator=",">
  125. #{teacherId}
  126. </foreach>
  127. </if>
  128. GROUP BY stu.teacher_id_
  129. </select>
  130. </mapper>