后台服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

NeuPosOrderMasterExtMapper.xml 10 KiB

2 年之前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  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.iformall.mapper.NeuPosOrderMasterExtMapper">
  4. <select id="queryShopPayTypeTradeList" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map">
  5. SELECT shop_id as shopId,
  6. sum(real_pay_amount) as payAmount,
  7. count(0) as payCount
  8. from order_master_v2
  9. where order_status = 4 and order_type != '3'
  10. <if test=" orgId != null">
  11. and org_id = #{orgId}
  12. </if>
  13. <if test=" shopId != null">
  14. and shop_id = #{shopId}
  15. </if>
  16. <if test=" createBegin != null">
  17. and created_at &gt;= #{createBegin}
  18. </if>
  19. <if test=" createEnd != null">
  20. and created_at &lt;= #{createEnd}
  21. </if>
  22. GROUP BY shop_id
  23. ORDER BY shop_id asc
  24. </select>
  25. <select id="selectOrgPayType" parameterType="Integer" resultType="String">
  26. SELECT distinct pay_type as payType
  27. from trade_mch_pay_channel
  28. where org_id = #{orgId}
  29. </select>
  30. <select id="queryShopPayOrderList" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map">
  31. SELECT
  32. pay_type_dict_v2.pay_type AS payType,
  33. ifnull( payAmount, 0 )AS payAmount,
  34. ifnull( discountAmount, 0 )AS discountAmount,
  35. ifnull( payCount, 0 )AS payCount,
  36. ifnull( refundAmount, 0 )AS refundAmount,
  37. ifnull( refundCount, 0 )AS refundCount,
  38. ifnull( ( ifnull(payAmount,0) - ifnull(refundAmount,0) ), 0 ) AS amount
  39. FROM
  40. pay_type_dict_v2
  41. LEFT JOIN (
  42. SELECT
  43. ifnull( sum( pay_order_v2.pay_amount ) / 100, 0 ) AS payAmount,
  44. count( 0 ) AS payCount,
  45. 0 AS discountAmount,
  46. pay_type AS payType
  47. FROM
  48. pay_order_v2
  49. LEFT JOIN order_master_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number
  50. where order_master_v2.order_type != '3' and pay_order_v2.pay_type not in ('29','30')
  51. <if test=" orgId != null">
  52. and order_master_v2.org_id = #{orgId}
  53. </if>
  54. <if test=" shopId != null">
  55. and order_master_v2.shop_id = #{shopId}
  56. </if>
  57. <if test=" createBegin != null">
  58. and pay_order_v2.created_at &gt;= #{createBegin}
  59. </if>
  60. <if test=" createEnd != null">
  61. and pay_order_v2.created_at &lt;= #{createEnd}
  62. </if>
  63. <if test=" null != payTypeList ">
  64. and pay_order_v2.pay_type in
  65. <foreach collection="payTypeList" index="index" item="payTypeItem" open="(" separator="," close=")">
  66. #{payTypeItem}
  67. </foreach>
  68. </if>
  69. AND ( pay_order_v2.pay_status = 2 OR pay_order_v2.pay_status = 5 OR pay_order_v2.pay_status = 4 )
  70. GROUP BY
  71. pay_type
  72. ) AS paid ON pay_type_dict_v2.pay_type = paid.payType
  73. LEFT JOIN (
  74. SELECT
  75. ifnull( sum( refunded_amount ) / 100, 0 ) refundAmount,
  76. count( 0 ) refundCount,
  77. pay_type AS payType
  78. FROM
  79. pay_refund_order_v2 AS pay_order_v2
  80. LEFT JOIN order_master_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number
  81. where order_master_v2.order_type != '3' and pay_order_v2.pay_type not in ('29','30')
  82. <if test=" orgId != null">
  83. and order_master_v2.org_id = #{orgId}
  84. </if>
  85. <if test=" shopId != null">
  86. and order_master_v2.shop_id = #{shopId}
  87. </if>
  88. <if test=" createBegin != null">
  89. and pay_order_v2.created_at &gt;= #{createBegin}
  90. </if>
  91. <if test=" createEnd != null">
  92. and pay_order_v2.created_at &lt;= #{createEnd}
  93. </if>
  94. <if test=" null != payTypeList ">
  95. and pay_order_v2.pay_type in
  96. <foreach collection="payTypeList" index="index" item="payTypeItem" open="(" separator="," close=")">
  97. #{payTypeItem}
  98. </foreach>
  99. </if>
  100. AND refund_status = 2
  101. GROUP BY
  102. pay_type
  103. ) AS refund ON pay_type_dict_v2.pay_type = refund.payType
  104. where pay_type_dict_v2.pay_type not in ('29','30')
  105. <if test=" null != payTypeList ">
  106. and pay_type_dict_v2.pay_type in
  107. <foreach collection="payTypeList" index="index" item="payTypeItem" open="(" separator="," close=")">
  108. #{payTypeItem}
  109. </foreach>
  110. </if>
  111. </select>
  112. <select id="queryShopPayOrderSum" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map">
  113. select sum(_temp.payAmount) as payAmount, sum(_temp.payCount) as payCount,sum(_temp.refundAmount) as refundAmount,
  114. sum(_temp.refundCount) as refundCount
  115. from
  116. (
  117. SELECT
  118. pay_type_dict_v2.pay_type AS payType,
  119. ifnull( payAmount, 0 )AS payAmount,
  120. ifnull( discountAmount, 0 )AS discountAmount,
  121. ifnull( payCount, 0 )AS payCount,
  122. ifnull( refundAmount, 0 )AS refundAmount,
  123. ifnull( refundCount, 0 )AS refundCount,
  124. ifnull( ( ifnull(payAmount,0) - ifnull(refundAmount,0) ), 0 ) AS amount
  125. FROM
  126. pay_type_dict_v2
  127. LEFT JOIN (
  128. SELECT
  129. ifnull( sum( pay_order_v2.pay_amount ) / 100, 0 ) AS payAmount,
  130. count( 0 ) AS payCount,
  131. 0 AS discountAmount,
  132. pay_type AS payType
  133. FROM
  134. pay_order_v2
  135. LEFT JOIN order_master_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number
  136. where order_master_v2.order_type != '3' and pay_order_v2.pay_type not in ('29','30')
  137. <if test=" orgId != null">
  138. and order_master_v2.org_id = #{orgId}
  139. </if>
  140. <if test=" shopId != null">
  141. and order_master_v2.shop_id = #{shopId}
  142. </if>
  143. <if test=" createBegin != null">
  144. and pay_order_v2.created_at &gt;= #{createBegin}
  145. </if>
  146. <if test=" createEnd != null">
  147. and pay_order_v2.created_at &lt;= #{createEnd}
  148. </if>
  149. <if test=" null != payTypeList ">
  150. and pay_order_v2.pay_type in
  151. <foreach collection="payTypeList" index="index" item="payTypeItem" open="(" separator="," close=")">
  152. #{payTypeItem}
  153. </foreach>
  154. </if>
  155. AND ( pay_order_v2.pay_status = 2 OR pay_order_v2.pay_status = 5 OR pay_order_v2.pay_status = 4 )
  156. GROUP BY
  157. pay_type
  158. ) AS paid ON pay_type_dict_v2.pay_type = paid.payType
  159. LEFT JOIN (
  160. SELECT
  161. ifnull( sum( refunded_amount ) / 100, 0 ) refundAmount,
  162. count( 0 ) refundCount,
  163. pay_type AS payType
  164. FROM
  165. pay_refund_order_v2 AS pay_order_v2
  166. LEFT JOIN order_master_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number
  167. where order_master_v2.order_type != '3' and pay_order_v2.pay_type not in ('29','30')
  168. <if test=" orgId != null">
  169. and order_master_v2.org_id = #{orgId}
  170. </if>
  171. <if test=" shopId != null">
  172. and order_master_v2.shop_id = #{shopId}
  173. </if>
  174. <if test=" createBegin != null">
  175. and pay_order_v2.created_at &gt;= #{createBegin}
  176. </if>
  177. <if test=" createEnd != null">
  178. and pay_order_v2.created_at &lt;= #{createEnd}
  179. </if>
  180. <if test=" null != payTypeList ">
  181. and pay_order_v2.pay_type in
  182. <foreach collection="payTypeList" index="index" item="payTypeItem" open="(" separator="," close=")">
  183. #{payTypeItem}
  184. </foreach>
  185. </if>
  186. AND refund_status = 2
  187. GROUP BY
  188. pay_type
  189. ) AS refund ON pay_type_dict_v2.pay_type = refund.payType
  190. where pay_type_dict_v2.pay_type not in ('29','30')
  191. <if test=" null != payTypeList ">
  192. and pay_type_dict_v2.pay_type in
  193. <foreach collection="payTypeList" index="index" item="payTypeItem" open="(" separator="," close=")">
  194. #{payTypeItem}
  195. </foreach>
  196. </if>
  197. ) as _temp
  198. </select>
  199. <select id="selectShopList" parameterType="Integer" resultType="java.util.Map">
  200. select id,name from `shop` where status = 1
  201. <if test=" orgId != null">
  202. and org = #{orgId}
  203. </if>
  204. order by name asc
  205. </select>
  206. <select id="selectPayTypeList" resultType="java.util.Map">
  207. select pay_type,name from `trade_pay_type_dict`
  208. </select>
  209. <select id="queryOrderListByConditions" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map">
  210. SELECT o.id,o.shop_id as shopId,o.paid_time AS paidTime,o.order_number AS orderNumber,o.serial_no AS serialNo,
  211. o.order_amount/100 AS orderAmount,
  212. sum( IF ( p.pay_type = 29, pay_amount, 0 ) )/100 AS discountAmount,
  213. o.real_pay_amount / 100 AS realPayAmount,
  214. o.order_status AS orderStatus,
  215. p.pay_type as payType
  216. FROM
  217. order_master_v2 AS o
  218. LEFT JOIN pay_order_v2 AS p ON o.order_number = p.m_order_number
  219. where 1=1
  220. <if test=" orgId != null">
  221. and o.org_id = #{orgId}
  222. </if>
  223. <if test=" shopId != null">
  224. and o.shop_id = #{shopId}
  225. </if>
  226. <if test=" createBegin != null">
  227. and o.created_at &gt;= #{createBegin}
  228. </if>
  229. <if test=" createEnd != null">
  230. and o.created_at &lt;= #{createEnd}
  231. </if>
  232. GROUP BY
  233. o.order_number
  234. ORDER BY o.created_at desc
  235. </select>
  236. <select id="queryMasterById" parameterType="Long" resultType="java.util.Map">
  237. select id,order_number as orderNumber,org_id as orgId,shop_id as shopId,buyer_id as buyerId,serial_no as serialNo,device_name as deviceName,
  238. customer_number as customerNumber,seq_no as seqNo,(ifnull( order_amount, 0 )/100) AS orderAmount,(ifnull( real_pay_amount, 0 )/100) AS realPayAmount,
  239. order_amount_unit as orderAmountUnit,paid_time as paidTime,refund_time as refundTime,order_status as orderStatus
  240. from order_master_v2 where id=#{id}
  241. </select>
  242. <update id="updateOrderMasterPayStatus" parameterType="java.util.Map">
  243. update order_master_v2 set order_status=#{payStatus} where order_number=#{orderNumber}
  244. </update>
  245. <select id="queryPayOrderByStatus" parameterType="java.util.Map" resultType="java.util.Map">
  246. select * from pay_order_v2 where m_order_number=#{orderNumber} and pay_status = #{payStatus}
  247. </select>
  248. <insert id="insertPayOder" parameterType="com.iformall.domain.dto.NeuPosUpdatePayDto">
  249. insert into pay_order_v2(m_order_number,trade_id,device_id,device_name,description,pay_type,pay_type_name,pay_amount,refunded_amount,
  250. time_expire,pay_status,pay_time,version,trade_type,created_at,created_by,updated_by,updated_at)
  251. values (#{orderNumber},#{tradeId},#{deviceId},#{deviceName},#{description},#{payType},#{payTypeName},#{realPayAmount},#{refundAmount},
  252. now(),#{payStatus},now(),1,"NATIVE",now(),"system","system",now())
  253. </insert>
  254. <select id="queryDeviceList" parameterType="java.util.Map" resultType="java.util.Map">
  255. select serial_no as serialNo,alias from device where status = 0 and organization_id = #{organizationId} and store_id = #{shopId}
  256. </select>
  257. </mapper>