PayOrderMapper.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  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.caimei365.order.mapper.PayOrderMapper">
  4. <update id="updateOrderStatus">
  5. UPDATE cm_order SET
  6. status = #{status}
  7. <if test="receiptStatus != null and receiptStatus != ''">
  8. ,receiptStatus = #{receiptStatus}
  9. </if>
  10. <if test="payStatus != null and payStatus != ''">
  11. ,payStatus = #{payStatus}
  12. </if>
  13. <if test="balancePayFee != null and balancePayFee != ''">
  14. ,balancePayFee = #{balancePayFee}
  15. </if>
  16. <if test="payableAmount != null and payableAmount != ''">
  17. ,payableAmount = #{payableAmount}
  18. </if>
  19. <if test="onlinePayFlag != null and onlinePayFlag != ''">
  20. ,onlinePayFlag = #{onlinePayFlag}
  21. </if>
  22. <if test="paySuccessCounter != null and paySuccessCounter != ''">
  23. ,paySuccessCounter = #{paySuccessCounter}
  24. </if>
  25. ,updateDate = #{updateDate}
  26. WHERE orderID = #{orderId}
  27. </update>
  28. <update id="updateMoneyByUserId">
  29. UPDATE USER
  30. SET userMoney = #{userMoney},
  31. ableUserMoney = #{ableUserMoney},
  32. onlineMoney = #{onlineMoney}
  33. WHERE userID = #{userId}
  34. </update>
  35. <insert id="insertOrderPayLink" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.vo.OrderPayLinkVo" useGeneratedKeys="true">
  36. INSERT INTO cm_order_pay_link (orderId, vipRecordId, vipMonth, linkLogo, unpaidAmount, generateTime, effectiveTime, payStatus, payType, delFlag)
  37. VALUES (#{orderId}, #{vipRecordId}, #{vipMonth}, #{linkLogo}, #{unpaidAmount}, #{generateTime}, #{effectiveTime}, #{payStatus}, #{payType}, #{delFlag})
  38. </insert>
  39. <insert id="insertSplitAccount" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.SplitAccountPo">
  40. INSERT INTO cm_split_account (orderId, productId, orderProductId, shopId, couponRecordId,vipRecordId, type, subUserNo, splitAccount,
  41. mbOrderId, orderRequestNo,payStatus, productType, splitTime)
  42. VALUES (#{orderId}, #{productId}, #{orderProductId}, #{shopId},#{couponRecordId},#{vipRecordId}, #{type}, #{subUserNo}, #{splitAccount},
  43. #{mbOrderId}, #{orderRequestNo}, #{payStatus}, #{productType}, NOW());
  44. </insert>
  45. <insert id="insertPayShop" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.PayShopPo">
  46. INSERT INTO cm_pay_shop (shopID, name, bankAccountName, bankAccount, bankName, type, totalAmount, balancePayFee,
  47. transferPayFee, payType, wipePayment, wipeRemarks, wipeRemarkImages, wipeTime, applicant,
  48. applyTime, reviewer, reviewTime, payTime, status, reason, delFlag)
  49. VALUES (#{shopId}, #{name}, #{bankAccountName}, #{bankAccount}, #{bankName}, #{type}, #{totalAmount}, #{balancePayFee},
  50. #{transferPayFee}, #{payType}, #{wipePayment}, #{wipeRemarks}, #{wipeRemarkImages}, #{wipeTime}, #{applicant},
  51. #{applyTime}, #{reviewer}, #{reviewTime}, #{payTime}, #{status}, #{reason}, #{delFlag})
  52. </insert>
  53. <insert id="insertPayShopRecord" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.PayShopRecordPo">
  54. INSERT INTO cm_pay_shop_record (shopID, shopOrderID, shopOrderNo, payAmount, wipePayment, payType, payTime, payShopID, status, delFlag)
  55. VALUES (#{shopId}, #{shopOrderId}, #{shopOrderNo}, #{payAmount}, #{wipePayment}, #{payType}, #{payTime}, #{payShopId}, #{status}, #{delFlag})
  56. </insert>
  57. <insert id="insertUserVipInfo" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.UserVipPo">
  58. INSERT INTO cm_svip_user(userId, beginTime, endTime, delFlag, updateTime)
  59. VALUES (#{userId}, #{beginTime}, #{endTime}, #{delFlag}, #{updateTime})
  60. </insert>
  61. <insert id="insertCouponRecord" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.CouponOrderRecordPo">
  62. INSERT INTO cm_coupon_buyrecord (couponId, userId) VALUES (#{couponId},#{userId})
  63. </insert>
  64. <update id="updateUserVipInfo">
  65. UPDATE cm_svip_user set userId=#{userId}, beginTime=#{beginTime}, endTime=#{endTime}, delFlag=#{delFlag}, updateTime=#{updateTime}
  66. WHERE userId = #{userId}
  67. </update>
  68. <update id="updateVipPackageRecord">
  69. UPDATE cm_svip_history set payStatus=#{payStatus},payWay=#{payWay},payType=#{payType},beginTime=#{beginTime},endTime=#{endTime},payTime=#{payTime}
  70. WHERE id = #{id}
  71. </update>
  72. <update id="updateOrderPayLink">
  73. UPDATE cm_order_pay_link SET
  74. orderId = #{orderId}, vipRecordId = #{vipRecordId}, vipMonth = #{vipMonth}, linkLogo = #{linkLogo}, unpaidAmount = #{unpaidAmount}, generateTime = #{generateTime},
  75. effectiveTime = #{effectiveTime}, payStatus = #{payStatus}, payType = #{payType}, delFlag = #{delFlag}
  76. WHERE id = #{id}
  77. </update>
  78. <update id="updateOrderPayLinkStatus">
  79. UPDATE cm_order_pay_link SET payStatus = #{payStatus}
  80. WHERE id = #{id}
  81. </update>
  82. <update id="updateSeconHandDetail">
  83. UPDATE cm_second_hand_detail
  84. SET payType = #{payType}, payAmount = #{payAmount}, payFormData = #{payFormData}, payStatus = '2',payDate = NOW()
  85. WHERE productID = #{productId}
  86. </update>
  87. <update id="updateSplitAccountByPay">
  88. UPDATE cm_split_account SET payStatus = '1' WHERE mbOrderId = #{mbOrderId}
  89. </update>
  90. <update id="updateBySplitStatus">
  91. UPDATE cm_receipt_order_relation SET splitStatus = 1 WHERE mbOrderId = #{mbOrderId}
  92. </update>
  93. <update id="updateShopOrderByPayStatus">
  94. UPDATE cm_shop_order SET
  95. payStatus = #{payStatus}, payedShopAmount = #{paidShop}
  96. WHERE shopOrderID = #{shopOrderId}
  97. </update>
  98. <update id="updateOrderByPayStatus">
  99. UPDATE cm_order SET
  100. payStatus = #{payStatus}
  101. WHERE orderID = #{orderId}
  102. </update>
  103. <update id="updateOnlineMoneyByUserId">
  104. UPDATE USER
  105. SET onlineMoney = #{onlineMoney},
  106. ableUserMoney = #{ableUserMoney}
  107. WHERE userID = #{userId}
  108. </update>
  109. <update id="updateUserMoney">
  110. UPDATE USER
  111. SET userMoney = #{userMoney},
  112. ableUserMoney = #{ableUserMoney}
  113. WHERE userID = #{userId}
  114. </update>
  115. <update id="updateCouponRecord">
  116. update cm_coupon_buyrecord
  117. set payStatus = 1
  118. where id = #{recordId}
  119. </update>
  120. <select id="getPayOnLineSwitch" resultType="java.lang.Integer">
  121. SELECT STATUS FROM cm_pay_online_switch WHERE id=1
  122. </select>
  123. <select id="getRefundCount" resultType="java.lang.Integer">
  124. SELECT COUNT(*)
  125. FROM cm_returned_purchase
  126. WHERE orderID = #{orderId} AND STATUS = '1' AND delFlag = '0'
  127. </select>
  128. <select id="getOrderPayLink" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  129. SELECT
  130. id,
  131. orderId,
  132. vipRecordId,
  133. linkLogo,
  134. unpaidAmount,
  135. generateTime,
  136. effectiveTime,
  137. payStatus,
  138. payType,
  139. delFlag
  140. FROM
  141. cm_order_pay_link
  142. WHERE orderId = #{orderId}
  143. <if test="amount != null">
  144. AND unpaidAmount = #{amount}
  145. </if>
  146. AND delFlag = '0' AND payStatus = '0'
  147. ORDER BY id DESC LIMIT 1
  148. </select>
  149. <select id="getVipPayLink" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  150. SELECT
  151. id,
  152. orderId,
  153. vipRecordId,
  154. linkLogo,
  155. unpaidAmount,
  156. generateTime,
  157. effectiveTime,
  158. payStatus,
  159. payType,
  160. delFlag
  161. FROM
  162. cm_order_pay_link
  163. WHERE vipRecordId = #{vipRecordId}
  164. <if test="amount != null">
  165. AND unpaidAmount = #{amount}
  166. </if>
  167. AND delFlag = '0' AND payStatus = '0'
  168. ORDER BY id DESC LIMIT 1
  169. </select>
  170. <select id="getPayLinkByLinkLogo" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  171. SELECT
  172. id,
  173. orderId,
  174. vipRecordId,
  175. vipMonth,
  176. linkLogo,
  177. unpaidAmount,
  178. generateTime,
  179. effectiveTime,
  180. payStatus,
  181. payType,
  182. delFlag
  183. FROM
  184. cm_order_pay_link
  185. WHERE linkLogo = #{linkLogo}
  186. AND delFlag = '0'
  187. </select>
  188. <select id="getOrderPromotionsId" resultType="java.lang.Integer">
  189. SELECT id FROM cm_promotions_order WHERE orderId = #{orderId} LIMIT 1
  190. </select>
  191. <select id="getDbPaySuccessCounter" resultType="java.lang.Integer">
  192. SELECT paySuccessCounter FROM cm_order
  193. WHERE orderID = #{orderId} AND delFlag = '0'
  194. </select>
  195. <select id="getSplitAccountList" resultType="com.caimei365.order.model.po.SplitAccountPo">
  196. SELECT
  197. id,
  198. orderId,
  199. productId,
  200. orderProductId,
  201. shopId,
  202. type,
  203. subUserNo,
  204. SUM(splitAccount) AS splitAccount,
  205. mbOrderId,
  206. orderRequestNo,
  207. payStatus,
  208. productType
  209. FROM cm_split_account
  210. WHERE type = 4 AND payStatus = 1 AND splitAccount > 0
  211. AND mbOrderId = #{mbOrderId}
  212. GROUP BY shopId
  213. </select>
  214. <select id="getPaidShopAmount" resultType="java.lang.Double">
  215. SELECT SUM(payAmount)
  216. FROM cm_pay_shop_record
  217. WHERE STATUS = 1 AND delFlag = 0 AND shopOrderID = #{shopOrderId}
  218. </select>
  219. <select id="getUndividedPaidReceipt" resultType="com.caimei365.order.model.po.OrderReceiptRelationPo">
  220. SELECT
  221. cror.id,
  222. cror.relationType,
  223. cror.receiptId,
  224. cror.associateAmount,
  225. cror.orderId,
  226. cror.delFlag,
  227. cror.mbOrderId,
  228. cror.orderRequestNo,
  229. cror.splitStatus,
  230. cdr.payType
  231. FROM cm_receipt_order_relation cror
  232. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  233. LEFT JOIN cm_order co ON cror.orderID = co.orderID
  234. WHERE cror.relationType = 2 AND cror.delFlag = 0 AND cror.mbOrderId IS NOT NULL AND cror.splitStatus = 0
  235. AND cdr.payWay = 1 AND cdr.receiptDate <![CDATA[ <= ]]> #{currentTime}
  236. AND co.organizeID = 0 AND co.orderType != 2 AND co.refundType != 2
  237. </select>
  238. <select id="getOrderProductPaidAmount" resultType="java.lang.Double">
  239. SELECT SUM(splitAccount)
  240. FROM cm_split_account
  241. WHERE orderProductId = #{orderProductId}
  242. AND payStatus = 1 AND productType = 1
  243. </select>
  244. <select id="getShopCommercialCode" resultType="java.lang.String">
  245. SELECT commercialCode FROM shop WHERE shopID = #{shopId}
  246. </select>
  247. <select id="getPaidShipping" resultType="java.lang.Double">
  248. SELECT SUM(splitAccount)
  249. FROM cm_split_account
  250. WHERE orderId = #{orderId}
  251. AND shopId = #{shopId}
  252. AND productType = 2 AND payStatus = 1
  253. </select>
  254. <select id="getVipPackagePriceById" resultType="java.lang.Double">
  255. SELECT price FROM cm_svip_package WHERE id = #{id};
  256. </select>
  257. <select id="getVipPackageDurationById" resultType="java.lang.Integer">
  258. SELECT duration FROM cm_svip_package WHERE id = #{id};
  259. </select>
  260. <select id="getVipPackageRecord" resultType="com.caimei365.order.model.bo.VipRecordBo">
  261. SELECT id, userId, packageId, price, payStatus FROM cm_svip_history WHERE id = #{id};
  262. </select>
  263. <select id="getUserVipInfo" resultType="com.caimei365.order.model.po.UserVipPo">
  264. SELECT id,userId, beginTime, endTime, updateTime, delFlag
  265. FROM cm_svip_user
  266. WHERE userId = #{#userId} and endTime > now()
  267. </select>
  268. <select id="findBankCode" resultType="com.caimei365.order.model.vo.BankCodeVo">
  269. select id, bankName, B2C, B2B, bankLogo, delFlag
  270. from cm_bankcode
  271. </select>
  272. <select id="getOnlineBalance" resultType="com.caimei365.order.model.po.OrderReceiptRelationPo">
  273. SELECT DISTINCT cror.id,
  274. cror.relationType,
  275. cror.receiptId,
  276. cror.associateAmount,
  277. cror.orderId,
  278. cror.delFlag,
  279. cror.mbOrderId,
  280. cror.orderRequestNo,
  281. cror.splitStatus,
  282. cdr.payType
  283. FROM cm_receipt_order_relation cror
  284. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  285. LEFT JOIN cm_order co ON cror.orderID = co.orderID
  286. LEFT JOIN cm_user_balance_record cubr ON cubr.orderId = cror.orderID
  287. WHERE cror.relationType = 2
  288. AND cror.delFlag = 0
  289. AND cror.splitStatus = 0
  290. AND cdr.delFlag = 0
  291. AND cdr.payWay = 3
  292. AND cdr.receiptDate <![CDATA[ <= ]]> #{currentTime}
  293. AND co.organizeID = 0
  294. AND co.orderType != 2
  295. AND co.refundType != 2
  296. AND cubr.balanceType = 10
  297. AND cror.associateAmount > 0.01
  298. </select>
  299. <select id="getCouponPrice" resultType="java.lang.Double">
  300. select moneyCouponPrice from cm_coupon where id = #{couponId}
  301. </select>
  302. </mapper>