OrderClubMapper.xml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  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
  6. SET sold = #{sold}
  7. WHERE productID = #{productId}
  8. AND secondHandType = 1
  9. </update>
  10. <update id="updateUserMoneyByUserId">
  11. UPDATE USER
  12. SET userMoney = #{userMoney}
  13. WHERE userID = #{userId}
  14. </update>
  15. <update id="updateAbleUserMoneyByUserId">
  16. UPDATE USER
  17. SET ableUserMoney = #{ableUserMoney}
  18. WHERE userID = #{userId}
  19. </update>
  20. <update id="updateOrderStatus">
  21. UPDATE cm_order SET
  22. status = #{status}
  23. <if test="receiptStatus != null and receiptStatus != ''">
  24. ,receiptStatus = #{receiptStatus}
  25. </if>
  26. <if test="payStatus != null and payStatus != ''">
  27. ,payStatus = #{payStatus}
  28. </if>
  29. <if test="confirmFlag != null and confirmFlag != ''">
  30. ,confirmFlag = #{confirmFlag}
  31. </if>
  32. <if test="confirmTime != null and confirmTime != ''">
  33. ,confirmTime = #{confirmTime}
  34. </if>
  35. <if test="affirmPaymentFlag != null and affirmPaymentFlag != ''">
  36. ,affirmPaymentFlag = #{affirmPaymentFlag}
  37. </if>
  38. ,updateDate = #{updateDate}
  39. WHERE orderID = #{orderId}
  40. </update>
  41. <update id="cancelBalanceRecord">
  42. UPDATE cm_user_balance_record
  43. SET remark = #{remark},
  44. delFlag = #{delFlag}
  45. WHERE userId = #{userId}
  46. AND orderId = #{orderId}
  47. </update>
  48. <update id="cancelMainOrder">
  49. UPDATE cm_order
  50. SET status = #{status},
  51. closeReason = #{closeReason},
  52. closeTime = #{closeTime}
  53. WHERE orderID = #{orderId}
  54. </update>
  55. <update id="deleteMainOrder">
  56. UPDATE cm_order
  57. SET delFlag=1,
  58. note=#{note}
  59. WHERE orderID = #{orderId}
  60. </update>
  61. <update id="deleteShopOrder">
  62. UPDATE cm_shop_order SET delFlag=1
  63. WHERE shopOrderID IN
  64. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  65. #{shopOrderId}
  66. </foreach>
  67. </update>
  68. <update id="deleteOrderReceiptRelation">
  69. UPDATE cm_receipt_order_relation
  70. SET delFlag=1
  71. WHERE orderID = #{orderId}
  72. </update>
  73. <update id="deleteDiscernReceipt">
  74. UPDATE cm_discern_receipt SET delFlag=1
  75. WHERE id IN
  76. <foreach collection="receiptIds" open="(" separator="," close=")" item="receiptId">
  77. #{receiptId}
  78. </foreach>
  79. </update>
  80. <update id="deletePayShopRecord">
  81. UPDATE cm_pay_shop_record SET delFlag = 1
  82. WHERE shopOrderID IN
  83. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  84. #{shopOrderId}
  85. </foreach>
  86. </update>
  87. <update id="deletePayShop">
  88. UPDATE cm_pay_shop SET delFlag = 1
  89. WHERE id = IN
  90. <foreach collection="payIds" open="(" separator="," close=")" item="payId">
  91. #{payId}
  92. </foreach>
  93. </update>
  94. <update id="updateLogisticsBatch">
  95. UPDATE cm_logistics_batch
  96. SET status = 1,
  97. updateDate = NOW(),
  98. receiptTime = NOW()
  99. WHERE orderID = #{orderId}
  100. </update>
  101. <update id="updateOrderShareCode">
  102. UPDATE cm_mall_order_share_code
  103. SET shareCode = #{shareCode},
  104. expiredTime = #{expiredTime},
  105. delFlag = #{delFlag}
  106. WHERE id = #{id}
  107. </update>
  108. <update id="updateCouponClubStatus">
  109. UPDATE cm_coupon_club
  110. SET status = 2,
  111. useDate = NOW(),
  112. orderId = #{orderId}
  113. WHERE id = #{clubCouponId}
  114. </update>
  115. <delete id="deleteOrderSearchHistory">
  116. DELETE
  117. FROM user_order_history
  118. WHERE userId = #{userId}
  119. </delete>
  120. <delete id="deleteOrderShareCodeRecord">
  121. DELETE
  122. FROM cm_mall_share_code_record
  123. WHERE orderID = #{orderId}
  124. </delete>
  125. <update id="deleteCouponClubById">
  126. update cm_coupon_club
  127. set delFlag = '1'
  128. where id = #{clubCouponId}
  129. </update>
  130. <insert id="insertOrderShareCode">
  131. INSERT INTO cm_mall_order_share_code (orderID, shareCode, addTime, expiredTime, delFlag)
  132. VALUES (#{orderId}, #{shareCode}, #{addTime}, #{expiredTime}, #{delFlag})
  133. </insert>
  134. <insert id="insertOrderShareCodeRecord">
  135. INSERT INTO cm_mall_share_code_record (openid, orderID, shareCodeId, addTime, delFlag)
  136. VALUES (#{openId}, #{orderId}, #{shareCodeId}, #{addTime}, #{delFlag})
  137. </insert>
  138. <insert id="insertCouponClub" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
  139. INSERT INTO cm_coupon_club(userId, couponId, orderId, returnedId, source, status, createDate, useDate, delFlag)
  140. VALUES (#{userId}, #{couponId}, #{orderId}, #{returnedId}, #{source}, #{status}, #{createDate}, #{useDate},
  141. #{delFlag})
  142. </insert>
  143. <insert id="insertCouponRecord">
  144. INSERT INTO cm_coupon_buyrecord(couponId, payStatus, userId, orderId, delflag)
  145. values (#{couponId}, 1, #{userId}, #{orderId}, 0)
  146. </insert>
  147. <select id="countMainOrderByOrderId" resultType="java.lang.Integer">
  148. SELECT COUNT(*)
  149. FROM cm_order
  150. WHERE orderID = #{orderId}
  151. </select>
  152. <select id="getMainOrderByOrderId" resultType="com.caimei365.order.model.po.OrderPo">
  153. SELECT ifnull(orderSeen, 0) AS orderSeen,
  154. orderID AS orderId,
  155. shopOrderIds,
  156. orderSource,
  157. orderNo,
  158. userID AS userId,
  159. clubID AS clubId,
  160. buyUserID AS buyUserId,
  161. orderTime AS orderTime,
  162. updateDate AS updateDate,
  163. delFlag,
  164. userBeans,
  165. orderType,
  166. orderSubmitType,
  167. confirmFlag,
  168. onlinePayFlag,
  169. splitFlag,
  170. payFlag,
  171. receiptStatus,
  172. payStatus,
  173. zeroCostFlag,
  174. sendOutStatus,
  175. refundType,
  176. affirmPaymentFlag,
  177. productCount,
  178. presentCount,
  179. promotionalGiftsCount,
  180. hasActProduct,
  181. promotionFullReduction,
  182. svipFullReduction,
  183. secondHandOrderFlag,
  184. invoiceFlag,
  185. freePostFlag AS postageFlag,
  186. freight AS postage,
  187. productTotalFee,
  188. orderTotalFee,
  189. payTotalFee,
  190. payableAmount,
  191. balancePayFee,
  192. discountFee,
  193. couponAmount,
  194. status,
  195. confirmTime,
  196. payTime,
  197. rebateFlag,
  198. clauseID AS clauseId,
  199. clauseName
  200. FROM cm_order
  201. WHERE orderID = #{orderId}
  202. </select>
  203. <select id="getOrderProductList" resultType="com.caimei365.order.model.po.OrderProductPo">
  204. SELECT cop.orderID AS orderId,
  205. cop.orderNo,
  206. cop.shopOrderID AS shopOrderId,
  207. cop.shopOrderNo,
  208. cop.orderPromotionsId,
  209. cop.productId,
  210. cop.shopID AS shopId,
  211. cop.name,
  212. cop.productImage AS image,
  213. cop.price,
  214. cop.shopName,
  215. cop.costPrice,
  216. cop.normalPrice,
  217. cop.ladderPriceFlag,
  218. cop.discountPrice,
  219. cop.discount,
  220. cop.totalAmount,
  221. cop.totalFee,
  222. cop.shouldPayFee,
  223. cop.productUnit,
  224. cop.num,
  225. IFNULL(cop.presentNum, 0) AS presentNum,
  226. cop.discountFee,
  227. cop.includedTax,
  228. cop.invoiceType,
  229. cop.taxRate,
  230. cop.addedValueTax,
  231. cop.totalAddedValueTax,
  232. cop.singleShouldPayTotalTax,
  233. cop.shouldPayTotalTax,
  234. cop.shopProductAmount,
  235. cop.singleShopFee,
  236. cop.shopFee,
  237. cop.singleOtherFee,
  238. cop.otherFee,
  239. cop.singleCmFee,
  240. cop.cmFee,
  241. cop.payStatus,
  242. cop.buyAgainFlag,
  243. cop.notOutStore,
  244. cop.isActProduct AS actProduct,
  245. p.productCategory AS productCategory
  246. FROM cm_order_product cop
  247. LEFT JOIN product p ON p.productID = cop.productID
  248. WHERE cop.orderID = #{orderID}
  249. </select>
  250. <select id="getOrderReceiptIds" resultType="java.lang.String">
  251. SELECT c.id
  252. FROM cm_discern_receipt c
  253. LEFT JOIN cm_receipt_order_relation r ON r.receiptID = c.id
  254. WHERE r.orderID = #{orderID}
  255. AND r.relationType = '2'
  256. AND r.delFlag = '0'
  257. AND c.delFlag = '0'
  258. AND c.receiptStatus = '3'
  259. AND c.payType != '16'
  260. </select>
  261. <select id="getPayShopIds" resultType="java.lang.String">
  262. SELECT payShopID FROM cm_pay_shop_record
  263. WHERE delFlag = 0
  264. AND shopOrderID IN
  265. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  266. #{shopOrderId}
  267. </foreach>
  268. </select>
  269. <select id="getOrderCount" resultType="java.lang.Integer">
  270. SELECT COUNT(*) FROM cm_order
  271. WHERE delFlag = 0 AND userID = #{userId}
  272. <if test="orderState == 1 ">
  273. AND status = '0'
  274. </if>
  275. <if test="orderState == 2 ">
  276. AND status IN(11,12,13,21,22,23)
  277. </if>
  278. <if test="orderState == 3 ">
  279. AND status IN(11,12,21,22,31,32)
  280. </if>
  281. <if test="orderState == 4 ">
  282. AND status IN(12,13,22,23,32,33)
  283. </if>
  284. <if test="orderState == 5 ">
  285. AND refundType IN(1,2)
  286. </if>
  287. </select>
  288. <select id="getOrderSeenCount" resultType="java.lang.Integer">
  289. SELECT COUNT(*) FROM cm_order
  290. WHERE delFlag = 0 AND userID = #{userId}
  291. <if test="orderState == 1 ">
  292. AND status = '0'
  293. </if>
  294. <if test="orderState == 2 ">
  295. AND status IN(11,12,13,21,22,23)
  296. </if>
  297. <if test="orderState == 3 ">
  298. AND status IN(11,12,21,22,31,32)
  299. </if>
  300. <if test="orderState == 4 ">
  301. AND status IN(12,13,22,23,32,33)
  302. </if>
  303. <if test="orderState == 5 ">
  304. AND refundType IN(1,2)
  305. </if>
  306. AND orderSeen = 2
  307. </select>
  308. <select id="getOrderList" resultType="com.caimei365.order.model.vo.OrderVo">
  309. SELECT
  310. ifnull(orderSeen,0) AS orderSeen,
  311. orderID AS orderId,
  312. shopOrderIds,
  313. orderSource,
  314. orderNo,
  315. userID AS userId,
  316. clubID AS clubId,
  317. buyUserID AS buyUserId,
  318. orderTime,
  319. updateDate,
  320. delFlag,
  321. userBeans,
  322. orderType,
  323. orderSubmitType,
  324. confirmFlag,
  325. onlinePayFlag,
  326. splitFlag,
  327. payFlag,
  328. receiptStatus,
  329. payStatus,
  330. zeroCostFlag,
  331. sendOutStatus,
  332. refundType,
  333. affirmPaymentFlag,
  334. productCount,
  335. presentCount,
  336. promotionalGiftsCount,
  337. hasActProduct,
  338. promotionFullReduction,
  339. secondHandOrderFlag,
  340. invoiceFlag,
  341. freePostFlag AS postageFlag,
  342. freight AS postage,
  343. productTotalFee,
  344. orderTotalFee,
  345. payTotalFee,
  346. payableAmount,
  347. balancePayFee,
  348. discountFee,
  349. couponAmount,
  350. status,
  351. confirmTime,
  352. payTime,
  353. rebateFlag,
  354. clauseID AS clauseId,
  355. clauseName
  356. FROM cm_order
  357. WHERE delFlag = 0 AND userID = #{userId} and (orderseen IS NULL OR orderseen!=2)
  358. <if test="orderState == 1 ">
  359. AND status = '0'
  360. </if>
  361. <if test="orderState == 2 ">
  362. AND status IN(11,12,13,21,22,23)
  363. </if>
  364. <if test="orderState == 3 ">
  365. AND status IN(11,12,21,22,31,32)
  366. </if>
  367. <if test="orderState == 4 ">
  368. AND status IN(12,13,22,23,32,33)
  369. </if>
  370. <if test="orderState == 5 ">
  371. AND refundType IN(1,2)
  372. </if>
  373. <if test="orderNo != null and orderNo != '' ">
  374. AND orderNo = #{orderNo}
  375. </if>
  376. <if test="beginTime != null and beginTime != '' ">
  377. AND orderTime <![CDATA[>=]]> #{beginTime}
  378. </if>
  379. <if test="endTime != null and endTime != '' ">
  380. AND orderTime <![CDATA[<=]]> #{endTime}
  381. </if>
  382. ORDER BY orderTime DESC
  383. </select>
  384. <select id="getOrderListByKeyword" resultType="com.caimei365.order.model.vo.OrderVo">
  385. SELECT DISTINCT ifnull(co.orderSeen, 0) AS orderSeen,
  386. co.orderID AS orderId,
  387. shopOrderIds,
  388. co.orderSource,
  389. co.orderNo,
  390. co.userID AS userId,
  391. co.clubID AS clubId,
  392. co.buyUserID AS buyUserId,
  393. co.orderTime,
  394. co.updateDate,
  395. co.delFlag,
  396. co.userBeans,
  397. co.orderType,
  398. co.orderSubmitType,
  399. co.confirmFlag,
  400. co.onlinePayFlag,
  401. co.splitFlag,
  402. co.payFlag,
  403. co.receiptStatus,
  404. co.payStatus,
  405. co.zeroCostFlag,
  406. co.sendOutStatus,
  407. co.refundType,
  408. co.affirmPaymentFlag,
  409. co.productCount,
  410. co.presentCount,
  411. co.promotionalGiftsCount,
  412. co.hasActProduct,
  413. co.promotionFullReduction,
  414. co.secondHandOrderFlag,
  415. co.invoiceFlag,
  416. co.freePostFlag AS postageFlag,
  417. co.freight AS postage,
  418. co.productTotalFee,
  419. co.orderTotalFee,
  420. co.payTotalFee,
  421. co.payableAmount,
  422. co.balancePayFee,
  423. co.discountFee,
  424. co.couponAmount,
  425. co.status,
  426. co.confirmTime,
  427. co.payTime,
  428. co.rebateFlag,
  429. co.clauseID AS clauseId,
  430. co.clauseName
  431. FROM cm_order co
  432. LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
  433. WHERE co.delFlag = 0
  434. AND co.userID = #{userId}
  435. AND cop.name LIKE CONCAT('%', #{searchWord}, '%')
  436. GROUP BY co.orderID, co.orderTime
  437. ORDER BY co.orderTime DESC
  438. </select>
  439. <select id="getOrderSearchHistory" resultType="com.caimei365.order.model.vo.SearchHistoryVo">
  440. SELECT id, userId, searchWord, searchDate, delFlag
  441. FROM user_order_history
  442. WHERE userId = #{userId}
  443. ORDER BY id DESC
  444. </select>
  445. <select id="getReturnedPurchaseList" resultType="com.caimei365.order.model.vo.ReturnedPurchaseVo">
  446. SELECT id,
  447. returnedNo,
  448. orderID AS orderId,
  449. userID AS userId,
  450. status,
  451. returnedWay,
  452. payType,
  453. operatingOrderStatus,
  454. bankAccountName,
  455. bankAccountNo,
  456. openBank,
  457. bankAccountType,
  458. returnedPurchaseFee,
  459. refundFee,
  460. refundBalanceFee,
  461. refundOnlineFee,
  462. refundOfflineFee,
  463. image1,
  464. image2,
  465. image3,
  466. image4,
  467. image5,
  468. reviewImage1,
  469. reviewImage2,
  470. reviewImage3,
  471. reviewImage4,
  472. reviewImage5,
  473. remarks,
  474. reviewRemarks,
  475. applicationUserID AS applicationUserId,
  476. returnTime,
  477. reviewUserID AS reviewUserId,
  478. confirmReturnTime,
  479. delFlag
  480. FROM cm_returned_purchase
  481. WHERE orderID = #{orderId}
  482. AND STATUS = '2'
  483. ORDER BY confirmReturnTime DESC
  484. </select>
  485. <select id="getClauseById" resultType="com.caimei365.order.model.vo.ClauseVo">
  486. SELECT id,
  487. name,
  488. content,
  489. clauseType,
  490. enabledStatus
  491. FROM bp_clause
  492. where id = #{clauseId}
  493. </select>
  494. <select id="getBatchShopOrderIds" resultType="java.lang.String">
  495. SELECT shopOrderID
  496. FROM cm_logistics_record
  497. WHERE orderID = #{orderId}
  498. AND logisticsBatchID = #{id}
  499. </select>
  500. <select id="getOrderCodeById" resultType="com.caimei365.order.model.vo.OrderShareCodeVo">
  501. SELECT id,
  502. orderID AS orderId,
  503. shareCode,
  504. addTime,
  505. expiredTime,
  506. delFlag
  507. FROM cm_mall_order_share_code
  508. WHERE orderID = #{orderId}
  509. AND delFlag = '0'
  510. LIMIT 1
  511. </select>
  512. <select id="countShareCodeRecord" resultType="java.lang.Integer">
  513. SELECT COUNT(*)
  514. FROM cm_mall_share_code_record scr
  515. LEFT JOIN cm_mall_order_share_code osc ON scr.shareCodeId = osc.id
  516. WHERE scr.openid = #{openId}
  517. AND osc.orderID = #{orderId}
  518. AND scr.delFlag = '0'
  519. AND osc.expiredTime > NOW()
  520. </select>
  521. <select id="getOpenidListByPermission" resultType="java.lang.String">
  522. SELECT openid
  523. FROM `wechat_user`
  524. WHERE unionId = #{unionId}
  525. </select>
  526. <select id="getOpenidunionId" resultType="java.lang.String">
  527. SELECT DISTINCT cm.unionId
  528. FROM `cm_mall_operation_user` cm
  529. LEFT JOIN `user` u ON u.userID = cm.userID
  530. WHERE u.userID = #{userId}
  531. </select>
  532. <select id="getProductOrder" resultType="java.lang.Integer">
  533. SELECT productID
  534. FROM `cm_order_product`
  535. WHERE orderId = #{orderId}
  536. </select>
  537. <select id="getOrderIds" resultType="java.lang.String">
  538. SELECT DISTINCT p.name
  539. FROM product p
  540. LEFT JOIN cm_order_product cmp ON p.productID = cmp.productID
  541. LEFT JOIN `cm_order` cm ON cm.orderNo = cmp.orderNo
  542. WHERE cmp.orderId = #{orderId}
  543. </select>
  544. <select id="getpayTotalFee" resultType="java.lang.Double">
  545. SELECT payTotalFee
  546. FROM cm_order
  547. WHERE orderId = #{orderId}
  548. </select>
  549. <select id="getpayTime" resultType="java.lang.String">
  550. SELECT payTime
  551. FROM cm_order
  552. WHERE orderId = #{orderId}
  553. </select>
  554. <select id="getReceiptStatus" resultType="java.lang.Integer">
  555. SELECT receiptStatus
  556. FROM cm_order
  557. WHERE orderId = #{orderId}
  558. </select>
  559. <select id="getsecondHandOrderFlag" resultType="java.lang.Integer">
  560. SELECT secondHandOrderFlag
  561. FROM cm_order
  562. WHERE orderId = #{orderId}
  563. </select>
  564. <select id="getrebateFlag" resultType="java.lang.Integer">
  565. SELECT rebateFlag
  566. FROM cm_order
  567. WHERE orderId = #{orderId}
  568. </select>
  569. <select id="getOrderNo" resultType="java.lang.String">
  570. SELECT DISTINCT cm.orderNo
  571. FROM product p
  572. LEFT JOIN cm_order_product cmp ON p.productID = cmp.productID
  573. LEFT JOIN `cm_order` cm ON cm.orderNo = cmp.orderNo
  574. WHERE cmp.orderId = #{orderId}
  575. </select>
  576. <select id="getOrderMess" resultType="com.caimei365.order.model.vo.OrderVo">
  577. SELECT DISTINCT p.`name` AS proName,
  578. cm.payFlag AS payFlag,
  579. cm.onlinePayFlag AS onlinePayFlag,
  580. COUNT(p.name) AS proCount,
  581. u.`mobile` AS mobile,
  582. cm.orderNo AS orderNo
  583. FROM `cm_order` cm
  584. LEFT JOIN cm_order_product cmp ON cm.orderID = cmp.orderID
  585. LEFT JOIN product p ON p.productID = cmp.productID
  586. LEFT JOIN `user` u ON u.`userID` = cm.userId
  587. WHERE cm.orderId = #{orderId}
  588. </select>
  589. <select id="getcartNess" resultType="com.caimei365.order.model.vo.OrderVo">
  590. SELECT DISTINCT p.`name` AS proName,
  591. cm.payFlag AS payFlag,
  592. cm.onlinePayFlag AS onlinePayFlag,
  593. COUNT(p.name) AS proCount,
  594. u.`bindMobile` AS mobile,
  595. cm.orderNo AS orderNo
  596. FROM `cm_order` cm
  597. LEFT JOIN cm_order_product cmp ON cm.orderID = cmp.orderID
  598. LEFT JOIN product p ON p.productID = cmp.productID
  599. LEFT JOIN `user` u ON u.`userID` = cm.userId
  600. WHERE cm.userID = #{userID}
  601. </select>
  602. <select id="userIds" resultType="java.lang.Integer">
  603. SELECT DISTINCT userID
  604. FROM cm_cart
  605. WHERE YEAR(`addTime`) > YEAR(NOW()) - 3
  606. AND userID IS NOT NULL
  607. </select>
  608. <select id="getClubCouponById" resultType="com.caimei365.order.model.vo.CouponVo">
  609. SELECT a.id AS clubCouponId,
  610. cc.id AS couponId,
  611. cc.couponAmount,
  612. cc.touchPrice,
  613. cc.startDate,
  614. cc.endDate,
  615. cc.couponType,
  616. cc.userId,
  617. cc.shopId,
  618. cc.productType,
  619. cc.categoryType
  620. FROM cm_coupon_club a
  621. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  622. WHERE if(cc.moneyCouponFlag = 2, cc.delFlag = 0, cc.id > 0)
  623. AND a.delFlag = 0
  624. AND a.id = #{clubCouponId}
  625. AND a.status = 1
  626. AND if(cc.vipFlag = 1,
  627. NOW() BETWEEN cc.startDate AND cc.endDate,
  628. NOW() BETWEEN a.createDate AND date_add(a.createDate, interval cc.usePeriod day))
  629. AND cc.status != 2
  630. </select>
  631. <select id="getOrderCouponRecord" resultType="com.caimei365.order.model.po.CouponOrderRecordPo">
  632. SELECT id, orderId, clubCouponId, couponType, couponAmount, touchPrice, createDate
  633. FROM cm_coupon_order_record
  634. WHERE orderId = #{orderId}
  635. </select>
  636. <select id="getCouponClubById" resultType="com.caimei365.order.model.po.CouponClubPo">
  637. SELECT userId, couponId
  638. FROM cm_coupon_club
  639. WHERE id = #{clubCouponId}
  640. </select>
  641. <select id="getLatestOrderId" resultType="java.lang.Integer">
  642. SELECT orderID
  643. FROM cm_order
  644. WHERE userId = #{userId}
  645. ORDER BY orderID DESC
  646. limit 1
  647. </select>
  648. <select id="findUserId" resultType="java.lang.Integer">
  649. select userId
  650. from cm_order
  651. where orderID = #{orderId}
  652. </select>
  653. <select id="getUserId" resultType="java.lang.Integer">
  654. SELECT userID
  655. FROM `cm_order`
  656. WHERE orderID = #{orderId}
  657. </select>
  658. <update id="AddUnionId">
  659. UPDATE `cm_order`
  660. SET unionID=#{unionId}
  661. WHERE orderID = #{orderId}
  662. </update>
  663. <update id="updateCodeCoupon">
  664. update cm_coupon_redemption_code
  665. <set>
  666. <if test="clubCouponId != null">
  667. clubCouponId = #{clubCouponId},
  668. </if>
  669. <if test="status != null">
  670. status = #{status},
  671. </if>
  672. <if test="redemptionTime != null">
  673. redemptionTime = #{redemptionTime}
  674. </if>
  675. </set>
  676. where id = #{id}
  677. </update>
  678. <select id="FromUnionId" resultType="java.lang.String">
  679. SELECT unionID
  680. FROM `cm_order`
  681. WHERE orderID = #{orderId}
  682. </select>
  683. <insert id="addMessageCenter">
  684. INSERT INTO message_center (shopID, clubID, userType, messageType, content, time, orderMessageType, orderID,
  685. accountType)
  686. VALUES (#{shopID}, #{clubID}, #{userType}, #{messageType}, #{content}, #{time}, #{orderMessageType}, #{orderID},
  687. #{accountType})
  688. </insert>
  689. <select id="getVipHistoryCount" resultType="java.lang.Integer">
  690. SELECT count(1)
  691. FROM cm_svip_history
  692. WHERE userId = #{userId}
  693. </select>
  694. <select id="clubIdCule" resultType="java.lang.Integer">
  695. SELECT clubID
  696. FROM `user`
  697. WHERE userId = #{userId}
  698. </select>
  699. <select id="findCouponRemain" resultType="com.caimei365.order.model.po.CouponRecordPo">
  700. select id, couponId, clubCouponId, redemptionTime, status, redemptionCode
  701. from cm_coupon_redemption_code
  702. where couponId = #{couponId}
  703. </select>
  704. <select id="findUserName" resultType="com.caimei365.order.model.bo.OrderParamBo">
  705. select userName, bindMobile
  706. from user
  707. where userId = #{userId}
  708. </select>
  709. </mapper>