OrderClubMapper.xml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513
  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. orderID AS orderId,
  128. shopOrderIds,
  129. orderSource,
  130. orderNo,
  131. userID AS userId,
  132. clubID AS clubId,
  133. buyUserID AS buyUserId,
  134. orderTime AS orderTime,
  135. updateDate AS updateDate,
  136. delFlag,
  137. userBeans,
  138. orderType,
  139. orderSubmitType,
  140. confirmFlag,
  141. onlinePayFlag,
  142. splitFlag,
  143. payFlag,
  144. receiptStatus,
  145. payStatus,
  146. zeroCostFlag,
  147. sendOutStatus,
  148. refundType,
  149. affirmPaymentFlag,
  150. productCount,
  151. presentCount,
  152. promotionalGiftsCount,
  153. hasActProduct,
  154. promotionFullReduction,
  155. svipFullReduction,
  156. secondHandOrderFlag,
  157. invoiceFlag,
  158. freePostFlag AS postageFlag,
  159. freight AS postage,
  160. productTotalFee,
  161. orderTotalFee,
  162. payTotalFee,
  163. payableAmount,
  164. balancePayFee,
  165. discountFee,
  166. couponAmount,
  167. status,
  168. confirmTime,
  169. payTime,
  170. rebateFlag,
  171. clauseID AS clauseId,
  172. clauseName
  173. FROM cm_order
  174. WHERE orderID = #{orderId}
  175. </select>
  176. <select id="getOrderProductList" resultType="com.caimei365.order.model.po.OrderProductPo">
  177. SELECT
  178. cop.orderID AS orderId,
  179. cop.orderNo,
  180. cop.shopOrderID AS shopOrderId,
  181. cop.shopOrderNo,
  182. cop.orderPromotionsId,
  183. cop.productId,
  184. cop.shopID AS shopId,
  185. cop.name,
  186. cop.productImage AS image,
  187. cop.price,
  188. cop.shopName,
  189. cop.costPrice,
  190. cop.normalPrice,
  191. cop.ladderPriceFlag,
  192. cop.discountPrice,
  193. cop.discount,
  194. cop.totalAmount,
  195. cop.totalFee,
  196. cop.shouldPayFee,
  197. cop.productUnit,
  198. cop.num,
  199. IFNULL(cop.presentNum,0) AS presentNum,
  200. cop.discountFee,
  201. cop.includedTax,
  202. cop.invoiceType,
  203. cop.taxRate,
  204. cop.addedValueTax,
  205. cop.totalAddedValueTax,
  206. cop.singleShouldPayTotalTax,
  207. cop.shouldPayTotalTax,
  208. cop.shopProductAmount,
  209. cop.singleShopFee,
  210. cop.shopFee,
  211. cop.singleOtherFee,
  212. cop.otherFee,
  213. cop.singleCmFee,
  214. cop.cmFee,
  215. cop.payStatus,
  216. cop.buyAgainFlag,
  217. cop.notOutStore,
  218. cop.isActProduct AS actProduct,
  219. p.productCategory AS productCategory
  220. FROM cm_order_product cop
  221. LEFT JOIN product p ON p.productID = cop.productID
  222. WHERE cop.orderID = #{orderID}
  223. </select>
  224. <select id="getOrderReceiptIds" resultType="java.lang.String">
  225. SELECT c.id
  226. FROM cm_discern_receipt c
  227. LEFT JOIN cm_receipt_order_relation r ON r.receiptID = c.id
  228. WHERE r.orderID = #{orderID}
  229. AND r.relationType = '2'
  230. AND r.delFlag = '0'
  231. AND c.delFlag = '0'
  232. AND c.receiptStatus = '3'
  233. AND c.payType != '16'
  234. </select>
  235. <select id="getPayShopIds" resultType="java.lang.String">
  236. SELECT payShopID FROM cm_pay_shop_record
  237. WHERE delFlag = 0
  238. AND shopOrderID IN
  239. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  240. #{shopOrderId}
  241. </foreach>
  242. </select>
  243. <select id="getOrderCount" resultType="java.lang.Integer">
  244. SELECT COUNT(*) FROM cm_order
  245. WHERE delFlag = 0 AND userID = #{userId}
  246. <if test="orderState == 1 ">
  247. AND status = '0'
  248. </if>
  249. <if test="orderState == 2 ">
  250. AND status IN(11,12,13,21,22,23)
  251. </if>
  252. <if test="orderState == 3 ">
  253. AND status IN(11,12,21,22,31,32)
  254. </if>
  255. <if test="orderState == 4 ">
  256. AND status IN(12,13,22,23,32,33)
  257. </if>
  258. <if test="orderState == 5 ">
  259. AND refundType IN(1,2)
  260. </if>
  261. </select>
  262. <select id="getOrderList" resultType="com.caimei365.order.model.vo.OrderVo">
  263. SELECT
  264. orderID AS orderId,
  265. shopOrderIds,
  266. orderSource,
  267. orderNo,
  268. userID AS userId,
  269. clubID AS clubId,
  270. buyUserID AS buyUserId,
  271. orderTime,
  272. updateDate,
  273. delFlag,
  274. userBeans,
  275. orderType,
  276. orderSubmitType,
  277. confirmFlag,
  278. onlinePayFlag,
  279. splitFlag,
  280. payFlag,
  281. receiptStatus,
  282. payStatus,
  283. zeroCostFlag,
  284. sendOutStatus,
  285. refundType,
  286. affirmPaymentFlag,
  287. productCount,
  288. presentCount,
  289. promotionalGiftsCount,
  290. hasActProduct,
  291. promotionFullReduction,
  292. secondHandOrderFlag,
  293. invoiceFlag,
  294. freePostFlag AS postageFlag,
  295. freight AS postage,
  296. productTotalFee,
  297. orderTotalFee,
  298. payTotalFee,
  299. payableAmount,
  300. balancePayFee,
  301. discountFee,
  302. couponAmount,
  303. status,
  304. confirmTime,
  305. payTime,
  306. rebateFlag,
  307. clauseID AS clauseId,
  308. clauseName
  309. FROM cm_order
  310. WHERE delFlag = 0 AND userID = #{userId}
  311. <if test="orderState == 1 ">
  312. AND status = '0'
  313. </if>
  314. <if test="orderState == 2 ">
  315. AND status IN(11,12,13,21,22,23)
  316. </if>
  317. <if test="orderState == 3 ">
  318. AND status IN(11,12,21,22,31,32)
  319. </if>
  320. <if test="orderState == 4 ">
  321. AND status IN(12,13,22,23,32,33)
  322. </if>
  323. <if test="orderState == 5 ">
  324. AND refundType IN(1,2)
  325. </if>
  326. <if test="orderNo != null and orderNo != '' ">
  327. AND orderNo = #{orderNo}
  328. </if>
  329. <if test="beginTime != null and beginTime != '' ">
  330. AND orderTime <![CDATA[>=]]> #{beginTime}
  331. </if>
  332. <if test="endTime != null and endTime != '' ">
  333. AND orderTime <![CDATA[<=]]> #{endTime}
  334. </if>
  335. and orderSeen != '2'
  336. ORDER BY orderTime DESC
  337. </select>
  338. <select id="getOrderListByKeyword" resultType="com.caimei365.order.model.vo.OrderVo">
  339. SELECT DISTINCT
  340. co.orderID AS orderId,
  341. shopOrderIds,
  342. co.orderSource,
  343. co.orderNo,
  344. co.userID AS userId,
  345. co.clubID AS clubId,
  346. co.buyUserID AS buyUserId,
  347. co.orderTime,
  348. co.updateDate,
  349. co.delFlag,
  350. co.userBeans,
  351. co.orderType,
  352. co.orderSubmitType,
  353. co.confirmFlag,
  354. co.onlinePayFlag,
  355. co.splitFlag,
  356. co.payFlag,
  357. co.receiptStatus,
  358. co.payStatus,
  359. co.zeroCostFlag,
  360. co.sendOutStatus,
  361. co.refundType,
  362. co.affirmPaymentFlag,
  363. co.productCount,
  364. co.presentCount,
  365. co.promotionalGiftsCount,
  366. co.hasActProduct,
  367. co.promotionFullReduction,
  368. co.secondHandOrderFlag,
  369. co.invoiceFlag,
  370. co.freePostFlag AS postageFlag,
  371. co.freight AS postage,
  372. co.productTotalFee,
  373. co.orderTotalFee,
  374. co.payTotalFee,
  375. co.payableAmount,
  376. co.balancePayFee,
  377. co.discountFee,
  378. co.couponAmount,
  379. co.status,
  380. co.confirmTime,
  381. co.payTime,
  382. co.rebateFlag,
  383. co.clauseID AS clauseId,
  384. co.clauseName
  385. FROM cm_order co
  386. LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
  387. WHERE co.delFlag = 0 AND co.userID = #{userId}
  388. AND cop.name LIKE CONCAT('%',#{searchWord},'%')
  389. and co.orderSeen != '2'
  390. GROUP BY co.orderID, co.orderTime
  391. ORDER BY co.orderTime DESC
  392. </select>
  393. <select id="getOrderSearchHistory" resultType="com.caimei365.order.model.vo.SearchHistoryVo">
  394. SELECT id, userId, searchWord, searchDate, delFlag
  395. FROM user_order_history
  396. WHERE userId = #{userId}
  397. ORDER BY id DESC
  398. </select>
  399. <select id="getReturnedPurchaseList" resultType="com.caimei365.order.model.vo.ReturnedPurchaseVo">
  400. SELECT
  401. id,
  402. returnedNo,
  403. orderID AS orderId,
  404. userID AS userId,
  405. status,
  406. returnedWay,
  407. payType,
  408. operatingOrderStatus,
  409. returnedBankInfo,
  410. bankAccountName,
  411. bankAccountNo,
  412. openBank,
  413. bankAccountType,
  414. returnedPurchaseFee,
  415. refundFee,
  416. refundBalanceFee,
  417. refundOnlineFee,
  418. refundOfflineFee,
  419. image1,
  420. image2,
  421. image3,
  422. image4,
  423. image5,
  424. reviewImage1,
  425. reviewImage2,
  426. reviewImage3,
  427. reviewImage4,
  428. reviewImage5,
  429. remarks,
  430. reviewRemarks,
  431. applicationUserID AS applicationUserId,
  432. returnTime,
  433. reviewUserID AS reviewUserId,
  434. confirmReturnTime,
  435. delFlag
  436. FROM cm_returned_purchase
  437. WHERE orderID = #{orderId} AND STATUS = '2'
  438. ORDER BY confirmReturnTime DESC
  439. </select>
  440. <select id="getClauseById" resultType="com.caimei365.order.model.vo.ClauseVo">
  441. SELECT
  442. id,
  443. name,
  444. content,
  445. clauseType,
  446. enabledStatus
  447. FROM bp_clause
  448. where id = #{clauseId}
  449. </select>
  450. <select id="getBatchShopOrderIds" resultType="java.lang.String">
  451. SELECT shopOrderID
  452. FROM cm_logistics_record
  453. WHERE orderID = #{orderId}
  454. AND logisticsBatchID = #{id}
  455. </select>
  456. <select id="getOrderCodeById" resultType="com.caimei365.order.model.vo.OrderShareCodeVo">
  457. SELECT
  458. id,
  459. orderID AS orderId,
  460. shareCode,
  461. addTime,
  462. expiredTime,
  463. delFlag
  464. FROM cm_mall_order_share_code
  465. WHERE orderID = #{orderId} AND delFlag = '0'
  466. LIMIT 1
  467. </select>
  468. <select id="countShareCodeRecord" resultType="java.lang.Integer">
  469. SELECT COUNT(*)
  470. FROM cm_mall_share_code_record scr
  471. LEFT JOIN cm_mall_order_share_code osc ON scr.shareCodeId = osc.id
  472. WHERE scr.openid = #{openId} AND osc.orderID = #{orderId}
  473. AND scr.delFlag = '0' AND osc.expiredTime > NOW()
  474. </select>
  475. <select id="getClubCouponById" resultType="com.caimei365.order.model.vo.CouponVo">
  476. SELECT
  477. a.id AS clubCouponId,
  478. cc.id AS couponId,
  479. cc.couponAmount,
  480. cc.touchPrice,
  481. cc.startDate,
  482. cc.endDate,
  483. cc.couponType,
  484. cc.userId,
  485. cc.shopId,
  486. cc.productType,
  487. cc.categoryType
  488. FROM cm_coupon_club a
  489. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  490. WHERE cc.delFlag = 0
  491. AND a.delFlag = 0
  492. AND a.id = #{clubCouponId}
  493. AND a.status = 1
  494. AND NOW() BETWEEN cc.startDate
  495. AND cc.endDate
  496. AND cc.status != 2
  497. </select>
  498. <select id="getOrderCouponRecord" resultType="com.caimei365.order.model.po.CouponOrderRecordPo">
  499. SELECT id, orderId, clubCouponId, couponType, couponAmount, touchPrice, createDate
  500. FROM cm_coupon_order_record
  501. WHERE orderId = #{orderId}
  502. </select>
  503. <select id="getCouponClubById" resultType="com.caimei365.order.model.po.CouponClubPo">
  504. SELECT userId,couponId
  505. FROM cm_coupon_club
  506. WHERE id = #{clubCouponId}
  507. </select>
  508. <select id="getLatestOrderId" resultType="java.lang.Integer">
  509. SELECT orderID FROM cm_order
  510. WHERE userId = #{userId}
  511. ORDER BY orderID DESC limit 1
  512. </select>
  513. </mapper>