CmReceiptOrderRelationMapper.xml 8.3 KB

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