PayOrderMapper.xml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  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. <update id="updateAbleMoney">
  36. UPDATE USER
  37. SET ableUserMoney = #{ableUserMoney}
  38. WHERE userID = #{userId}
  39. </update>
  40. <delete id="deleteAuthVipRoleRelation">
  41. DELETE FROM auth_role_user WHERE user_id = #{userId}
  42. </delete>
  43. <insert id="insertOrderPayLink" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.vo.OrderPayLinkVo" useGeneratedKeys="true">
  44. INSERT INTO cm_order_pay_link (orderId, vipRecordId, authVipRecordId, vipMonth, linkLogo, unpaidAmount,
  45. generateTime, effectiveTime, payStatus, payType, delFlag)
  46. VALUES (#{orderId}, #{vipRecordId}, #{authVipRecordId}, #{vipMonth}, #{linkLogo}, #{unpaidAmount},
  47. #{generateTime}, #{effectiveTime}, #{payStatus}, #{payType}, #{delFlag})
  48. </insert>
  49. <insert id="insertSplitAccount" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.SplitAccountPo">
  50. INSERT INTO cm_split_account (orderId, productId, orderProductId, shopId, couponRecordId,vipRecordId, authVipRecordId, type, subUserNo, splitAccount,
  51. mbOrderId, orderRequestNo,payStatus, productType, splitTime)
  52. VALUES (#{orderId}, #{productId}, #{orderProductId}, #{shopId},#{couponRecordId},#{vipRecordId}, #{authVipRecordId}, #{type}, #{subUserNo}, #{splitAccount},
  53. #{mbOrderId}, #{orderRequestNo}, #{payStatus}, #{productType}, NOW());
  54. </insert>
  55. <insert id="insertPayShop" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.PayShopPo">
  56. INSERT INTO cm_pay_shop (shopID, name, bankAccountName, bankAccount, bankName, type, totalAmount, balancePayFee,
  57. transferPayFee, payType, wipePayment, wipeRemarks, wipeRemarkImages, wipeTime, applicant,
  58. applyTime, reviewer, reviewTime, payTime, status, reason, delFlag)
  59. VALUES (#{shopId}, #{name}, #{bankAccountName}, #{bankAccount}, #{bankName}, #{type}, #{totalAmount}, #{balancePayFee},
  60. #{transferPayFee}, #{payType}, #{wipePayment}, #{wipeRemarks}, #{wipeRemarkImages}, #{wipeTime}, #{applicant},
  61. #{applyTime}, #{reviewer}, #{reviewTime}, #{payTime}, #{status}, #{reason}, #{delFlag})
  62. </insert>
  63. <insert id="insertPayShopRecord" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.PayShopRecordPo">
  64. INSERT INTO cm_pay_shop_record (shopID, shopOrderID, shopOrderNo, payAmount, wipePayment, payType, payTime, payShopID, status, delFlag)
  65. VALUES (#{shopId}, #{shopOrderId}, #{shopOrderNo}, #{payAmount}, #{wipePayment}, #{payType}, #{payTime}, #{payShopId}, #{status}, #{delFlag})
  66. </insert>
  67. <insert id="insertUserVipInfo" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.UserVipPo">
  68. INSERT INTO cm_svip_user(userId, beginTime, endTime, delFlag, updateTime)
  69. VALUES (#{userId}, #{beginTime}, #{endTime}, #{delFlag}, #{updateTime})
  70. </insert>
  71. <insert id="insertAuthVipInfo">
  72. INSERT INTO auth_vip_user(authUserId, beginTime, endTime, delFlag, updateTime)
  73. VALUES (#{userId}, #{beginTime}, #{endTime}, #{delFlag}, #{updateTime})
  74. </insert>
  75. <insert id="insertCouponRecord" keyColumn="id" keyProperty="id" parameterType="com.caimei365.order.model.po.CouponRecordPo" useGeneratedKeys="true">
  76. INSERT INTO cm_coupon_buyrecord (couponId, userId) VALUES (#{couponId},#{userId})
  77. </insert>
  78. <insert id="insertAuthVipRoleRelation">
  79. INSERT INTO auth_role_user(user_id, role_id) VALUES(#{userId}, #{roleId})
  80. </insert>
  81. <update id="updateUserVipInfo">
  82. UPDATE cm_svip_user set userId=#{userId}, beginTime=#{beginTime}, endTime=#{endTime}, delFlag=#{delFlag}, updateTime=#{updateTime}
  83. WHERE userId = #{userId}
  84. </update>
  85. <update id="updateVipPackageRecord">
  86. UPDATE cm_svip_history set payStatus=#{payStatus},payWay=#{payWay},payType=#{payType},beginTime=#{beginTime},endTime=#{endTime},payTime=#{payTime}
  87. WHERE id = #{id}
  88. </update>
  89. <update id="updateOrderPayLink">
  90. UPDATE cm_order_pay_link SET
  91. orderId = #{orderId}, vipRecordId = #{vipRecordId}, authVipRecordId = #{authVipRecordId}, vipMonth = #{vipMonth}, linkLogo = #{linkLogo}, unpaidAmount = #{unpaidAmount}, generateTime = #{generateTime},
  92. effectiveTime = #{effectiveTime}, payStatus = #{payStatus}, payType = #{payType}, delFlag = #{delFlag}
  93. WHERE id = #{id}
  94. </update>
  95. <update id="updateOrderPayLinkStatus">
  96. UPDATE cm_order_pay_link SET payStatus = #{payStatus}
  97. WHERE id = #{id}
  98. </update>
  99. <update id="updateSeconHandDetail">
  100. UPDATE cm_second_hand_detail
  101. SET payType = #{payType}, payAmount = #{payAmount}, payFormData = #{payFormData}, payStatus = '2',payDate = NOW()
  102. WHERE productID = #{productId}
  103. </update>
  104. <update id="updateSplitAccountByPay">
  105. UPDATE cm_split_account SET payStatus = '1' WHERE mbOrderId = #{mbOrderId}
  106. </update>
  107. <update id="updateBySplitStatus">
  108. UPDATE cm_receipt_order_relation SET splitStatus = 1 WHERE mbOrderId = #{mbOrderId}
  109. </update>
  110. <update id="updateShopOrderByPayStatus">
  111. UPDATE cm_shop_order SET
  112. payStatus = #{payStatus}, payedShopAmount = #{paidShop}
  113. WHERE shopOrderID = #{shopOrderId}
  114. </update>
  115. <update id="updateOrderByPayStatus">
  116. UPDATE cm_order SET
  117. payStatus = #{payStatus}
  118. WHERE orderID = #{orderId}
  119. </update>
  120. <update id="updateOnlineMoneyByUserId">
  121. UPDATE USER
  122. SET onlineMoney = #{onlineMoney},
  123. ableUserMoney = #{ableUserMoney}
  124. WHERE userID = #{userId}
  125. </update>
  126. <update id="updateUserMoney">
  127. UPDATE USER
  128. SET userMoney = #{userMoney},
  129. ableUserMoney = #{ableUserMoney}
  130. WHERE userID = #{userId}
  131. </update>
  132. <update id="updateCouponRecord">
  133. update cm_coupon_buyrecord
  134. set payStatus = 1
  135. where id = #{recordId}
  136. </update>
  137. <update id="bugFix">
  138. UPDATE USER SET userMoney = ableUserMoney WHERE userId = #{userId}
  139. </update>
  140. <update id="updateAuthVipInfo">
  141. UPDATE auth_vip_user set authUserId=#{userId}, beginTime=#{beginTime}, endTime=#{endTime}, delFlag=#{delFlag}, updateTime=#{updateTime}
  142. WHERE authUserId = #{userId}
  143. </update>
  144. <update id="updateAuthVipRecord">
  145. UPDATE auth_vip_history set payStatus=#{payStatus},payWay=#{payWay},payType=#{payType},beginTime=#{beginTime},endTime=#{endTime},payTime=#{payTime}
  146. WHERE id = #{id}
  147. </update>
  148. <select id="getPayOnLineSwitch" resultType="java.lang.Integer">
  149. SELECT STATUS FROM cm_pay_online_switch WHERE id=1
  150. </select>
  151. <select id="getRefundCount" resultType="java.lang.Integer">
  152. SELECT COUNT(*)
  153. FROM cm_returned_purchase
  154. WHERE orderID = #{orderId} AND STATUS = '1' AND delFlag = '0'
  155. </select>
  156. <select id="getOrderPayLink" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  157. SELECT
  158. id,
  159. orderId,
  160. vipRecordId,
  161. linkLogo,
  162. unpaidAmount,
  163. generateTime,
  164. effectiveTime,
  165. payStatus,
  166. payType,
  167. delFlag
  168. FROM
  169. cm_order_pay_link
  170. WHERE orderId = #{orderId}
  171. <if test="amount != null">
  172. AND unpaidAmount = #{amount}
  173. </if>
  174. AND delFlag = '0' AND payStatus = '0'
  175. ORDER BY id DESC LIMIT 1
  176. </select>
  177. <select id="getVipPayLink" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  178. SELECT
  179. id,
  180. orderId,
  181. vipRecordId,
  182. linkLogo,
  183. unpaidAmount,
  184. generateTime,
  185. effectiveTime,
  186. payStatus,
  187. payType,
  188. delFlag
  189. FROM
  190. cm_order_pay_link
  191. WHERE vipRecordId = #{vipRecordId}
  192. <if test="amount != null">
  193. AND unpaidAmount = #{amount}
  194. </if>
  195. AND delFlag = '0' AND payStatus = '0'
  196. ORDER BY id DESC LIMIT 1
  197. </select>
  198. <select id="getPayLinkByLinkLogo" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  199. SELECT
  200. id,
  201. orderId,
  202. vipRecordId,
  203. vipMonth,
  204. linkLogo,
  205. unpaidAmount,
  206. generateTime,
  207. effectiveTime,
  208. payStatus,
  209. payType,
  210. delFlag
  211. FROM
  212. cm_order_pay_link
  213. WHERE linkLogo = #{linkLogo}
  214. AND delFlag = '0'
  215. </select>
  216. <select id="getOrderPromotionsId" resultType="java.lang.Integer">
  217. SELECT id FROM cm_promotions_order WHERE orderId = #{orderId} LIMIT 1
  218. </select>
  219. <select id="getDbPaySuccessCounter" resultType="java.lang.Integer">
  220. SELECT paySuccessCounter FROM cm_order
  221. WHERE orderID = #{orderId} AND delFlag = '0'
  222. </select>
  223. <select id="getSplitAccountList" resultType="com.caimei365.order.model.po.SplitAccountPo">
  224. SELECT
  225. id,
  226. orderId,
  227. productId,
  228. orderProductId,
  229. shopId,
  230. type,
  231. subUserNo,
  232. SUM(splitAccount) AS splitAccount,
  233. mbOrderId,
  234. orderRequestNo,
  235. payStatus,
  236. productType
  237. FROM cm_split_account
  238. WHERE type = 4 AND payStatus = 1 AND splitAccount > 0
  239. AND mbOrderId = #{mbOrderId}
  240. GROUP BY shopId
  241. </select>
  242. <select id="getPaidShopAmount" resultType="java.lang.Double">
  243. SELECT SUM(payAmount)
  244. FROM cm_pay_shop_record
  245. WHERE STATUS = 1 AND delFlag = 0 AND shopOrderID = #{shopOrderId}
  246. </select>
  247. <select id="getUndividedPaidReceipt" resultType="com.caimei365.order.model.po.OrderReceiptRelationPo">
  248. SELECT
  249. cror.id,
  250. cror.relationType,
  251. cror.receiptId,
  252. cror.associateAmount,
  253. cror.orderId,
  254. cror.delFlag,
  255. cror.mbOrderId,
  256. cror.orderRequestNo,
  257. cror.splitStatus,
  258. cdr.payType
  259. FROM cm_receipt_order_relation cror
  260. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  261. LEFT JOIN cm_order co ON cror.orderID = co.orderID
  262. WHERE cror.relationType = 2 AND cror.delFlag = 0 AND cror.mbOrderId IS NOT NULL AND cror.splitStatus = 0
  263. AND cdr.payWay = 1 AND cdr.receiptDate <![CDATA[ <= ]]> #{currentTime}
  264. AND co.organizeID = 0 AND co.orderType != 2 AND co.refundType != 2
  265. </select>
  266. <select id="getOrderProductPaidAmount" resultType="java.lang.Double">
  267. SELECT SUM(splitAccount)
  268. FROM cm_split_account
  269. WHERE orderProductId = #{orderProductId}
  270. AND payStatus = 1 AND productType = 1
  271. </select>
  272. <select id="getShopCommercialCode" resultType="java.lang.String">
  273. SELECT commercialCode FROM shop WHERE shopID = #{shopId}
  274. </select>
  275. <select id="getPaidShipping" resultType="java.lang.Double">
  276. SELECT SUM(splitAccount)
  277. FROM cm_split_account
  278. WHERE orderId = #{orderId}
  279. AND shopId = #{shopId}
  280. AND productType = 2 AND payStatus = 1
  281. </select>
  282. <select id="getVipPackagePriceById" resultType="java.lang.Double">
  283. SELECT price FROM cm_svip_package WHERE id = #{id};
  284. </select>
  285. <select id="getVipPackageDurationById" resultType="java.lang.Integer">
  286. SELECT duration FROM cm_svip_package WHERE id = #{id};
  287. </select>
  288. <select id="getVipPackageRecord" resultType="com.caimei365.order.model.bo.VipRecordBo">
  289. SELECT id, userId, packageId, price, payStatus FROM cm_svip_history WHERE id = #{id};
  290. </select>
  291. <select id="getUserVipInfo" resultType="com.caimei365.order.model.po.UserVipPo">
  292. SELECT id,userId, beginTime, endTime, updateTime, delFlag
  293. FROM cm_svip_user
  294. WHERE userId = #{#userId} and endTime > now()
  295. </select>
  296. <select id="findBankCode" resultType="com.caimei365.order.model.vo.BankCodeVo">
  297. select id, bankName, B2C, B2B, bankLogo, delFlag
  298. from cm_bankcode
  299. </select>
  300. <select id="getOnlineBalance" resultType="com.caimei365.order.model.po.OrderReceiptRelationPo">
  301. SELECT DISTINCT cror.id,
  302. cror.relationType,
  303. cror.receiptId,
  304. cror.associateAmount,
  305. cror.orderId,
  306. cror.delFlag,
  307. cror.mbOrderId,
  308. cror.orderRequestNo,
  309. cror.splitStatus,
  310. cdr.payType
  311. FROM cm_receipt_order_relation cror
  312. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  313. LEFT JOIN cm_order co ON cror.orderID = co.orderID
  314. LEFT JOIN cm_user_balance_record cubr ON cubr.orderId = cror.orderID
  315. WHERE cror.relationType = 2
  316. AND cror.delFlag = 0
  317. AND cror.splitStatus = 0
  318. AND cdr.delFlag = 0
  319. AND cdr.payWay = 3
  320. AND cdr.receiptDate <![CDATA[ <= ]]> #{currentTime}
  321. AND co.organizeID = 0
  322. AND co.orderType != 2
  323. AND co.refundType != 2
  324. AND cubr.balanceType = 10
  325. AND cror.associateAmount > 0.01
  326. </select>
  327. <select id="getCouponPrice" resultType="java.lang.Double">
  328. select moneyCouponPrice from cm_coupon where id = #{couponId}
  329. </select>
  330. <select id="findPayStatus" resultType="java.lang.Integer">
  331. select payStatus from cm_coupon_buyrecord where id = #{recordId}
  332. </select>
  333. <select id="findClubType" resultType="java.lang.Integer">
  334. SELECT firstClubType FROM club WHERE userId = #{userId}
  335. </select>
  336. <select id="findCouponOrder" resultType="com.caimei365.order.model.vo.CouponCheckVo">
  337. SELECT cop.num,co.userId,cop.orderId,cop.productId
  338. FROM cm_order_product cop
  339. LEFT JOIN cm_order co ON cop.orderId = co.orderId
  340. LEFT JOIN cm_coupon_buyrecord ccb ON ccb.orderId = co.orderId
  341. WHERE cop.productId IN (7174,7175)
  342. AND co.receiptStatus = 3
  343. AND co.delflag = 0
  344. AND cop.orderId NOT IN (SELECT orderId FROM cm_coupon_buyrecord WHERE orderId IS NOT NULL)
  345. </select>
  346. <select id="getAuthVipRecord" resultType="com.caimei365.order.model.bo.VipRecordBo">
  347. SELECT id, authUserId as userId, packageId, price, payStatus FROM auth_vip_history WHERE id = #{vipRecordId};
  348. </select>
  349. <select id="getAuthVipPackagePrice" resultType="java.lang.Double">
  350. SELECT price FROM auth_vip_package WHERE id = #{packageId};
  351. </select>
  352. <select id="getAuthVipInfo" resultType="com.caimei365.order.model.po.UserVipPo">
  353. SELECT id,authUserId as userId, beginTime, endTime, updateTime, delFlag
  354. FROM auth_vip_user
  355. WHERE authUserId = #{#userId}
  356. </select>
  357. <select id="getAuthVipPackageById" resultType="com.caimei365.order.model.po.AuthVipPackagePo">
  358. select duration,unit,price from auth_vip_package where id =#{vipId}
  359. </select>
  360. <select id="getAuthVipPayLink" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
  361. SELECT
  362. id,
  363. orderId,
  364. vipRecordId,
  365. linkLogo,
  366. unpaidAmount,
  367. generateTime,
  368. effectiveTime,
  369. payStatus,
  370. payType,
  371. delFlag
  372. FROM
  373. cm_order_pay_link
  374. WHERE authVipRecordId = #{recordId}
  375. <if test="amount != null">
  376. AND unpaidAmount = #{amount}
  377. </if>
  378. AND delFlag = '0' AND payStatus = '0'
  379. ORDER BY id DESC LIMIT 1
  380. </select>
  381. </mapper>