StudentPaymentRouteOrderMapper.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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.StudentPaymentRouteOrderDao">
  4. <resultMap id="StudentPaymentRouteOrder" type="com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder">
  5. <!--@mbg.generated-->
  6. <!--@Table student_payment_route_order-->
  7. <id column="id_" property="id"/>
  8. <result column="route_organ_id_" property="routeOrganId"/>
  9. <result column="route_amount_" property="routeAmount"/>
  10. <result column="route_balance_amount_" property="routeBalanceAmount"/>
  11. <result column="mer_no_" property="merNo"/>
  12. <result column="order_no_" property="orderNo"/>
  13. <result column="fee_flag_" property="feeFlag"/>
  14. </resultMap>
  15. <resultMap id="StudentPaymentRouteOrderDto" type="com.ym.mec.biz.dal.dto.StudentPaymentRouteOrderDto"
  16. extends="com.ym.mec.biz.dal.dao.StudentPaymentOrderDao.StudentPaymentOrder">
  17. <result column="username_" property="user.username"/>
  18. <result column="phone_" property="user.phone"/>
  19. <result column="route_organ_id_" property="routeOrganId"/>
  20. <result column="route_amount_" property="routeAmount"/>
  21. <result column="route_balance_amount_" property="routeBalanceAmount"/>
  22. <result column="mer_no_" property="merNo"/>
  23. <result column="order_no_" property="orderNo"/>
  24. <result column="fee_flag_" property="feeFlag"/>
  25. </resultMap>
  26. <sql id="Base_Column_List">
  27. <!--@mbg.generated-->
  28. id_, route_organ_id_, route_amount_,route_balance_amount_, mer_no_, order_no_, fee_flag_
  29. </sql>
  30. <select id="get" parameterType="java.lang.Long" resultMap="StudentPaymentRouteOrder">
  31. <!--@mbg.generated-->
  32. select
  33. <include refid="Base_Column_List"/>
  34. from student_payment_route_order
  35. where id_ = #{id}
  36. </select>
  37. <delete id="delete" parameterType="java.lang.Long">
  38. <!--@mbg.generated-->
  39. delete from student_payment_route_order
  40. where id_ = #{id}
  41. </delete>
  42. <insert id="insert" keyColumn="id_" keyProperty="id"
  43. parameterType="com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder" useGeneratedKeys="true">
  44. <!--@mbg.generated-->
  45. insert into student_payment_route_order (route_organ_id_, route_amount_,route_balance_amount_, mer_no_,
  46. order_no_, fee_flag_)
  47. values (#{routeOrganId}, #{routeAmount},#{routeBalanceAmount}, #{merNo}, #{orderNo}, #{feeFlag})
  48. </insert>
  49. <update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder">
  50. <!--@mbg.generated-->
  51. update student_payment_route_order
  52. <set>
  53. <if test="routeOrganId != null">
  54. route_organ_id_ = #{routeOrganId},
  55. </if>
  56. <if test="routeAmount != null">
  57. route_amount_ = #{routeAmount},
  58. </if>
  59. <if test="merNo != null">
  60. mer_no_ = #{merNo},
  61. </if>
  62. <if test="orderNo != null">
  63. order_no_ = #{orderNo},
  64. </if>
  65. </set>
  66. where id_ = #{id}
  67. </update>
  68. <insert id="batchAdd" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
  69. keyProperty="id">
  70. INSERT INTO student_payment_route_order
  71. (order_no_,route_organ_id_, route_amount_,route_balance_amount_, mer_no_,fee_flag_)
  72. VALUE
  73. <foreach collection="routeOrders" item="routeOrder" separator=",">
  74. (#{routeOrder.orderNo},#{routeOrder.routeOrganId},#{routeOrder.routeAmount},#{routeOrder.routeBalanceAmount},#{routeOrder.merNo},#{routeOrder.feeFlag})
  75. </foreach>
  76. </insert>
  77. <select id="queryPageOrder" parameterType="map" resultMap="StudentPaymentRouteOrderDto">
  78. SELECT spo.*,spro.*,u.username_,u.phone_ FROM student_payment_order spo
  79. LEFT JOIN student_payment_route_order spro ON spo.order_no_ = spro.order_no_
  80. left join sys_user u on spo.user_id_ = u.id_
  81. <include refid="queryPaymentOrder"/>
  82. ORDER BY spo.id_ DESC
  83. <include refid="global.limit"/>
  84. </select>
  85. <select id="getOrderMoneyAmount" parameterType="map" resultMap="StudentPaymentRouteOrderDto">
  86. SELECT SUM(spro.route_amount_) actual_amount_,SUM(spro.route_balance_amount_)
  87. balance_payment_amount_ FROM student_payment_route_order spro
  88. LEFT JOIN student_payment_order spo on spo.order_no_ = spro.order_no_
  89. <include refid="queryPaymentOrder"/>
  90. </select>
  91. <select id="getChargeAmount" parameterType="map" resultType="java.math.BigDecimal">
  92. SELECT SUM(spro.route_amount_) FROM student_payment_route_order spro
  93. LEFT JOIN student_payment_order spo ON spo.order_no_=spro.order_no_
  94. LEFT JOIN sporadic_charge_info sci ON spo.music_group_id_ = sci.id_
  95. <include refid="queryPaymentOrder"/>
  96. </select>
  97. <!-- 查询当前表的总记录数 -->
  98. <select id="queryCount" resultType="int" parameterType="map">
  99. SELECT COUNT(spo.id_) FROM student_payment_order spo
  100. LEFT JOIN student_payment_route_order spro ON spo.order_no_ = spro.order_no_
  101. LEFT JOIN sys_user u on spo.user_id_ = u.id_
  102. <include refid="queryPaymentOrder"/>
  103. </select>
  104. <sql id="queryPaymentOrder">
  105. <![CDATA[
  106. <where>
  107. <if test="userIds != null">
  108. AND spo.user_id_ IN
  109. <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
  110. #{userId}
  111. </foreach>
  112. </if>
  113. <if test="organId != null">
  114. AND FIND_IN_SET(spo.organ_id_,#{organId})
  115. </if>
  116. <if test="orderStartDate != null">
  117. AND DATE_FORMAT(spo.create_time_,'%Y-%m-%d') &gt;= #{orderStartDate}
  118. </if>
  119. <if test="orderEndDate != null">
  120. AND DATE_FORMAT(spo.create_time_,'%Y-%m-%d') &lt;= #{orderEndDate}
  121. </if>
  122. <if test="paymentType != null">
  123. AND spo.type_ = #{paymentType}
  124. </if>
  125. <if test="remark != null">
  126. AND spo.memo_ LIKE CONCAT('%',#{remark},'%')
  127. </if>
  128. <if test="studentId != null">
  129. AND spo.user_id_ = #{studentId}
  130. </if>
  131. <if test="paymentStatus != null">
  132. AND spo.status_ = #{paymentStatus}
  133. </if>
  134. <if test="paymentChannel != null">
  135. AND spo.payment_channel_ NOT IN (#{paymentChannel})
  136. </if>
  137. <if test='orderType != null and orderType.toString()=="1".toString()'>
  138. AND spo.com_amount_ > 0
  139. </if>
  140. <if test='orderType != null and orderType.toString()=="2".toString()'>
  141. AND spo.per_amount_ > 0
  142. </if>
  143. <if test="routingOrganId != null">
  144. AND FIND_IN_SET(spro.route_organ_id_,#{routingOrganId})
  145. </if>
  146. <if test="actualAmount != null">
  147. AND spo.actual_amount_ >= #{actualAmount}
  148. </if>
  149. <if test="balancePaymentAmount != null">
  150. AND spo.balance_payment_amount_ >= #{balancePaymentAmount}
  151. </if>
  152. <if test="lessActualAmount != null">
  153. AND spo.actual_amount_ <= #{lessActualAmount}
  154. </if>
  155. <if test="lessBalancePaymentAmount != null">
  156. AND spo.balance_payment_amount_ <= #{lessBalancePaymentAmount}
  157. </if>
  158. <if test="orderNo != null">
  159. AND spo.order_no_ = #{orderNo}
  160. </if>
  161. <if test="merNos != null">
  162. AND spro.mer_no_ = #{merNos}
  163. </if>
  164. <if test="transNo != null">
  165. AND spo.trans_no_ = #{transNo}
  166. </if>
  167. <if test="chargeType != null">
  168. AND spo.group_type_='SPORADIC'
  169. AND sci.charge_type_ = #{chargeType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
  170. </if>
  171. </where>
  172. ]]>
  173. </sql>
  174. <select id="getRouteOrders" resultMap="StudentPaymentRouteOrder">
  175. SELECT *
  176. FROM student_payment_route_order
  177. WHERE order_no_ = #{orderNo}
  178. </select>
  179. <!-- 统计已收款项 -->
  180. <select id="getRouteOrderAmount" resultType="java.math.BigDecimal">
  181. SELECT SUM(route_amount_)
  182. FROM student_payment_order spo
  183. LEFT JOIN student_payment_route_order spro ON spo.order_no_ = spro.order_no_
  184. WHERE spro.route_organ_id_ = #{routeOrganId} AND spo.payment_channel_ IN
  185. <foreach collection="paymentChannelEnumList" item="paymentChannel" open="(" close=")" separator=",">
  186. #{paymentChannel,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
  187. </foreach>
  188. <if test="startTime != null">
  189. AND spo.create_time_ >= #{startTime,jdbcType=DATE}
  190. </if>
  191. </select>
  192. <select id="ExportQueryPage" resultMap="com.ym.mec.biz.dal.dao.StudentPaymentOrderDao.orderAndDetail"
  193. parameterType="map">
  194. SELECT spo.*,u.username_,spod.id_ detail_id_,spod.type_ detail_type_,spod.price_
  195. detail_price_,spod.kit_group_purchase_type_ detail_kit_group_purchase_type_,
  196. sci.charge_type_,g.id_ goods_id, g.name_ goods_name,o.name_ organ_name,spro.route_amount_
  197. routeAmount,spro.route_balance_amount_ routeBalance,
  198. spro.mer_no_ routeMerNo
  199. FROM student_payment_order spo
  200. LEFT JOIN student_payment_route_order spro ON spro.order_no_ = spo.order_no_
  201. LEFT JOIN sys_user u on spo.user_id_ = u.id_
  202. LEFT JOIN student_payment_order_detail spod on spo.id_ = spod.payment_order_id_
  203. LEFT JOIN organization o on spro.route_organ_id_ = o.id_
  204. LEFT JOIN sporadic_charge_info sci on spo.music_group_id_ = sci.id_
  205. LEFT JOIN goods g on FIND_IN_SET(g.id_,spod.goods_id_list_)
  206. <include refid="queryPaymentOrder"/>
  207. ORDER BY spo.id_ ASC
  208. </select>
  209. <delete id="deleteByOrderNo">
  210. DELETE FROM student_payment_route_order
  211. where order_no_ = #{orderNo}
  212. </delete>
  213. </mapper>