CloudTeacherOrderMapper.xml 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  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.CloudTeacherOrderDao">
  4. <resultMap id="CloudTeacherOrder" type="com.ym.mec.biz.dal.entity.CloudTeacherOrder">
  5. <!--@mbg.generated-->
  6. <!--@Table cloud_teacher_order-->
  7. <id column="id_" property="id"/>
  8. <result column="organ_id_" property="organId"/>
  9. <result column="student_id_" property="studentId"/>
  10. <result column="type_" property="type"/>
  11. <result column="level_" property="level"/>
  12. <result column="time_" property="time"/>
  13. <result column="amount_" property="amount"/>
  14. <result column="refund_amount_" property="refundAmount"/>
  15. <result column="status_" property="status"/>
  16. <result column="start_time_" property="startTime"/>
  17. <result column="end_time_" property="endTime"/>
  18. <result column="order_id_" property="orderId"/>
  19. <result column="remark_" property="remark"/>
  20. <result column="version_" property="version"/>
  21. <result column="create_time_" property="createTime"/>
  22. <result column="update_time_" property="updateTime"/>
  23. <result column="music_group_id_" property="musicGroupId"/>
  24. </resultMap>
  25. <resultMap type="com.ym.mec.biz.dal.dto.CloudTeacherOrderDto" id="CloudTeacherOrderDto">
  26. <id column="id_" property="cloudTeacherOrder.id"/>
  27. <result column="organ_id_" property="cloudTeacherOrder.organId"/>
  28. <result column="student_id_" property="cloudTeacherOrder.studentId"/>
  29. <result column="type_" property="cloudTeacherOrder.type"/>
  30. <result column="level_" property="cloudTeacherOrder.level"/>
  31. <result column="time_" property="cloudTeacherOrder.time"/>
  32. <result column="amount_" property="cloudTeacherOrder.amount"/>
  33. <result column="refund_amount_" property="cloudTeacherOrder.refundAmount"/>
  34. <result column="status_" property="cloudTeacherOrder.status"/>
  35. <result column="start_time_" property="cloudTeacherOrder.startTime"/>
  36. <result column="end_time_" property="cloudTeacherOrder.endTime"/>
  37. <result column="order_id_" property="cloudTeacherOrder.orderId"/>
  38. <result column="trans_status_" property="studentPaymentOrder.status"/>
  39. <result column="expect_amount_" property="studentPaymentOrder.expectAmount"/>
  40. <result column="name_" property="memberRankSetting.name"/>
  41. <result column="icon_" property="memberRankSetting.icon"/>
  42. </resultMap>
  43. <select id="get" resultMap="CloudTeacherOrder">
  44. <!--@mbg.generated-->
  45. select * from cloud_teacher_order where id_ = #{id}
  46. </select>
  47. <delete id="delete">
  48. <!--@mbg.generated-->
  49. delete from cloud_teacher_order
  50. where id_ = #{id}
  51. </delete>
  52. <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.CloudTeacherOrder"
  53. useGeneratedKeys="true">
  54. <!--@mbg.generated-->
  55. insert into cloud_teacher_order (organ_id_,student_id_, type_, level_, time_, amount_, refund_amount_, status_,
  56. order_id_,start_time_,end_time_,
  57. remark_, create_time_, update_time_)
  58. values (#{orderId},#{studentId}, #{type},#{level}, #{time}, #{amount}, #{refundAmount},
  59. #{status},#{orderId},#{startTime},#{endTime}, #{remark}, NOW(), NOW())
  60. </insert>
  61. <update id="update" parameterType="com.ym.mec.biz.dal.entity.CloudTeacherOrder">
  62. <!--@mbg.generated-->
  63. update cloud_teacher_order
  64. <set>
  65. <if test="orderId != null">
  66. organ_id_ = #{orderId},
  67. </if>
  68. <if test="studentId != null">
  69. student_id_ = #{studentId},
  70. </if>
  71. <if test="type != null">
  72. type_ = #{type},
  73. </if>
  74. <if test="level != null">
  75. level_ = #{level},
  76. </if>
  77. <if test="time != null">
  78. time_ = #{time},
  79. </if>
  80. <if test="amount != null">
  81. amount_ = #{amount},
  82. </if>
  83. <if test="refundAmount != null">
  84. refund_amount_ = #{refundAmount},
  85. </if>
  86. <if test="status != null">
  87. status_ = #{status},
  88. </if>
  89. <if test="startTime != null">
  90. start_time_ = #{startTime},
  91. </if>
  92. <if test="endTime != null">
  93. end_time_ = #{endTime},
  94. </if>
  95. <if test="orderId != null">
  96. order_id_ = #{orderId},
  97. </if>
  98. <if test="remark != null">
  99. remark_ = #{remark},
  100. </if>
  101. <if test="createTime != null">
  102. create_time_ = #{createTime},
  103. </if>
  104. version_ = version_+1,
  105. update_time_ = NOW(),
  106. </set>
  107. where id_ = #{id} AND version_ = #{version}
  108. </update>
  109. <!-- 全查询 -->
  110. <select id="findAll" resultMap="CloudTeacherOrder">
  111. SELECT *
  112. FROM cloud_teacher_order
  113. </select>
  114. <!-- 分页查询 -->
  115. <select id="queryPage" resultMap="CloudTeacherOrderDto" parameterType="map">
  116. SELECT cto.*,spo.status_ trans_status_,spo.expect_amount_,mrs.name_,mrs.icon_ FROM cloud_teacher_order cto
  117. left join student_payment_order spo on cto.organ_id_ = spo.id_
  118. left join member_rank_setting mrs on mrs.id_ = cto.level_
  119. where spo.type_ = 'MEMBER'
  120. <if test="status != null">
  121. and cto.status_ = #{status}
  122. </if>
  123. <if test="studentId != null">
  124. and cto.student_id_ = #{studentId}
  125. </if>
  126. order by spo.pay_time_ desc,spo.id_ desc
  127. <include refid="global.limit"/>
  128. </select>
  129. <!-- 查询当前表的总记录数 -->
  130. <select id="queryCount" resultType="int">
  131. SELECT COUNT(cto.id_)
  132. FROM cloud_teacher_order cto left join student_payment_order spo on cto.organ_id_ = spo.id_
  133. where spo.type_ = 'MEMBER'
  134. <if test="status != null">
  135. and cto.status_ = #{status}
  136. </if>
  137. <if test="studentId != null">
  138. and cto.student_id_ = #{studentId}
  139. </if>
  140. order by cto.create_time_ desc
  141. </select>
  142. <select id="getNoStartCloudTeacherOrder" resultMap="CloudTeacherOrder">
  143. SELECT cto.*, spo.music_group_id_
  144. FROM cloud_teacher_order cto
  145. LEFT JOIN student_payment_order spo ON cto.order_id_ = spo.id_
  146. LEFT JOIN music_group mg on spo.music_group_id_ = mg.id_
  147. WHERE cto.status_ = 1
  148. ORDER BY spo.pay_time_ ASC
  149. </select>
  150. <select id="getStudentCloudTeacherOrders" resultMap="CloudTeacherOrder">
  151. SELECT *
  152. FROM cloud_teacher_order
  153. WHERE order_id_ IN (
  154. SELECT MAX(id_)
  155. FROM student_payment_order
  156. WHERE type_ = 'APPLY'
  157. AND music_group_id_ = #{musicGroupId}
  158. AND status_ = 'SUCCESS'
  159. AND user_id_ IN
  160. <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
  161. #{studentId}
  162. </foreach>
  163. GROUP BY user_id_
  164. )
  165. AND student_id_ IN
  166. <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
  167. #{studentId}
  168. </foreach>
  169. AND status_ IN (1,2)
  170. </select>
  171. <select id="getStudentCloudTeacherOrder" resultMap="CloudTeacherOrder">
  172. SELECT *
  173. FROM cloud_teacher_order
  174. WHERE order_id_ = (
  175. SELECT MAX(id_)
  176. FROM student_payment_order
  177. WHERE type_ = 'APPLY'
  178. AND music_group_id_ = #{musicGroupId}
  179. AND status_ = 'SUCCESS'
  180. AND user_id_ = #{studentId}
  181. )
  182. AND student_id_ = #{studentId}
  183. AND status_ IN (1, 2)
  184. </select>
  185. <select id="queryByOrderId" resultMap="CloudTeacherOrder">
  186. SELECT cto.* FROM cloud_teacher_order cto
  187. WHERE order_id_ = #{orderId}
  188. </select>
  189. <select id="queryOrderInfoByOrderId" resultMap="CloudTeacherOrderDto">
  190. SELECT cto.*,spo.status_ trans_status_,spo.expect_amount_,mrs.name_,mrs.icon_ FROM cloud_teacher_order cto
  191. left join student_payment_order spo on cto.organ_id_ = spo.id_
  192. left join member_rank_setting mrs on mrs.id_ = cto.level_
  193. where spo.type_ = 'MEMBER' and order_id_ = #{orderId}
  194. </select>
  195. </mapper>