OrderClubMapper.xml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534
  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.OrderClubMapper">
  4. <update id="updateSecondStatus">
  5. UPDATE cm_second_hand_detail SET sold = #{sold}
  6. WHERE productID = #{productId} AND secondHandType=1
  7. </update>
  8. <update id="updateUserMoneyByUserId">
  9. UPDATE USER SET userMoney = #{userMoney}
  10. WHERE userID = #{userId}
  11. </update>
  12. <update id="updateAbleUserMoneyByUserId">
  13. UPDATE USER SET ableUserMoney = #{ableUserMoney}
  14. WHERE userID = #{userId}
  15. </update>
  16. <update id="updateOrderStatus">
  17. UPDATE cm_order SET
  18. status = #{status}
  19. <if test="receiptStatus != null and receiptStatus != ''">
  20. ,receiptStatus = #{receiptStatus}
  21. </if>
  22. <if test="payStatus != null and payStatus != ''">
  23. ,payStatus = #{payStatus}
  24. </if>
  25. <if test="confirmFlag != null and confirmFlag != ''">
  26. ,confirmFlag = #{confirmFlag}
  27. </if>
  28. <if test="confirmTime != null and confirmTime != ''">
  29. ,confirmTime = #{confirmTime}
  30. </if>
  31. <if test="affirmPaymentFlag != null and affirmPaymentFlag != ''">
  32. ,affirmPaymentFlag = #{affirmPaymentFlag}
  33. </if>
  34. ,updateDate = #{updateDate}
  35. WHERE orderID = #{orderId}
  36. </update>
  37. <update id="cancelBalanceRecord">
  38. UPDATE cm_user_balance_record SET
  39. remark = #{remark},
  40. delFlag = #{delFlag}
  41. WHERE userId = #{userId} AND orderId = #{orderId}
  42. </update>
  43. <update id="cancelMainOrder">
  44. UPDATE cm_order SET
  45. status = #{status},
  46. closeReason = #{closeReason},
  47. closeTime = #{closeTime}
  48. WHERE orderID = #{orderId}
  49. </update>
  50. <update id="deleteMainOrder">
  51. UPDATE cm_order SET delFlag=1, note=#{note}
  52. WHERE orderID = #{orderId}
  53. </update>
  54. <update id="deleteShopOrder">
  55. UPDATE cm_shop_order SET delFlag=1
  56. WHERE shopOrderID IN
  57. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  58. #{shopOrderId}
  59. </foreach>
  60. </update>
  61. <update id="deleteOrderReceiptRelation">
  62. UPDATE cm_receipt_order_relation SET delFlag=1
  63. WHERE orderID = #{orderId}
  64. </update>
  65. <update id="deleteDiscernReceipt">
  66. UPDATE cm_discern_receipt SET delFlag=1
  67. WHERE id IN
  68. <foreach collection="receiptIds" open="(" separator="," close=")" item="receiptId">
  69. #{receiptId}
  70. </foreach>
  71. </update>
  72. <update id="deletePayShopRecord">
  73. UPDATE cm_pay_shop_record SET delFlag = 1
  74. WHERE shopOrderID IN
  75. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  76. #{shopOrderId}
  77. </foreach>
  78. </update>
  79. <update id="deletePayShop">
  80. UPDATE cm_pay_shop SET delFlag = 1
  81. WHERE id = IN
  82. <foreach collection="payIds" open="(" separator="," close=")" item="payId">
  83. #{payId}
  84. </foreach>
  85. </update>
  86. <update id="updateLogisticsBatch">
  87. UPDATE cm_logistics_batch
  88. SET status = 1, updateDate = NOW(), receiptTime = NOW()
  89. WHERE orderID = #{orderId}
  90. </update>
  91. <update id="updateOrderShareCode">
  92. UPDATE cm_mall_order_share_code
  93. SET shareCode = #{shareCode}, expiredTime = #{expiredTime}, delFlag = #{delFlag}
  94. WHERE id = #{id}
  95. </update>
  96. <update id="updateCouponClubStatus">
  97. UPDATE cm_coupon_club SET
  98. status = 2, useDate = NOW(), orderId = #{orderId}
  99. WHERE id = #{clubCouponId}
  100. </update>
  101. <delete id="deleteOrderSearchHistory">
  102. DELETE FROM user_order_history WHERE userId=#{userId}
  103. </delete>
  104. <delete id="deleteOrderShareCodeRecord">
  105. DELETE FROM cm_mall_share_code_record WHERE orderID = #{orderId}
  106. </delete>
  107. <update id="deleteCouponClubById">
  108. update cm_coupon_club set delFlag = '1' where id = #{clubCouponId}
  109. </update>
  110. <insert id="insertOrderShareCode">
  111. INSERT INTO cm_mall_order_share_code (orderID, shareCode, addTime, expiredTime, delFlag)
  112. VALUES (#{orderId}, #{shareCode}, #{addTime}, #{expiredTime}, #{delFlag})
  113. </insert>
  114. <insert id="insertOrderShareCodeRecord">
  115. INSERT INTO cm_mall_share_code_record (openid, orderID, shareCodeId, addTime, delFlag)
  116. VALUES (#{openId}, #{orderId}, #{shareCodeId}, #{addTime}, #{delFlag})
  117. </insert>
  118. <insert id="insertCouponClub">
  119. INSERT INTO cm_coupon_club(userId, couponId, orderId, returnedId, source, status, createDate, useDate, delFlag)
  120. VALUES (#{userId},#{couponId},#{orderId},#{returnedId},#{source},#{status},#{createDate},#{useDate},#{delFlag})
  121. </insert>
  122. <select id="countMainOrderByOrderId" resultType="java.lang.Integer">
  123. SELECT COUNT(*) FROM cm_order WHERE orderID = #{orderId}
  124. </select>
  125. <select id="getMainOrderByOrderId" resultType="com.caimei365.order.model.po.OrderPo">
  126. SELECT
  127. ifnull(orderSeen,0) AS orderSeen,
  128. orderID AS orderId,
  129. shopOrderIds,
  130. orderSource,
  131. orderNo,
  132. userID AS userId,
  133. clubID AS clubId,
  134. buyUserID AS buyUserId,
  135. orderTime AS orderTime,
  136. updateDate AS updateDate,
  137. delFlag,
  138. userBeans,
  139. orderType,
  140. orderSubmitType,
  141. confirmFlag,
  142. onlinePayFlag,
  143. splitFlag,
  144. payFlag,
  145. receiptStatus,
  146. payStatus,
  147. zeroCostFlag,
  148. sendOutStatus,
  149. refundType,
  150. affirmPaymentFlag,
  151. productCount,
  152. presentCount,
  153. promotionalGiftsCount,
  154. hasActProduct,
  155. promotionFullReduction,
  156. svipFullReduction,
  157. secondHandOrderFlag,
  158. invoiceFlag,
  159. freePostFlag AS postageFlag,
  160. freight AS postage,
  161. productTotalFee,
  162. orderTotalFee,
  163. payTotalFee,
  164. payableAmount,
  165. balancePayFee,
  166. discountFee,
  167. couponAmount,
  168. status,
  169. confirmTime,
  170. payTime,
  171. rebateFlag,
  172. clauseID AS clauseId,
  173. clauseName
  174. FROM cm_order
  175. WHERE orderID = #{orderId}
  176. </select>
  177. <select id="getOrderProductList" resultType="com.caimei365.order.model.po.OrderProductPo">
  178. SELECT
  179. cop.orderID AS orderId,
  180. cop.orderNo,
  181. cop.shopOrderID AS shopOrderId,
  182. cop.shopOrderNo,
  183. cop.orderPromotionsId,
  184. cop.productId,
  185. cop.shopID AS shopId,
  186. cop.name,
  187. cop.productImage AS image,
  188. cop.price,
  189. cop.shopName,
  190. cop.costPrice,
  191. cop.normalPrice,
  192. cop.ladderPriceFlag,
  193. cop.discountPrice,
  194. cop.discount,
  195. cop.totalAmount,
  196. cop.totalFee,
  197. cop.shouldPayFee,
  198. cop.productUnit,
  199. cop.num,
  200. IFNULL(cop.presentNum,0) AS presentNum,
  201. cop.discountFee,
  202. cop.includedTax,
  203. cop.invoiceType,
  204. cop.taxRate,
  205. cop.addedValueTax,
  206. cop.totalAddedValueTax,
  207. cop.singleShouldPayTotalTax,
  208. cop.shouldPayTotalTax,
  209. cop.shopProductAmount,
  210. cop.singleShopFee,
  211. cop.shopFee,
  212. cop.singleOtherFee,
  213. cop.otherFee,
  214. cop.singleCmFee,
  215. cop.cmFee,
  216. cop.payStatus,
  217. cop.buyAgainFlag,
  218. cop.notOutStore,
  219. cop.isActProduct AS actProduct,
  220. p.productCategory AS productCategory
  221. FROM cm_order_product cop
  222. LEFT JOIN product p ON p.productID = cop.productID
  223. WHERE cop.orderID = #{orderID}
  224. </select>
  225. <select id="getOrderReceiptIds" resultType="java.lang.String">
  226. SELECT c.id
  227. FROM cm_discern_receipt c
  228. LEFT JOIN cm_receipt_order_relation r ON r.receiptID = c.id
  229. WHERE r.orderID = #{orderID}
  230. AND r.relationType = '2'
  231. AND r.delFlag = '0'
  232. AND c.delFlag = '0'
  233. AND c.receiptStatus = '3'
  234. AND c.payType != '16'
  235. </select>
  236. <select id="getPayShopIds" resultType="java.lang.String">
  237. SELECT payShopID FROM cm_pay_shop_record
  238. WHERE delFlag = 0
  239. AND shopOrderID IN
  240. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  241. #{shopOrderId}
  242. </foreach>
  243. </select>
  244. <select id="getOrderCount" resultType="java.lang.Integer">
  245. SELECT COUNT(*) FROM cm_order
  246. WHERE delFlag = 0 AND userID = #{userId}
  247. <if test="orderState == 1 ">
  248. AND status = '0'
  249. </if>
  250. <if test="orderState == 2 ">
  251. AND status IN(11,12,13,21,22,23)
  252. </if>
  253. <if test="orderState == 3 ">
  254. AND status IN(11,12,21,22,31,32)
  255. </if>
  256. <if test="orderState == 4 ">
  257. AND status IN(12,13,22,23,32,33)
  258. </if>
  259. <if test="orderState == 5 ">
  260. AND refundType IN(1,2)
  261. </if>
  262. </select>
  263. <select id="getOrderSeenCount" resultType="java.lang.Integer">
  264. SELECT COUNT(*) FROM cm_order
  265. WHERE delFlag = 0 AND userID = #{userId}
  266. <if test="orderState == 1 ">
  267. AND status = '0'
  268. </if>
  269. <if test="orderState == 2 ">
  270. AND status IN(11,12,13,21,22,23)
  271. </if>
  272. <if test="orderState == 3 ">
  273. AND status IN(11,12,21,22,31,32)
  274. </if>
  275. <if test="orderState == 4 ">
  276. AND status IN(12,13,22,23,32,33)
  277. </if>
  278. <if test="orderState == 5 ">
  279. AND refundType IN(1,2)
  280. </if>
  281. AND orderSeen = 2
  282. </select>
  283. <select id="getOrderList" resultType="com.caimei365.order.model.vo.OrderVo">
  284. SELECT
  285. ifnull(orderSeen,0) AS orderSeen,
  286. orderID AS orderId,
  287. shopOrderIds,
  288. orderSource,
  289. orderNo,
  290. userID AS userId,
  291. clubID AS clubId,
  292. buyUserID AS buyUserId,
  293. orderTime,
  294. updateDate,
  295. delFlag,
  296. userBeans,
  297. orderType,
  298. orderSubmitType,
  299. confirmFlag,
  300. onlinePayFlag,
  301. splitFlag,
  302. payFlag,
  303. receiptStatus,
  304. payStatus,
  305. zeroCostFlag,
  306. sendOutStatus,
  307. refundType,
  308. affirmPaymentFlag,
  309. productCount,
  310. presentCount,
  311. promotionalGiftsCount,
  312. hasActProduct,
  313. promotionFullReduction,
  314. secondHandOrderFlag,
  315. invoiceFlag,
  316. freePostFlag AS postageFlag,
  317. freight AS postage,
  318. productTotalFee,
  319. orderTotalFee,
  320. payTotalFee,
  321. payableAmount,
  322. balancePayFee,
  323. discountFee,
  324. couponAmount,
  325. status,
  326. confirmTime,
  327. payTime,
  328. rebateFlag,
  329. clauseID AS clauseId,
  330. clauseName
  331. FROM cm_order
  332. WHERE delFlag = 0 AND userID = #{userId}
  333. <if test="orderState == 1 ">
  334. AND status = '0'
  335. </if>
  336. <if test="orderState == 2 ">
  337. AND status IN(11,12,13,21,22,23)
  338. </if>
  339. <if test="orderState == 3 ">
  340. AND status IN(11,12,21,22,31,32)
  341. </if>
  342. <if test="orderState == 4 ">
  343. AND status IN(12,13,22,23,32,33)
  344. </if>
  345. <if test="orderState == 5 ">
  346. AND refundType IN(1,2)
  347. </if>
  348. <if test="orderNo != null and orderNo != '' ">
  349. AND orderNo = #{orderNo}
  350. </if>
  351. <if test="beginTime != null and beginTime != '' ">
  352. AND orderTime <![CDATA[>=]]> #{beginTime}
  353. </if>
  354. <if test="endTime != null and endTime != '' ">
  355. AND orderTime <![CDATA[<=]]> #{endTime}
  356. </if>
  357. ORDER BY orderTime DESC
  358. </select>
  359. <select id="getOrderListByKeyword" resultType="com.caimei365.order.model.vo.OrderVo">
  360. SELECT DISTINCT
  361. ifnull(co.orderSeen,0) AS orderSeen,
  362. co.orderID AS orderId,
  363. shopOrderIds,
  364. co.orderSource,
  365. co.orderNo,
  366. co.userID AS userId,
  367. co.clubID AS clubId,
  368. co.buyUserID AS buyUserId,
  369. co.orderTime,
  370. co.updateDate,
  371. co.delFlag,
  372. co.userBeans,
  373. co.orderType,
  374. co.orderSubmitType,
  375. co.confirmFlag,
  376. co.onlinePayFlag,
  377. co.splitFlag,
  378. co.payFlag,
  379. co.receiptStatus,
  380. co.payStatus,
  381. co.zeroCostFlag,
  382. co.sendOutStatus,
  383. co.refundType,
  384. co.affirmPaymentFlag,
  385. co.productCount,
  386. co.presentCount,
  387. co.promotionalGiftsCount,
  388. co.hasActProduct,
  389. co.promotionFullReduction,
  390. co.secondHandOrderFlag,
  391. co.invoiceFlag,
  392. co.freePostFlag AS postageFlag,
  393. co.freight AS postage,
  394. co.productTotalFee,
  395. co.orderTotalFee,
  396. co.payTotalFee,
  397. co.payableAmount,
  398. co.balancePayFee,
  399. co.discountFee,
  400. co.couponAmount,
  401. co.status,
  402. co.confirmTime,
  403. co.payTime,
  404. co.rebateFlag,
  405. co.clauseID AS clauseId,
  406. co.clauseName
  407. FROM cm_order co
  408. LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
  409. WHERE co.delFlag = 0 AND co.userID = #{userId}
  410. AND cop.name LIKE CONCAT('%',#{searchWord},'%')
  411. GROUP BY co.orderID, co.orderTime
  412. ORDER BY co.orderTime DESC
  413. </select>
  414. <select id="getOrderSearchHistory" resultType="com.caimei365.order.model.vo.SearchHistoryVo">
  415. SELECT id, userId, searchWord, searchDate, delFlag
  416. FROM user_order_history
  417. WHERE userId = #{userId}
  418. ORDER BY id DESC
  419. </select>
  420. <select id="getReturnedPurchaseList" resultType="com.caimei365.order.model.vo.ReturnedPurchaseVo">
  421. SELECT
  422. id,
  423. returnedNo,
  424. orderID AS orderId,
  425. userID AS userId,
  426. status,
  427. returnedWay,
  428. payType,
  429. operatingOrderStatus,
  430. returnedBankInfo,
  431. bankAccountName,
  432. bankAccountNo,
  433. openBank,
  434. bankAccountType,
  435. returnedPurchaseFee,
  436. refundFee,
  437. refundBalanceFee,
  438. refundOnlineFee,
  439. refundOfflineFee,
  440. image1,
  441. image2,
  442. image3,
  443. image4,
  444. image5,
  445. reviewImage1,
  446. reviewImage2,
  447. reviewImage3,
  448. reviewImage4,
  449. reviewImage5,
  450. remarks,
  451. reviewRemarks,
  452. applicationUserID AS applicationUserId,
  453. returnTime,
  454. reviewUserID AS reviewUserId,
  455. confirmReturnTime,
  456. delFlag
  457. FROM cm_returned_purchase
  458. WHERE orderID = #{orderId} AND STATUS = '2'
  459. ORDER BY confirmReturnTime DESC
  460. </select>
  461. <select id="getClauseById" resultType="com.caimei365.order.model.vo.ClauseVo">
  462. SELECT
  463. id,
  464. name,
  465. content,
  466. clauseType,
  467. enabledStatus
  468. FROM bp_clause
  469. where id = #{clauseId}
  470. </select>
  471. <select id="getBatchShopOrderIds" resultType="java.lang.String">
  472. SELECT shopOrderID
  473. FROM cm_logistics_record
  474. WHERE orderID = #{orderId}
  475. AND logisticsBatchID = #{id}
  476. </select>
  477. <select id="getOrderCodeById" resultType="com.caimei365.order.model.vo.OrderShareCodeVo">
  478. SELECT
  479. id,
  480. orderID AS orderId,
  481. shareCode,
  482. addTime,
  483. expiredTime,
  484. delFlag
  485. FROM cm_mall_order_share_code
  486. WHERE orderID = #{orderId} AND delFlag = '0'
  487. LIMIT 1
  488. </select>
  489. <select id="countShareCodeRecord" resultType="java.lang.Integer">
  490. SELECT COUNT(*)
  491. FROM cm_mall_share_code_record scr
  492. LEFT JOIN cm_mall_order_share_code osc ON scr.shareCodeId = osc.id
  493. WHERE scr.openid = #{openId} AND osc.orderID = #{orderId}
  494. AND scr.delFlag = '0' AND osc.expiredTime > NOW()
  495. </select>
  496. <select id="getClubCouponById" resultType="com.caimei365.order.model.vo.CouponVo">
  497. SELECT
  498. a.id AS clubCouponId,
  499. cc.id AS couponId,
  500. cc.couponAmount,
  501. cc.touchPrice,
  502. cc.startDate,
  503. cc.endDate,
  504. cc.couponType,
  505. cc.userId,
  506. cc.shopId,
  507. cc.productType,
  508. cc.categoryType
  509. FROM cm_coupon_club a
  510. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  511. WHERE cc.delFlag = 0
  512. AND a.delFlag = 0
  513. AND a.id = #{clubCouponId}
  514. AND a.status = 1
  515. AND NOW() BETWEEN cc.startDate
  516. AND cc.endDate
  517. AND cc.status != 2
  518. </select>
  519. <select id="getOrderCouponRecord" resultType="com.caimei365.order.model.po.CouponOrderRecordPo">
  520. SELECT id, orderId, clubCouponId, couponType, couponAmount, touchPrice, createDate
  521. FROM cm_coupon_order_record
  522. WHERE orderId = #{orderId}
  523. </select>
  524. <select id="getCouponClubById" resultType="com.caimei365.order.model.po.CouponClubPo">
  525. SELECT userId,couponId
  526. FROM cm_coupon_club
  527. WHERE id = #{clubCouponId}
  528. </select>
  529. <select id="getLatestOrderId" resultType="java.lang.Integer">
  530. SELECT orderID FROM cm_order
  531. WHERE userId = #{userId}
  532. ORDER BY orderID DESC limit 1
  533. </select>
  534. </mapper>