CmReceiptOrderRelationMapper.xml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  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,mborderId,orderRequestNo,orderId,amount,refundType,refundTime,delFlag)
  68. values (#{userId},#{mborderId},#{orderRequestNo},#{orderId},#{amount},#{refundType},now(),0)
  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="findOnlineMoneyPay" resultType="java.lang.Double">
  193. SELECT SUM(amount)
  194. FROM cm_user_balance_record cubr
  195. WHERE cubr.orderId = #{orderId}
  196. AND cubr.type = 2
  197. AND cubr.balanceType = 10
  198. AND cubr.delFlag = 0
  199. </select>
  200. <select id="findMborderId" resultType="java.lang.String">
  201. SELECT cror.mbOrderId FROM cm_receipt_order_relation cror
  202. LEFT JOIN cm_user_balance_record cubr ON cror.orderID = cubr.orderId
  203. LEFT JOIN cm_order co ON cror.orderID = co.orderID
  204. WHERE cubr.balanceType IN (13, 16, 17)
  205. AND cror.splitStatus = 0
  206. AND cubr.type = 1
  207. AND cror.delFlag = 0
  208. AND cubr.delFlag = 0
  209. AND co.delFlag = 0
  210. AND co.refundType != 2
  211. AND cubr.userId = #{userId}
  212. order by cror.associateAmount desc
  213. </select>
  214. <select id="findUserId" resultType="java.lang.Integer">
  215. select userId
  216. from cm_order
  217. where orderID = #{orderId}
  218. </select>
  219. <select id="findMoney" resultType="java.lang.Double">
  220. SELECT cror.associateAmount-SUM(IFNULL(cor.amount,0))
  221. FROM cm_receipt_order_relation cror
  222. LEFT JOIN cm_online_refund cor ON cror.mbOrderId=cor.mbOrderId
  223. WHERE cror.mbOrderId = #{mbOrderId}
  224. AND cor.delflag=0
  225. AND cror.delflag=0
  226. </select>
  227. </mapper>