CourseScheduleStudentPaymentMapper.xml 8.9 KB

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