CourseScheduleStudentPaymentMapper.xml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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="cleanPlayMidi">
  34. UPDATE course_schedule_student_payment SET play_midi_ = NULL WHERE course_id_ = #{courseScheduleId}
  35. </update>
  36. <update id="adjustPlayMidi">
  37. UPDATE course_schedule_student_payment cssp
  38. <set>
  39. <if test="content == null or content == ''">
  40. cssp.play_midi_ = NULL,cssp.update_time_ = NOW()
  41. </if>
  42. <if test="content != null and content != ''">
  43. cssp.play_midi_ = #{content},cssp.update_time_ = NOW()
  44. </if>
  45. </set>
  46. <where>
  47. cssp.course_id_ = #{courseScheduleId}
  48. <if test="userId != null and userId != ''">
  49. AND FIND_IN_SET(cssp.user_id_,#{userId})
  50. </if>
  51. </where>
  52. </update>
  53. <update id="adjustExamSong">
  54. UPDATE course_schedule_student_payment SET music_sheet_download_json_ = #{examSongJson}
  55. WHERE course_id_ = #{roomId}
  56. <if test="userId != null">
  57. AND user_id_ = #{userId}
  58. </if>
  59. </update>
  60. <update id="adjustPlayMidiAndMusicSheet">
  61. UPDATE course_schedule_student_payment cssp
  62. <set>
  63. <if test="content == null or content == ''">
  64. cssp.open_play_midi_ = NULL,cssp.update_time_ = NOW()
  65. </if>
  66. <if test="content != null and content != ''">
  67. cssp.open_play_midi_ = #{content},cssp.update_time_ = NOW()
  68. </if>
  69. <if test="examSongJson != null">
  70. cssp.exam_song_download_json_ = #{examSongJson}
  71. </if>
  72. </set>
  73. <where>
  74. cssp.course_schedule_id_ = #{courseScheduleId}
  75. <if test="userId != null and userId != ''">
  76. AND FIND_IN_SET(cssp.user_id_,#{userId})
  77. </if>
  78. </where>
  79. </update>
  80. <select id="queryStudentIds" resultType="java.lang.Long">
  81. SELECT DISTINCT user_id_ FROM course_schedule_student_payment
  82. <where>
  83. <if test="courseGroupId != null">
  84. AND course_group_id_ = #{courseGroupId}
  85. </if>
  86. <if test="courseGroupType != null and courseGroupType != ''">
  87. AND course_type_ = #{courseGroupType}
  88. </if>
  89. </where>
  90. </select>
  91. <select id="getMidiByCourseIdAndUserId" resultType="java.lang.String">
  92. SELECT play_midi_ FROM course_schedule_student_payment
  93. WHERE user_id_ = #{userId} AND course_id_ = #{courseScheduleId} LIMIT 1
  94. </select>
  95. <select id="getMusicSheetByCourseIdAndUserId" resultType="java.lang.String">
  96. SELECT music_sheet_download_json_ FROM course_schedule_student_payment
  97. WHERE user_id_ = #{userId} AND course_id_ = #{courseScheduleId} LIMIT 1
  98. </select>
  99. <select id="queryByCourseId" resultMap="BaseResultMap">
  100. SELECT <include refid="Base_Column_List"/> FROM course_schedule_student_payment
  101. WHERE course_id_ = #{courseScheduleId}
  102. </select>
  103. <select id="queryStudentInfoByGroupId" parameterType="map" resultType="com.yonge.cooleshow.biz.dal.vo.LiveCourseInfoVo$CourseBuyStudentVo">
  104. select distinct a.user_id_ as studentId,
  105. b.real_name_ as studentName,
  106. b.username_ as userName,
  107. b.avatar_ as avatar,
  108. a.created_time_ as createTime
  109. from course_schedule_student_payment as a
  110. left join sys_user as b on a.user_id_ = b.id_
  111. left join user_order as o on a.order_no_ = o.order_no_
  112. where a.course_group_id_ = #{param.groupId}
  113. <if test="param.orderState != null and param.orderState != ''">
  114. AND o.status_ = #{param.orderState}
  115. </if>
  116. <if test="param.userId != null and param.userId != ''">
  117. AND a.user_id_ = #{param.userId}
  118. </if>
  119. </select>
  120. <select id="selectAll" resultType="java.lang.Long">
  121. SELECT user_id_ FROM course_schedule_student_payment WHERE course_type_ = 'PRACTICE'
  122. </select>
  123. <select id="selectPaymentList" resultType="com.yonge.cooleshow.biz.dal.vo.CourseScheduleStudentPaymentVo"
  124. parameterType="java.lang.String">
  125. SELECT
  126. p.user_id_ AS userId,
  127. p.course_group_id_ AS courseGroupId,
  128. p.course_id_ AS courseId,
  129. p.course_type_ AS courseType,
  130. p.expect_price_ AS expectPrice,
  131. p.actual_price_ AS actualPrice,
  132. g.teacher_id_ AS teacherId,
  133. s.class_num_ AS classNum
  134. FROM course_schedule_student_payment p
  135. LEFT JOIN course_group g ON p.course_group_id_ = g.id_
  136. LEFT JOIN course_schedule s ON p.course_id_ = s.id_
  137. WHERE p.order_no_=#{orderNo}
  138. </select>
  139. </mapper>