CourseScheduleStudentPaymentMapper.xml 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  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.CourseScheduleStudentPaymentDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.CourseScheduleStudentPayment">
  5. <id column="id_" jdbcType="INTEGER" property="id"/>
  6. <result column="user_id_" jdbcType="INTEGER" property="userId"/>
  7. <result column="course_group_id_" jdbcType="INTEGER" property="courseGroupId"/>
  8. <result column="course_id_" jdbcType="INTEGER" property="courseId"/>
  9. <result column="order_no_" jdbcType="VARCHAR" property="orderNo"/>
  10. <result column="original_price_" jdbcType="VARCHAR" property="originalPrice"/>
  11. <result column="expect_price_" jdbcType="VARCHAR" property="expectPrice"/>
  12. <result column="actual_price_" jdbcType="VARCHAR" property="actualPrice"/>
  13. <result column="created_time_" jdbcType="TIMESTAMP" property="createdTime"/>
  14. <result column="updated_time_" jdbcType="TIMESTAMP" property="updatedTime"/>
  15. <result column="course_type_" jdbcType="VARCHAR" property="courseType"/>
  16. </resultMap>
  17. <sql id="Base_Column_List">
  18. id_
  19. , user_id_, course_group_id_, course_id_, order_no_, original_price_, expect_price_,
  20. actual_price_, created_time_, updated_time_, course_type_
  21. </sql>
  22. <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
  23. parameterType="com.yonge.cooleshow.biz.dal.entity.CourseScheduleStudentPayment">
  24. insert into course_schedule_student_payment(user_id_, course_group_id_, course_id_, order_no_, original_price_,
  25. expect_price_, actual_price_, created_time_, updated_time_, course_type_)
  26. values
  27. <foreach collection="entities" item="entity" separator=",">
  28. (#{entity.userId}, #{entity.courseGroupId}, #{entity.courseId}, #{entity.orderNo}, #{entity.originalPrice},
  29. #{entity.expectPrice}, #{entity.actualPrice}, #{entity.createdTime}, #{entity.updatedTime},
  30. #{entity.courseType})
  31. </foreach>
  32. </insert>
  33. <update id="adjustPlayMidi">
  34. UPDATE course_schedule_student_payment cssp
  35. <set>
  36. <if test="content == null or content == ''">
  37. cssp.play_midi_ = NULL,cssp.updated_time_ = NOW()
  38. </if>
  39. <if test="content != null and content != ''">
  40. cssp.play_midi_ = #{content},cssp.updated_time_ = NOW()
  41. </if>
  42. </set>
  43. <where>
  44. cssp.course_id_ = #{courseScheduleId}
  45. <if test="userId != null and userId != ''">
  46. AND FIND_IN_SET(cssp.user_id_,#{userId})
  47. </if>
  48. </where>
  49. </update>
  50. <update id="adjustExamSong">
  51. UPDATE course_schedule_student_payment SET music_sheet_download_json_ = #{musicSheetJson}
  52. WHERE course_id_ = #{courseScheduleId}
  53. <if test="userId != null">
  54. AND user_id_ = #{userId}
  55. </if>
  56. </update>
  57. <update id="adjustPlayMidiAndMusicSheet">
  58. UPDATE course_schedule_student_payment cssp
  59. <set>
  60. <if test="content == null or content == ''">
  61. cssp.play_midi_ = NULL,cssp.updated_time_ = NOW(),
  62. </if>
  63. <if test="content != null and content != ''">
  64. cssp.play_midi_ = #{content},cssp.updated_time_ = NOW(),
  65. </if>
  66. <if test="musicSheetJson != null">
  67. cssp.music_sheet_download_json_ = #{musicSheetJson}
  68. </if>
  69. </set>
  70. <where>
  71. cssp.course_id_ = #{scheduleId}
  72. <if test="userId != null and userId != ''">
  73. AND FIND_IN_SET(cssp.user_id_,#{userId})
  74. </if>
  75. </where>
  76. </update>
  77. <select id="queryStudentIds" resultType="java.lang.Long">
  78. SELECT DISTINCT user_id_ FROM course_schedule_student_payment
  79. <where>
  80. <if test="courseGroupId != null">
  81. AND course_group_id_ = #{courseGroupId}
  82. </if>
  83. <if test="courseGroupType != null and courseGroupType != ''">
  84. AND course_type_ = #{courseGroupType}
  85. </if>
  86. </where>
  87. </select>
  88. <select id="queryByCourseId" resultMap="BaseResultMap">
  89. SELECT <include refid="Base_Column_List"/> FROM course_schedule_student_payment
  90. WHERE course_id_ = #{courseScheduleId}
  91. </select>
  92. <select id="queryStudentInfoByGroupId" parameterType="map" resultType="com.yonge.cooleshow.biz.dal.vo.LiveCourseInfoVo$CourseBuyStudentVo">
  93. select distinct o.user_id_ as studentId,
  94. b.real_name_ as studentName,
  95. b.username_ as userName,
  96. b.avatar_ as avatar,
  97. a.create_time_ as createTime
  98. from user_order_detail as a
  99. left join user_order as o on a.order_no_ = o.order_no_
  100. left join sys_user as b on o.user_id_ = b.id_
  101. where a.biz_id_ = #{param.groupId} and a.good_type_ = 'LIVE'
  102. <if test="param.orderState != null and param.orderState != ''">
  103. AND o.status_ = #{param.orderState}
  104. </if>
  105. <if test="param.userId != null and param.userId != ''">
  106. AND o.user_id_ = #{param.userId}
  107. </if>
  108. </select>
  109. <select id="selectAll" resultType="java.lang.Long">
  110. SELECT user_id_ FROM course_schedule_student_payment WHERE course_type_ = 'PRACTICE'
  111. </select>
  112. <select id="selectPaymentList" resultType="com.yonge.cooleshow.biz.dal.vo.CourseScheduleStudentPaymentVo"
  113. parameterType="java.lang.String">
  114. SELECT
  115. p.user_id_ AS userId,
  116. p.course_group_id_ AS courseGroupId,
  117. p.course_id_ AS courseId,
  118. p.course_type_ AS courseType,
  119. p.expect_price_ AS expectPrice,
  120. p.actual_price_ AS actualPrice,
  121. g.teacher_id_ AS teacherId,
  122. s.class_num_ AS classNum
  123. FROM course_schedule_student_payment p
  124. LEFT JOIN course_group g ON p.course_group_id_ = g.id_
  125. LEFT JOIN course_schedule s ON p.course_id_ = s.id_
  126. WHERE p.order_no_=#{orderNo}
  127. </select>
  128. <select id="selectOrderNoByGroupId" resultType="java.lang.String">
  129. select
  130. distinct order_no_
  131. from course_schedule_student_payment cssp
  132. where cssp.course_group_id_ = #{courseGroupId}
  133. </select>
  134. <select id="selectUser" resultType="com.yonge.cooleshow.biz.dal.vo.CourseScheduleStudentVo">
  135. SELECT
  136. c.id_ AS courseId,
  137. c.course_group_id_ AS courseGroupId,
  138. c.teacher_id_ AS teacherId,
  139. p.user_id_ AS studentId,
  140. c.end_time_ AS endTime,
  141. c.single_course_time_ AS singleCourseTime,
  142. c.type_ AS type,
  143. p.order_no_ AS orderNo,
  144. s.actual_salary_ AS actualSalary,
  145. g.name_ AS groupName
  146. FROM course_schedule c
  147. LEFT JOIN course_schedule_student_payment p ON c.id_ = p.course_id_
  148. LEFT JOIN course_schedule_teacher_salary s ON c.id_ = s.course_schedule_id_
  149. LEFT JOIN course_group g ON c.course_group_id_ = g.id_
  150. WHERE c.lock_ = 0
  151. AND c.status_ IN ('ING','NOT_START')
  152. AND NOW() &gt;= c.end_time_
  153. ORDER BY c.end_time_
  154. </select>
  155. <select id="queryNoJoinStu" resultType="com.yonge.cooleshow.biz.dal.dto.BasicUserInfoDto">
  156. SELECT CASE WHEN su.username_ IS NULL THEN su.real_name_ ELSE su.username_ END userName,
  157. su.avatar_ headUrl,cssp.user_id_ userId
  158. FROM course_schedule_student_payment cssp
  159. LEFT JOIN sys_user su ON su.id_ = cssp.user_id_
  160. WHERE cssp.course_id_ = #{scheduleId}
  161. AND NOT EXISTS (SELECT rm.user_id_ FROM im_network_room_member rm WHERE rm.room_id_ = #{scheduleId} AND rm.user_id_ = cssp.user_id_ AND rm.role_ = 3)
  162. </select>
  163. </mapper>