OrderClubMapper.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  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="getOrderList" resultType="com.caimei365.order.model.vo.OrderVo">
  244. SELECT
  245. orderID AS orderId,
  246. shopOrderIds,
  247. orderSource,
  248. orderNo,
  249. userID AS userId,
  250. clubID AS clubId,
  251. buyUserID AS buyUserId,
  252. orderTime,
  253. updateDate,
  254. delFlag,
  255. userBeans,
  256. orderType,
  257. orderSubmitType,
  258. confirmFlag,
  259. onlinePayFlag,
  260. splitFlag,
  261. payFlag,
  262. receiptStatus,
  263. payStatus,
  264. zeroCostFlag,
  265. sendOutStatus,
  266. refundType,
  267. affirmPaymentFlag,
  268. productCount,
  269. presentCount,
  270. promotionalGiftsCount,
  271. hasActProduct,
  272. promotionFullReduction,
  273. secondHandOrderFlag,
  274. invoiceFlag,
  275. freePostFlag AS postageFlag,
  276. freight AS postage,
  277. productTotalFee,
  278. orderTotalFee,
  279. payTotalFee,
  280. payableAmount,
  281. balancePayFee,
  282. discountFee,
  283. couponAmount,
  284. status,
  285. confirmTime,
  286. payTime,
  287. rebateFlag,
  288. clauseID AS clauseId,
  289. clauseName
  290. FROM cm_order
  291. WHERE delFlag = 0 AND userID = #{userId}
  292. <if test="orderState == 1 ">
  293. AND status = '0'
  294. </if>
  295. <if test="orderState == 2 ">
  296. AND status IN(11,12,13,21,22,23)
  297. </if>
  298. <if test="orderState == 3 ">
  299. AND status IN(11,12,21,22,31,32)
  300. </if>
  301. <if test="orderState == 4 ">
  302. AND status IN(12,13,22,23,32,33)
  303. </if>
  304. <if test="orderState == 5 ">
  305. AND refundType IN(1,2)
  306. </if>
  307. <if test="orderNo != null and orderNo != '' ">
  308. AND orderNo = #{orderNo}
  309. </if>
  310. <if test="beginTime != null and beginTime != '' ">
  311. AND orderTime <![CDATA[>=]]> #{beginTime}
  312. </if>
  313. <if test="endTime != null and endTime != '' ">
  314. AND orderTime <![CDATA[<=]]> #{endTime}
  315. </if>
  316. ORDER BY orderTime DESC
  317. </select>
  318. <select id="getOrderListByKeyword" resultType="com.caimei365.order.model.vo.OrderVo">
  319. SELECT DISTINCT
  320. co.orderID AS orderId,
  321. shopOrderIds,
  322. co.orderSource,
  323. co.orderNo,
  324. co.userID AS userId,
  325. co.clubID AS clubId,
  326. co.buyUserID AS buyUserId,
  327. co.orderTime,
  328. co.updateDate,
  329. co.delFlag,
  330. co.userBeans,
  331. co.orderType,
  332. co.orderSubmitType,
  333. co.confirmFlag,
  334. co.onlinePayFlag,
  335. co.splitFlag,
  336. co.payFlag,
  337. co.receiptStatus,
  338. co.payStatus,
  339. co.zeroCostFlag,
  340. co.sendOutStatus,
  341. co.refundType,
  342. co.affirmPaymentFlag,
  343. co.productCount,
  344. co.presentCount,
  345. co.promotionalGiftsCount,
  346. co.hasActProduct,
  347. co.promotionFullReduction,
  348. co.secondHandOrderFlag,
  349. co.invoiceFlag,
  350. co.freePostFlag AS postageFlag,
  351. co.freight AS postage,
  352. co.productTotalFee,
  353. co.orderTotalFee,
  354. co.payTotalFee,
  355. co.payableAmount,
  356. co.balancePayFee,
  357. co.discountFee,
  358. co.couponAmount,
  359. co.status,
  360. co.confirmTime,
  361. co.payTime,
  362. co.rebateFlag,
  363. co.clauseID AS clauseId,
  364. co.clauseName
  365. FROM cm_order co
  366. LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
  367. WHERE co.delFlag = 0 AND co.userID = #{userId}
  368. AND cop.name LIKE CONCAT('%',#{searchWord},'%')
  369. GROUP BY co.orderID, co.orderTime
  370. ORDER BY co.orderTime DESC
  371. </select>
  372. <select id="getOrderSearchHistory" resultType="com.caimei365.order.model.vo.SearchHistoryVo">
  373. SELECT id, userId, searchWord, searchDate, delFlag
  374. FROM user_order_history
  375. WHERE userId = #{userId}
  376. ORDER BY id DESC
  377. </select>
  378. <select id="getReturnedPurchaseList" resultType="com.caimei365.order.model.vo.ReturnedPurchaseVo">
  379. SELECT
  380. id,
  381. returnedNo,
  382. orderID AS orderId,
  383. userID AS userId,
  384. status,
  385. returnedWay,
  386. payType,
  387. operatingOrderStatus,
  388. returnedBankInfo,
  389. bankAccountName,
  390. bankAccountNo,
  391. openBank,
  392. bankAccountType,
  393. returnedPurchaseFee,
  394. refundFee,
  395. refundBalanceFee,
  396. refundOnlineFee,
  397. refundOfflineFee,
  398. image1,
  399. image2,
  400. image3,
  401. image4,
  402. image5,
  403. reviewImage1,
  404. reviewImage2,
  405. reviewImage3,
  406. reviewImage4,
  407. reviewImage5,
  408. remarks,
  409. reviewRemarks,
  410. applicationUserID AS applicationUserId,
  411. returnTime,
  412. reviewUserID AS reviewUserId,
  413. confirmReturnTime,
  414. delFlag
  415. FROM cm_returned_purchase
  416. WHERE orderID = #{orderId} AND STATUS = '2'
  417. ORDER BY confirmReturnTime DESC
  418. </select>
  419. <select id="getClauseById" resultType="com.caimei365.order.model.vo.ClauseVo">
  420. SELECT
  421. id,
  422. name,
  423. content,
  424. clauseType,
  425. enabledStatus
  426. FROM bp_clause
  427. where id = #{clauseId}
  428. </select>
  429. <select id="getBatchShopOrderIds" resultType="java.lang.String">
  430. SELECT shopOrderID
  431. FROM cm_logistics_record
  432. WHERE orderID = #{orderId}
  433. AND logisticsBatchID = #{id}
  434. </select>
  435. <select id="getOrderCodeById" resultType="com.caimei365.order.model.vo.OrderShareCodeVo">
  436. SELECT
  437. id,
  438. orderID AS orderId,
  439. shareCode,
  440. addTime,
  441. expiredTime,
  442. delFlag
  443. FROM cm_mall_order_share_code
  444. WHERE orderID = #{orderId} AND delFlag = '0'
  445. LIMIT 1
  446. </select>
  447. <select id="countShareCodeRecord" resultType="java.lang.Integer">
  448. SELECT COUNT(*)
  449. FROM cm_mall_share_code_record scr
  450. LEFT JOIN cm_mall_order_share_code osc ON scr.shareCodeId = osc.id
  451. WHERE scr.openid = #{openId} AND osc.orderID = #{orderId}
  452. AND scr.delFlag = '0' AND osc.expiredTime > NOW()
  453. </select>
  454. <select id="getClubCouponById" resultType="com.caimei365.order.model.vo.CouponVo">
  455. SELECT
  456. a.id AS clubCouponId,
  457. cc.id AS couponId,
  458. cc.couponAmount,
  459. cc.touchPrice,
  460. cc.startDate,
  461. cc.endDate,
  462. cc.couponType,
  463. cc.userId,
  464. cc.shopId,
  465. cc.productType,
  466. cc.categoryType
  467. FROM cm_coupon_club a
  468. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  469. WHERE cc.delFlag = 0
  470. AND a.delFlag = 0
  471. AND a.id = #{clubCouponId}
  472. AND a.status = 1
  473. AND NOW() BETWEEN cc.startDate
  474. AND cc.endDate
  475. AND cc.status != 2
  476. </select>
  477. <select id="getOrderCouponRecord" resultType="com.caimei365.order.model.po.CouponOrderRecordPo">
  478. SELECT id, orderId, clubCouponId, couponType, couponAmount, touchPrice, createDate
  479. FROM cm_coupon_order_record
  480. WHERE orderId = #{orderId}
  481. </select>
  482. <select id="getCouponClubById" resultType="com.caimei365.order.model.po.CouponClubPo">
  483. SELECT userId,couponId
  484. FROM cm_coupon_club
  485. WHERE id = #{clubCouponId}
  486. </select>
  487. </mapper>