PayMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.caimei.module.pay.dao.PayDao">
  6. <select id="findOrder" resultType="com.caimei.module.base.entity.vo.OrderVo">
  7. SELECT
  8. *
  9. FROM
  10. cm_order
  11. WHERE
  12. orderID = #{orderID}
  13. AND delFlag = '0'
  14. </select>
  15. <select id="getDiscernReceipt" resultType="com.caimei.module.base.entity.vo.DiscernReceiptVo">
  16. SELECT
  17. cdr.*,
  18. cror.associateAmount
  19. FROM
  20. cm_receipt_order_relation cror
  21. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  22. WHERE
  23. (
  24. cror.orderID = #{orderID}
  25. AND cror.relationType = '2'
  26. OR
  27. cror.orderID = #{shopOrderIDs}
  28. AND cror.relationType = '1'
  29. )
  30. AND cror.delFlag = '0'
  31. AND cdr.delFlag = '0'
  32. AND cdr.payType != '16'
  33. AND cdr.receiptStatus IN(2,3)
  34. ORDER BY
  35. cdr.receiptDate DESC
  36. </select>
  37. <update id="updateSelective" parameterType="com.caimei.module.base.entity.po.CmOrder">
  38. update cm_order
  39. <set>
  40. <if test="orderNo != null">
  41. orderNo = #{orderNo,jdbcType=VARCHAR},
  42. </if>
  43. <if test="organizeID != null">
  44. organizeID = #{organizeID,jdbcType=INTEGER},
  45. </if>
  46. <if test="userID != null">
  47. userID = #{userID,jdbcType=BIGINT},
  48. </if>
  49. <if test="buyUserID != null">
  50. buyUserID = #{buyUserID,jdbcType=INTEGER},
  51. </if>
  52. <if test="shopOrderIDs != null">
  53. shopOrderIDs = #{shopOrderIDs,jdbcType=VARCHAR},
  54. </if>
  55. <if test="orderSubmitType != null">
  56. orderSubmitType = #{orderSubmitType,jdbcType=INTEGER},
  57. </if>
  58. <if test="orderType != null">
  59. orderType = #{orderType,jdbcType=INTEGER},
  60. </if>
  61. <if test="hasActProduct != null">
  62. hasActProduct = #{hasActProduct,jdbcType=CHAR},
  63. </if>
  64. <if test="autoCloseTimeMills != null">
  65. autoCloseTimeMills = #{autoCloseTimeMills,jdbcType=DECIMAL},
  66. </if>
  67. <if test="status != null">
  68. `status` = #{status,jdbcType=CHAR},
  69. </if>
  70. <if test="receiptStatus != null">
  71. receiptStatus = #{receiptStatus,jdbcType=CHAR},
  72. </if>
  73. <if test="payStatus != null">
  74. payStatus = #{payStatus,jdbcType=CHAR},
  75. </if>
  76. <if test="sendOutStatus != null">
  77. sendOutStatus = #{sendOutStatus,jdbcType=CHAR},
  78. </if>
  79. <if test="refundType != null">
  80. refundType = #{refundType,jdbcType=CHAR},
  81. </if>
  82. <if test="paySuccessCounter != null">
  83. paySuccessCounter = #{paySuccessCounter},
  84. </if>
  85. <if test="payFlag != null">
  86. payFlag = #{payFlag,jdbcType=CHAR},
  87. </if>
  88. <if test="onlinePayFlag != null">
  89. onlinePayFlag = #{onlinePayFlag,jdbcType=CHAR},
  90. </if>
  91. <if test="productTotalFee != null">
  92. productTotalFee = #{productTotalFee,jdbcType=DECIMAL},
  93. </if>
  94. <if test="orderTotalFee != null">
  95. orderTotalFee = #{orderTotalFee,jdbcType=DECIMAL},
  96. </if>
  97. <if test="payTotalFee != null">
  98. payTotalFee = #{payTotalFee,jdbcType=DECIMAL},
  99. </if>
  100. <if test="payableAmount != null">
  101. payableAmount = #{payableAmount,jdbcType=DECIMAL},
  102. </if>
  103. <if test="balancePayFee != null">
  104. balancePayFee = #{balancePayFee,jdbcType=DECIMAL},
  105. </if>
  106. <if test="preferential != null">
  107. preferential = #{preferential,jdbcType=DECIMAL},
  108. </if>
  109. <if test="discountFee != null">
  110. discountFee = #{discountFee,jdbcType=DECIMAL},
  111. </if>
  112. <if test="spID != null">
  113. spID = #{spID,jdbcType=BIGINT},
  114. </if>
  115. <if test="mainSpID != null">
  116. mainSpID = #{mainSpID,jdbcType=BIGINT},
  117. </if>
  118. <if test="note != null">
  119. note = #{note,jdbcType=VARCHAR},
  120. </if>
  121. <if test="clubID != null">
  122. clubID = #{clubID,jdbcType=BIGINT},
  123. </if>
  124. <if test="clubScanTime != null">
  125. clubScanTime = #{clubScanTime,jdbcType=VARCHAR},
  126. </if>
  127. <if test="payWay != null">
  128. payWay = #{payWay,jdbcType=VARCHAR},
  129. </if>
  130. <if test="orderSource != null">
  131. orderSource = #{orderSource,jdbcType=CHAR},
  132. </if>
  133. <if test="closeTime != null">
  134. closeTime = #{closeTime,jdbcType=VARCHAR},
  135. </if>
  136. <if test="confirmTime != null">
  137. confirmTime = #{confirmTime,jdbcType=VARCHAR},
  138. </if>
  139. <if test="payTime != null">
  140. payTime = #{payTime,jdbcType=VARCHAR},
  141. </if>
  142. <if test="orderTime != null">
  143. orderTime = #{orderTime,jdbcType=VARCHAR},
  144. </if>
  145. <if test="productCount != null">
  146. productCount = #{productCount,jdbcType=INTEGER},
  147. </if>
  148. <if test="presentCount != null">
  149. presentCount = #{presentCount,jdbcType=INTEGER},
  150. </if>
  151. <if test="cooFreeFlag != null">
  152. cooFreeFlag = #{cooFreeFlag,jdbcType=CHAR},
  153. </if>
  154. <if test="cooFreeRate != null">
  155. cooFreeRate = #{cooFreeRate,jdbcType=INTEGER},
  156. </if>
  157. <if test="cooFreeAmount != null">
  158. cooFreeAmount = #{cooFreeAmount,jdbcType=DECIMAL},
  159. </if>
  160. <if test="invoiceFlag != null">
  161. invoiceFlag = #{invoiceFlag,jdbcType=CHAR},
  162. </if>
  163. <if test="confirmFlag != null">
  164. confirmFlag = #{confirmFlag,jdbcType=CHAR},
  165. </if>
  166. <if test="clauseID != null">
  167. clauseID = #{clauseID,jdbcType=BIGINT},
  168. </if>
  169. <if test="clauseContent != null">
  170. clauseContent = #{clauseContent,jdbcType=VARCHAR},
  171. </if>
  172. <if test="clauseName != null">
  173. clauseName = #{clauseName,jdbcType=VARCHAR},
  174. </if>
  175. <if test="updateDate != null">
  176. updateDate = #{updateDate,jdbcType=VARCHAR},
  177. </if>
  178. <if test="freePostFlag != null">
  179. freePostFlag = #{freePostFlag,jdbcType=CHAR},
  180. </if>
  181. <if test="freight != null">
  182. freight = #{freight,jdbcType=DECIMAL},
  183. </if>
  184. <if test="delFlag != null">
  185. delFlag = #{delFlag,jdbcType=CHAR},
  186. </if>
  187. <if test="freePostageTicketID != null">
  188. freePostageTicketID = #{freePostageTicketID,jdbcType=INTEGER},
  189. </if>
  190. <if test="splitFlag != null">
  191. splitFlag = #{splitFlag,jdbcType=CHAR},
  192. </if>
  193. <if test="closeReason != null">
  194. closeReason = #{closeReason,jdbcType=VARCHAR},
  195. </if>
  196. <if test="postageOrderFlag != null">
  197. postageOrderFlag = #{postageOrderFlag,jdbcType=CHAR},
  198. </if>
  199. </set>
  200. where orderID = #{orderID,jdbcType=BIGINT}
  201. </update>
  202. <insert id="insertDiscernReceipt" keyColumn="id" keyProperty="id" useGeneratedKeys="true"
  203. parameterType="com.caimei.module.base.entity.vo.DiscernReceiptVo">
  204. INSERT INTO `cm_discern_receipt` (
  205. `payWay`, `payType`, `receiptType`,
  206. `receiptStatus`, `smsContent`, `smsMd5Code`,
  207. `orderFlag`, `receiptAmount`, `handlingFee`,
  208. `confirmType`, `confirmUserPermissionID`,
  209. `reviewUserPermissionID`, `cancelUserPermissionID`,
  210. `transactionNum`, `bankID`, `bankCode`,
  211. `kuaiQianPayTypeID`, `kuaiQianPayerID`,
  212. `rePayFlag`, `actualAmount`, `formData`,
  213. `problem`, `noOrderReason`, `reviewReason`,
  214. `cancelReason`, `receiptDate`, `confirmDate`,
  215. `reviewDate`, `cancelDate`, `updateDate`,
  216. `delFlag`
  217. )
  218. VALUES
  219. (
  220. #{payWay}, #{payType}, #{receiptType},
  221. #{receiptStatus}, #{smsContent}, #{smsMd5Code},
  222. #{orderFlag}, #{receiptAmount}, #{handlingFee},
  223. #{confirmType}, #{confirmUserPermissionID},
  224. #{reviewUserPermissionID}, #{cancelUserPermissionID},
  225. #{transactionNum}, #{bankID}, #{bankCode},
  226. #{kuaiQianPayTypeID}, #{kuaiQianPayerID},
  227. #{rePayFlag}, #{actualAmount}, #{formData},
  228. #{problem}, #{noOrderReason}, #{reviewReason},
  229. #{cancelReason}, #{receiptDate}, #{confirmDate},
  230. #{reviewDate}, #{cancelDate}, #{updateDate},
  231. #{delFlag}
  232. )
  233. </insert>
  234. <insert id="insertOrderRelation" keyColumn="id" keyProperty="id" useGeneratedKeys="true"
  235. parameterType="com.caimei.module.base.entity.vo.OrderRelationVo">
  236. INSERT INTO `cm_receipt_order_relation` (
  237. `relationType`, `receiptID`, `associateAmount`,
  238. `orderID`, `delFlag`, mbOrderId, orderRequestNo
  239. )
  240. VALUES
  241. (
  242. #{relationType}, #{receiptID}, #{associateAmount},
  243. #{orderID}, #{delFlag},#{mbOrderId},#{orderRequestNo}
  244. )
  245. </insert>
  246. <select id="findOrderPayLink" resultType="com.caimei.module.base.entity.vo.OrderPayLinkVo">
  247. SELECT
  248. *
  249. FROM
  250. cm_order_pay_link
  251. WHERE
  252. orderId = #{orderId}
  253. <if test="amount != null">
  254. AND unpaidAmount = #{amount}
  255. </if>
  256. AND delFlag = '0'
  257. AND payStatus = '0'
  258. ORDER BY id DESC LIMIT 1
  259. </select>
  260. <insert id="insertOrderPayLink">
  261. insert into cm_order_pay_link
  262. <trim prefix="(" suffix=")" suffixOverrides=",">
  263. <if test="orderId != null">
  264. orderId,
  265. </if>
  266. <if test="linkLogo != null">
  267. linkLogo,
  268. </if>
  269. <if test="unpaidAmount != null">
  270. unpaidAmount,
  271. </if>
  272. <if test="generateTime != null">
  273. generateTime,
  274. </if>
  275. <if test="effectiveTime != null">
  276. effectiveTime,
  277. </if>
  278. <if test="payStatus != null">
  279. payStatus,
  280. </if>
  281. <if test="delFlag != null">
  282. delFlag,
  283. </if>
  284. </trim>
  285. <trim prefix="values (" suffix=")" suffixOverrides=",">
  286. <if test="orderId != null">
  287. #{orderId,jdbcType=BIGINT},
  288. </if>
  289. <if test="linkLogo != null">
  290. #{linkLogo,jdbcType=VARCHAR},
  291. </if>
  292. <if test="unpaidAmount != null">
  293. #{unpaidAmount,jdbcType=DECIMAL},
  294. </if>
  295. <if test="generateTime != null">
  296. #{generateTime,jdbcType=TIMESTAMP},
  297. </if>
  298. <if test="effectiveTime != null">
  299. #{effectiveTime,jdbcType=TIMESTAMP},
  300. </if>
  301. <if test="payStatus != null">
  302. #{payStatus,jdbcType=CHAR},
  303. </if>
  304. <if test="delFlag != null">
  305. #{delFlag,jdbcType=CHAR},
  306. </if>
  307. </trim>
  308. </insert>
  309. <update id="updateOrderPayLink">
  310. update cm_order_pay_link
  311. <set>
  312. <if test="orderId != null">
  313. orderId = #{orderId,jdbcType=BIGINT},
  314. </if>
  315. <if test="linkLogo != null">
  316. linkLogo = #{linkLogo,jdbcType=VARCHAR},
  317. </if>
  318. <if test="unpaidAmount != null">
  319. unpaidAmount = #{unpaidAmount,jdbcType=DECIMAL},
  320. </if>
  321. <if test="generateTime != null">
  322. generateTime = #{generateTime,jdbcType=TIMESTAMP},
  323. </if>
  324. <if test="effectiveTime != null">
  325. effectiveTime = #{effectiveTime,jdbcType=TIMESTAMP},
  326. </if>
  327. <if test="payStatus != null">
  328. payStatus = #{payStatus,jdbcType=CHAR},
  329. </if>
  330. <if test="delFlag != null">
  331. delFlag = #{delFlag,jdbcType=CHAR},
  332. </if>
  333. </set>
  334. where id = #{id,jdbcType=INTEGER}
  335. </update>
  336. <select id="getOrderPayLink" resultType="com.caimei.module.base.entity.vo.OrderPayLinkVo">
  337. SELECT
  338. *
  339. FROM
  340. cm_order_pay_link
  341. WHERE
  342. linkLogo = #{linkLogo}
  343. AND delFlag = '0'
  344. </select>
  345. <select id="fandAllOrderProduct" resultType="com.caimei.module.base.entity.vo.OrderProductVo">
  346. SELECT
  347. cop.*,
  348. p.includedTax,
  349. p.invoiceType
  350. FROM
  351. cm_order_product cop
  352. LEFT JOIN product p ON cop.productID = p.productID
  353. WHERE
  354. orderID = #{orderId}
  355. </select>
  356. <select id="findUser" resultType="com.caimei.module.base.entity.vo.UserVo">
  357. SELECT
  358. *
  359. FROM
  360. USER
  361. WHERE
  362. userID = #{userID}
  363. </select>
  364. <update id="updateSeconHand">
  365. UPDATE
  366. cm_second_hand_detail
  367. SET
  368. payStatus = '2',
  369. payAmount = #{payAmount},
  370. payFormData = #{payFormData},
  371. payType = #{payType},
  372. payDate = NOW()
  373. WHERE
  374. productID = #{productID}
  375. </update>
  376. <insert id="insertSplitAccount" keyColumn="id" keyProperty="id" parameterType="com.caimei.module.base.entity.po.CmSplitAccount" useGeneratedKeys="true">
  377. insert into cm_split_account (orderId, productId, `type`, subUserNo,
  378. splitAccount, mbOrderId, orderRequestNo,
  379. payStatus)
  380. values (#{orderId}, #{productId}, #{type}, #{subUserNo},
  381. #{splitAccount}, #{mbOrderId}, #{orderRequestNo},
  382. #{payStatus})
  383. </insert>
  384. <update id="updateSplitAccountByPay">
  385. UPDATE cm_split_account SET payStatus = '1' WHERE mbOrderId = #{mbOrderId}
  386. </update>
  387. </mapper>