PayOrderMapper.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  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, vipMonth, linkLogo, unpaidAmount, generateTime, effectiveTime, payStatus, payType, delFlag)
  34. VALUES (#{orderId}, #{vipRecordId}, #{vipMonth}, #{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, vipRecordId, type, subUserNo, splitAccount,
  38. mbOrderId, orderRequestNo,payStatus, productType, splitTime)
  39. VALUES (#{orderId}, #{productId}, #{orderProductId}, #{shopId},#{vipRecordId}, #{type}, #{subUserNo}, #{splitAccount},
  40. #{mbOrderId}, #{orderRequestNo}, #{payStatus}, #{productType}, NOW());
  41. </insert>
  42. <insert id="insertPayShop" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.PayShopPo">
  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" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.PayShopRecordPo">
  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" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.UserVipPo">
  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},payTime=#{payTime}
  64. WHERE id = #{id}
  65. </update>
  66. <update id="updateOrderPayLink">
  67. UPDATE cm_order_pay_link SET
  68. orderId = #{orderId}, vipRecordId = #{vipRecordId}, vipMonth = #{vipMonth}, 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. vipMonth,
  153. linkLogo,
  154. unpaidAmount,
  155. generateTime,
  156. effectiveTime,
  157. payStatus,
  158. payType,
  159. delFlag
  160. FROM
  161. cm_order_pay_link
  162. WHERE linkLogo = #{linkLogo}
  163. AND delFlag = '0'
  164. </select>
  165. <select id="getOrderPromotionsId" resultType="java.lang.Integer">
  166. SELECT id FROM cm_promotions_order WHERE orderId = #{orderId} LIMIT 1
  167. </select>
  168. <select id="getDbPaySuccessCounter" resultType="java.lang.Integer">
  169. SELECT paySuccessCounter FROM cm_order
  170. WHERE orderID = #{orderId} AND delFlag = '0'
  171. </select>
  172. <select id="getSplitAccountList" resultType="com.caimei365.order.model.po.SplitAccountPo">
  173. SELECT
  174. id,
  175. orderId,
  176. productId,
  177. orderProductId,
  178. shopId,
  179. type,
  180. subUserNo,
  181. SUM(splitAccount) AS splitAccount,
  182. mbOrderId,
  183. orderRequestNo,
  184. payStatus,
  185. productType
  186. FROM cm_split_account
  187. WHERE type = 4 AND payStatus = 1 AND splitAccount > 0
  188. AND mbOrderId = #{mbOrderId}
  189. GROUP BY shopId
  190. </select>
  191. <select id="getPaidShopAmount" resultType="java.lang.Double">
  192. SELECT SUM(payAmount)
  193. FROM cm_pay_shop_record
  194. WHERE STATUS = 1 AND delFlag = 0 AND shopOrderID = #{shopOrderId}
  195. </select>
  196. <select id="getUndividedPaidReceipt" resultType="com.caimei365.order.model.po.OrderReceiptRelationPo">
  197. SELECT
  198. cror.id,
  199. cror.relationType,
  200. cror.receiptId,
  201. cror.associateAmount,
  202. cror.orderId,
  203. cror.delFlag,
  204. cror.mbOrderId,
  205. cror.orderRequestNo,
  206. cror.splitStatus,
  207. cdr.payType
  208. FROM cm_receipt_order_relation cror
  209. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  210. LEFT JOIN cm_order co ON cror.orderID = co.orderID
  211. WHERE cror.relationType = 2 AND cror.delFlag = 0 AND cror.mbOrderId IS NOT NULL AND cror.splitStatus = 0
  212. AND cdr.payWay = 1 AND cdr.receiptDate <![CDATA[ <= ]]> #{currentTime}
  213. AND co.organizeID = 0 AND co.orderType != 2 AND co.refundType != 2
  214. </select>
  215. <select id="getOrderProductPaidAmount" resultType="java.lang.Double">
  216. SELECT SUM(splitAccount)
  217. FROM cm_split_account
  218. WHERE orderProductId = #{orderProductId}
  219. AND payStatus = 1 AND productType = 1
  220. </select>
  221. <select id="getShopCommercialCode" resultType="java.lang.String">
  222. SELECT commercialCode FROM shop WHERE shopID = #{shopId}
  223. </select>
  224. <select id="getPaidShipping" resultType="java.lang.Double">
  225. SELECT SUM(splitAccount)
  226. FROM cm_split_account
  227. WHERE orderId = #{orderId}
  228. AND shopId = #{shopId}
  229. AND productType = 2 AND payStatus = 1
  230. </select>
  231. <select id="getVipPackagePriceById" resultType="java.lang.Double">
  232. SELECT price FROM cm_svip_package WHERE id = #{id};
  233. </select>
  234. <select id="getVipPackageDurationById" resultType="java.lang.Integer">
  235. SELECT duration FROM cm_svip_package WHERE id = #{id};
  236. </select>
  237. <select id="getVipPackageRecord" resultType="com.caimei365.order.model.bo.VipRecordBo">
  238. SELECT id, userId, packageId, price, payStatus FROM cm_svip_history WHERE id = #{id};
  239. </select>
  240. <select id="getUserVipInfo" resultType="com.caimei365.order.model.po.UserVipPo">
  241. SELECT id,userId, beginTime, endTime, updateTime, delFlag
  242. FROM cm_svip_user
  243. WHERE userId = #{#userId} and endTime > now()
  244. </select>
  245. </mapper>