PayOrderMapper.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  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 SET userMoney = #{userMoney}, ableUserMoney = #{ableUserMoney}
  30. WHERE userID = #{userId}
  31. </update>
  32. <insert id="insertOrderPayLink" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.vo.OrderPayLinkVo" useGeneratedKeys="true">
  33. INSERT INTO cm_order_pay_link (orderId, vipRecordId, linkLogo, unpaidAmount, generateTime, effectiveTime, payStatus, payType, delFlag)
  34. VALUES (#{orderId}, #{vipRecordId}, #{linkLogo}, #{unpaidAmount}, #{generateTime}, #{effectiveTime}, #{payStatus}, #{payType}, #{delFlag})
  35. </insert>
  36. <insert id="insertSplitAccount" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.SplitAccountPo">
  37. INSERT INTO cm_split_account (orderId, productId, orderProductId,shopId, type, subUserNo, splitAccount,
  38. mbOrderId, orderRequestNo,payStatus, productType, splitTime)
  39. VALUES (#{orderId}, #{productId}, #{orderProductId}, #{shopId}, #{type}, #{subUserNo}, #{splitAccount},
  40. #{mbOrderId}, #{orderRequestNo}, #{payStatus}, #{productType}, NOW());
  41. </insert>
  42. <insert id="insertPayShop">
  43. INSERT INTO cm_pay_shop (shopID, name, bankAccountName, bankAccount, bankName, type, totalAmount, balancePayFee,
  44. transferPayFee, payType, wipePayment, wipeRemarks, wipeRemarkImages, wipeTime, applicant,
  45. applyTime, reviewer, reviewTime, payTime, status, reason, delFlag)
  46. VALUES (#{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. </insert>
  50. <insert id="insertPayShopRecord">
  51. INSERT INTO cm_pay_shop_record (shopID, shopOrderID, shopOrderNo, payAmount, wipePayment, payType, payTime, payShopID, status, delFlag)
  52. VALUES (#{shopId}, #{shopOrderId}, #{shopOrderNo}, #{payAmount}, #{wipePayment}, #{payType}, #{payTime}, #{payShopId}, #{status}, #{delFlag})
  53. </insert>
  54. <insert id="insertUserVipInfo">
  55. INSERT INTO cm_svip_user(userId, beginTime, endTime, delFlag, updateTime)
  56. VALUES (#{userId}, #{beginTime}, #{endTime}, #{delFlag}, #{updateTime})
  57. </insert>
  58. <update id="updateUserVipInfo">
  59. UPDATE cm_svip_user set userId=#{userId}, beginTime=#{beginTime}, endTime=#{endTime}, delFlag=#{delFlag}, updateTime=#{updateTime}
  60. WHERE userId = #{userId}
  61. </update>
  62. <update id="updateVipPackageRecord">
  63. UPDATE cm_svip_history set payStatus=#{payStatus},payWay=#{payWay},payType=#{payType},beginTime=#{beginTime},endTime=#{endTime}
  64. WHERE id = #{id}
  65. </update>
  66. <update id="updateOrderPayLink">
  67. UPDATE cm_order_pay_link SET
  68. orderId = #{orderId}, vipRecordId = #{vipRecordId}, linkLogo = #{linkLogo}, unpaidAmount = #{unpaidAmount}, generateTime = #{generateTime},
  69. effectiveTime = #{effectiveTime}, payStatus = #{payStatus}, payType = #{payType}, delFlag = #{delFlag}
  70. WHERE id = #{id}
  71. </update>
  72. <update id="updateOrderPayLinkStatus">
  73. UPDATE cm_order_pay_link SET payStatus = #{payStatus}
  74. WHERE id = #{id}
  75. </update>
  76. <update id="updateSeconHandDetail">
  77. UPDATE cm_second_hand_detail
  78. SET payType = #{payType}, payAmount = #{payAmount}, payFormData = #{payFormData}, payStatus = '2',payDate = NOW()
  79. WHERE productID = #{productId}
  80. </update>
  81. <update id="updateSplitAccountByPay">
  82. UPDATE cm_split_account SET payStatus = '1' WHERE mbOrderId = #{mbOrderId}
  83. </update>
  84. <update id="updateBySplitStatus">
  85. UPDATE cm_receipt_order_relation SET splitStatus = 1 WHERE mbOrderId = #{mbOrderId}
  86. </update>
  87. <update id="updateShopOrderByPayStatus">
  88. UPDATE cm_shop_order SET
  89. payStatus = #{payStatus}, payedShopAmount = #{paidShop}
  90. WHERE shopOrderID = #{shopOrderId}
  91. </update>
  92. <update id="updateOrderByPayStatus">
  93. UPDATE cm_order SET
  94. payStatus = #{payStatus}
  95. WHERE orderID = #{orderId}
  96. </update>
  97. <select id="getPayOnLineSwitch" resultType="java.lang.Integer">
  98. SELECT STATUS FROM cm_pay_online_switch WHERE id=1
  99. </select>
  100. <select id="getRefundCount" resultType="java.lang.Integer">
  101. SELECT COUNT(*)
  102. FROM cm_returned_purchase
  103. WHERE orderID = #{orderId} AND STATUS = '1' AND delFlag = '0'
  104. </select>
  105. <select id="getOrderPayLink" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  106. SELECT
  107. id,
  108. orderId,
  109. vipRecordId,
  110. linkLogo,
  111. unpaidAmount,
  112. generateTime,
  113. effectiveTime,
  114. payStatus,
  115. payType,
  116. delFlag
  117. FROM
  118. cm_order_pay_link
  119. WHERE orderId = #{orderId}
  120. <if test="amount != null">
  121. AND unpaidAmount = #{amount}
  122. </if>
  123. AND delFlag = '0' AND payStatus = '0'
  124. ORDER BY id DESC LIMIT 1
  125. </select>
  126. <select id="getVipPayLink" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  127. SELECT
  128. id,
  129. orderId,
  130. vipRecordId,
  131. linkLogo,
  132. unpaidAmount,
  133. generateTime,
  134. effectiveTime,
  135. payStatus,
  136. payType,
  137. delFlag
  138. FROM
  139. cm_order_pay_link
  140. WHERE vipRecordId = #{vipRecordId}
  141. <if test="amount != null">
  142. AND unpaidAmount = #{amount}
  143. </if>
  144. AND delFlag = '0' AND payStatus = '0'
  145. ORDER BY id DESC LIMIT 1
  146. </select>
  147. <select id="getPayLinkByLinkLogo" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  148. SELECT
  149. id,
  150. orderId,
  151. vipRecordId,
  152. linkLogo,
  153. unpaidAmount,
  154. generateTime,
  155. effectiveTime,
  156. payStatus,
  157. payType,
  158. delFlag
  159. FROM
  160. cm_order_pay_link
  161. WHERE linkLogo = #{linkLogo}
  162. AND delFlag = '0'
  163. </select>
  164. <select id="getOrderPromotionsId" resultType="java.lang.Integer">
  165. SELECT id FROM cm_promotions_order WHERE orderId = #{orderId} LIMIT 1
  166. </select>
  167. <select id="getDbPaySuccessCounter" resultType="java.lang.Integer">
  168. SELECT paySuccessCounter FROM cm_order
  169. WHERE orderID = #{orderId} AND delFlag = '0'
  170. </select>
  171. <select id="getSplitAccountList" resultType="com.caimei365.order.model.po.SplitAccountPo">
  172. SELECT
  173. id,
  174. orderId,
  175. productId,
  176. orderProductId,
  177. shopId,
  178. type,
  179. subUserNo,
  180. SUM(splitAccount) AS splitAccount,
  181. mbOrderId,
  182. orderRequestNo,
  183. payStatus,
  184. productType
  185. FROM cm_split_account
  186. WHERE type = 4 AND payStatus = 1 AND splitAccount > 0
  187. AND mbOrderId = #{mbOrderId}
  188. GROUP BY shopId
  189. </select>
  190. <select id="getPaidShopAmount" resultType="java.lang.Double">
  191. SELECT SUM(payAmount)
  192. FROM cm_pay_shop_record
  193. WHERE STATUS = 1 AND delFlag = 0 AND shopOrderID = #{shopOrderId}
  194. </select>
  195. <select id="getUndividedPaidReceipt" resultType="com.caimei365.order.model.po.OrderReceiptRelationPo">
  196. SELECT
  197. cror.id,
  198. cror.relationType,
  199. cror.receiptId,
  200. cror.associateAmount,
  201. cror.orderId,
  202. cror.delFlag,
  203. cror.mbOrderId,
  204. cror.orderRequestNo,
  205. cror.splitStatus,
  206. cdr.payType
  207. FROM cm_receipt_order_relation cror
  208. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  209. LEFT JOIN cm_order co ON cror.orderID = co.orderID
  210. WHERE cror.relationType = 2 AND cror.delFlag = 0 AND cror.mbOrderId IS NOT NULL AND cror.splitStatus = 0
  211. AND cdr.payWay = 1 AND cdr.receiptDate <![CDATA[ <= ]]> #{currentTime}
  212. AND co.organizeID = 0 AND co.orderType != 2 AND co.refundType != 2
  213. </select>
  214. <select id="getOrderProductPaidAmount" resultType="java.lang.Double">
  215. SELECT SUM(splitAccount)
  216. FROM cm_split_account
  217. WHERE orderProductId = #{orderProductId}
  218. AND payStatus = 1 AND productType = 1
  219. </select>
  220. <select id="getShopCommercialCode" resultType="java.lang.String">
  221. SELECT commercialCode FROM shop WHERE shopID = #{shopId}
  222. </select>
  223. <select id="getPaidShipping" resultType="java.lang.Double">
  224. SELECT SUM(splitAccount)
  225. FROM cm_split_account
  226. WHERE orderId = #{orderId}
  227. AND shopId = #{shopId}
  228. AND productType = 2 AND payStatus = 1
  229. </select>
  230. <select id="getVipPackagePriceById" resultType="java.lang.Double">
  231. SELECT price FROM cm_svip_package WHERE id = #{id};
  232. </select>
  233. <select id="getVipPackageDurationById" resultType="java.lang.Integer">
  234. SELECT duration FROM cm_svip_package WHERE id = #{id};
  235. </select>
  236. <select id="getVipPackageRecord" resultType="com.caimei365.order.model.bo.VipRecordBo">
  237. SELECT id, userId, packageId, price, payStatus FROM cm_svip_history WHERE id = #{id};
  238. </select>
  239. <select id="getUserVipInfo" resultType="com.caimei365.order.model.po.UserVipPo">
  240. SELECT id,userId, beginTime, endTime, updateTime, delFlag
  241. FROM cm_svip_user
  242. WHERE userId = #{#userId} and endTime > now()
  243. </select>
  244. </mapper>