CmReceiptOrderRelationMapper.xml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  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.caimei.modules.order.dao.CmReceiptOrderRelationDao">
  4. <sql id="cmReceiptOrderRelationColumns">
  5. a.id AS "id",
  6. a.relationType AS "relationType",
  7. a.receiptID AS "receiptID",
  8. a.associateAmount AS "associateAmount",
  9. a.orderID AS "orderID",
  10. a.delFlag AS "delFlag"
  11. </sql>
  12. <sql id="cmReceiptOrderRelationJoins">
  13. </sql>
  14. <select id="get" resultType="CmReceiptOrderRelation">
  15. SELECT
  16. <include refid="cmReceiptOrderRelationColumns"/>
  17. FROM cm_receipt_order_relation a
  18. <include refid="cmReceiptOrderRelationJoins"/>
  19. WHERE a.id = #{id}
  20. </select>
  21. <select id="findList" resultType="CmReceiptOrderRelation">
  22. SELECT
  23. <include refid="cmReceiptOrderRelationColumns"/>
  24. FROM cm_receipt_order_relation a
  25. <include refid="cmReceiptOrderRelationJoins"/>
  26. <where>
  27. </where>
  28. <choose>
  29. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  30. ORDER BY ${page.orderBy}
  31. </when>
  32. <otherwise>
  33. </otherwise>
  34. </choose>
  35. </select>
  36. <select id="findAllList" resultType="CmReceiptOrderRelation">
  37. SELECT
  38. <include refid="cmReceiptOrderRelationColumns"/>
  39. FROM cm_receipt_order_relation a
  40. <include refid="cmReceiptOrderRelationJoins"/>
  41. <where>
  42. </where>
  43. <choose>
  44. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  45. ORDER BY ${page.orderBy}
  46. </when>
  47. <otherwise>
  48. </otherwise>
  49. </choose>
  50. </select>
  51. <insert id="insert" parameterType="CmReceiptOrderRelation" keyProperty="id" useGeneratedKeys="true">
  52. INSERT INTO cm_receipt_order_relation(
  53. relationType,
  54. receiptID,
  55. associateAmount,
  56. orderID,
  57. delFlag
  58. ) VALUES (
  59. #{relationType},
  60. #{receiptID},
  61. #{associateAmount},
  62. #{orderID},
  63. #{delFlag}
  64. )
  65. </insert>
  66. <insert id="insertOnlineRefund">
  67. INSERT INTO cm_online_refund (userId, orderRequestNo, orderId, amount, refundType)
  68. VALUES (#{userId}, #{orderRequestNo}, #{orderId}, #{amount}, #{balanceRefundOrderId}, #{refundType})
  69. </insert>
  70. <update id="update">
  71. UPDATE cm_receipt_order_relation SET
  72. relationType = #{relationType},
  73. receiptID = #{receiptID},
  74. associateAmount = #{associateAmount},
  75. orderID = #{orderID},
  76. delFlag = #{delFlag}
  77. WHERE id = #{id}
  78. </update>
  79. <delete id="delete">
  80. DELETE FROM cm_receipt_order_relation
  81. WHERE id = #{id}
  82. </delete>
  83. <select id="findByReceiptID" resultType="CmReceiptOrderRelation">
  84. select
  85. <include refid="cmReceiptOrderRelationColumns"/>
  86. from cm_receipt_order_relation a
  87. where a.receiptID = #{receiptID}
  88. and a.delFlag = 0
  89. </select>
  90. <select id="findByOrderID" resultType="CmReceiptOrderRelation">
  91. select
  92. a.*,
  93. b.payType as "payType",
  94. b.receiptDate as "receiptDate",
  95. b.confirmType as "confirmType",
  96. b.balanceAccountsRemark as "balanceAccountsRemark",
  97. b.payWay as "payWay"
  98. from cm_receipt_order_relation a
  99. left join cm_discern_receipt b on a.receiptID = b.id
  100. where a.orderID = #{orderID}
  101. AND b.receiptType = '1'
  102. AND b.receiptStatus = '3'
  103. AND a.delFlag = '0'
  104. AND b.delFlag = '0'
  105. order by b.receiptDate desc
  106. </select>
  107. <select id="findByOrderIDGroupBy" resultType="CmReceiptOrderRelation">
  108. select
  109. a.relationType,
  110. a.orderID AS "orderID",
  111. a.receiptID AS "receiptID",
  112. SUM(b.receiptAmount) AS "associateAmount",
  113. b.payType as "payType",
  114. DATE_FORMAT(b.receiptDate,"%Y年%m月%d日") as "receiptDate",
  115. b.confirmType as "confirmType"
  116. from cm_receipt_order_relation a
  117. left join cm_discern_receipt b on a.receiptID = b.id
  118. where a.orderID = #{orderID}
  119. AND b.receiptType = '1'
  120. AND b.receiptStatus = '3'
  121. AND a.delFlag = '0'
  122. AND b.delFlag = '0'
  123. GROUP BY b.payType,DATE_FORMAT(b.receiptDate,"%Y年%m月%d日")
  124. </select>
  125. <select id="findByOrderIDGroup" resultType="CmReceiptOrderRelation">
  126. SELECT
  127. a.relationType,
  128. a.orderID AS "orderID",
  129. a.receiptID AS "receiptID",
  130. b.receiptAmount AS "associateAmount",
  131. b.payType AS "payType",
  132. DATE_FORMAT(b.receiptDate,"%Y年%m月%d日") AS "receiptDate",
  133. b.confirmType AS "confirmType"
  134. FROM cm_receipt_order_relation a
  135. LEFT JOIN cm_shop_order so ON a.orderID=so.shopOrderID
  136. LEFT JOIN cm_discern_receipt b ON a.receiptID = b.id
  137. WHERE so.orderID = #{orderID}
  138. AND b.receiptType = '3'
  139. AND b.receiptStatus = '2'
  140. AND a.delFlag = '0'
  141. AND b.delFlag = '0'
  142. GROUP BY b.payType,DATE_FORMAT(b.receiptDate,"%Y年%m月%d日")
  143. </select>
  144. <select id="findPayFeeByOrderID" resultType="java.lang.Double">
  145. select
  146. IFNULL(sum(associateAmount),0)
  147. from cm_receipt_order_relation a
  148. left join cm_discern_receipt b on a.receiptID = b.id
  149. where a.orderID = #{orderID}
  150. AND b.receiptStatus = '3'
  151. AND a.delFlag = '0'
  152. AND b.delFlag = '0'
  153. </select>
  154. <select id="toAudit" resultType="java.lang.Integer">
  155. SELECT
  156. cdr.id
  157. FROM
  158. `cm_receipt_order_relation` cror
  159. LEFT JOIN `cm_discern_receipt` cdr ON cror.receiptID = cdr.id
  160. WHERE
  161. cdr.receiptStatus = '2'
  162. AND cror.relationType = '2'
  163. AND cror.delFlag = '0'
  164. AND cror.orderID = #{orderID}
  165. </select>
  166. <select id="findOrderRelation" resultType="CmReceiptOrderRelation">
  167. SELECT
  168. *
  169. FROM
  170. cm_receipt_order_relation
  171. WHERE
  172. orderID = #{orderID}
  173. AND delFlag = '0'
  174. GROUP BY orderID
  175. </select>
  176. <select id="findOnlinePayment" resultType="date">
  177. SELECT
  178. cdr.receiptDate
  179. FROM
  180. cm_receipt_order_relation cror
  181. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  182. WHERE
  183. cror.relationType = 2
  184. AND cror.delFlag = 0
  185. AND cdr.payWay = 1
  186. AND cror.orderID = #{orderID}
  187. ORDER BY
  188. cdr.receiptDate
  189. LIMIT
  190. 1
  191. </select>
  192. <select id="findPayType" resultType="java.lang.String">
  193. SELECT payType
  194. FROM cm_discern_receipt cdr
  195. LEFT JOIN cm_receipt_order_relation cror ON cdr.id = cror.receiptID
  196. WHERE cror.shopOrderId = #{orderId}
  197. </select>
  198. <select id="findUserId" resultType="java.lang.String">
  199. select userId from cm_order where orderId=#{orderId}
  200. </select>
  201. <select id="findByShopOrderIds" resultType="com.caimei.modules.order.entity.CmReceiptOrderRelation">
  202. SELECT
  203. a.relationType,
  204. a.receiptID,
  205. a.shopOrderId,
  206. a.orderID,
  207. a.mbOrderId,
  208. a.orderRequestNo,
  209. a.splitStatus,
  210. a.associateAmount-IFNULL((SELECT SUM(refundAmount) FROM cm_refundmoney_record WHERE orderRequestNo=a.orderRequestNo),0) AS associateAmount,
  211. b.payType AS "payType",
  212. b.receiptDate AS "receiptDate",
  213. b.confirmType AS "confirmType",
  214. b.balanceAccountsRemark AS "balanceAccountsRemark",
  215. b.payWay AS "payWay"
  216. FROM cm_receipt_order_relation a
  217. LEFT JOIN cm_discern_receipt b ON a.receiptID = b.id
  218. WHERE a.shopOrderId IN
  219. <foreach collection="shopOrderIds" separator="," item="shopOrderID" open="(" close=")">
  220. #{shopOrderID}
  221. </foreach>
  222. AND b.receiptType = '1'
  223. AND b.receiptStatus = '3'
  224. AND a.delFlag = '0'
  225. AND b.delFlag = '0'
  226. ORDER BY a.associateAmount DESC
  227. </select>
  228. </mapper>