OrderClubMapper.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  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. ,updateDate = #{updateDate}
  32. WHERE orderID = #{orderId}
  33. </update>
  34. <update id="cancelBalanceRecord">
  35. UPDATE cm_user_balance_record SET
  36. remark = #{remark},
  37. delFlag = #{delFlag}
  38. WHERE userId = #{userId} AND orderId = #{orderId}
  39. </update>
  40. <update id="cancelMainOrder">
  41. UPDATE cm_order SET
  42. status = #{status},
  43. closeReason = #{closeReason},
  44. closeTime = #{closeTime}
  45. WHERE orderID = #{orderId}
  46. </update>
  47. <update id="deleteMainOrder">
  48. UPDATE cm_order SET
  49. status = #{status},
  50. note = #{note}
  51. WHERE orderID = #{orderId}
  52. </update>
  53. <update id="deleteShopOrder">
  54. UPDATE cm_shop_order SET delFlag=1
  55. WHERE shopOrderID IN
  56. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  57. #{shopOrderId}
  58. </foreach>
  59. </update>
  60. <update id="deleteOrderReceiptRelation">
  61. UPDATE cm_receipt_order_relation SET delFlag=1
  62. WHERE orderID = #{orderId}
  63. </update>
  64. <update id="deleteDiscernReceipt">
  65. UPDATE cm_discern_receipt SET delFlag=1
  66. WHERE id IN
  67. <foreach collection="receiptIds" open="(" separator="," close=")" item="receiptId">
  68. #{receiptId}
  69. </foreach>
  70. </update>
  71. <update id="deletePayShopRecord">
  72. UPDATE cm_pay_shop_record SET delFlag = 1
  73. WHERE shopOrderID IN
  74. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  75. #{shopOrderId}
  76. </foreach>
  77. </update>
  78. <update id="deletePayShop">
  79. UPDATE cm_pay_shop SET delFlag = 1
  80. WHERE id = IN
  81. <foreach collection="payIds" open="(" separator="," close=")" item="payId">
  82. #{payId}
  83. </foreach>
  84. </update>
  85. <update id="updateLogisticsBatch">
  86. UPDATE cm_logistics_batch
  87. SET status = 1, updateDate = NOW(), receiptTime = NOW()
  88. WHERE orderID = #{orderId}
  89. </update>
  90. <update id="updateSearchHistory">
  91. UPDATE user_order_history SET
  92. userId = #{userId},
  93. searchWord = #{searchWord},
  94. searchDate = #{searchDate},
  95. delFlag = #{delFlag}
  96. WHERE id = #{id}
  97. </update>
  98. <delete id="deleteSearchHistoryLimit">
  99. DELETE FROM user_order_history
  100. WHERE userId=#{userId}
  101. AND id NOT IN (
  102. SELECT temp.id FROM (SELECT id FROM user_order_history WHERE userId=#{userId} ORDER BY id DESC LIMIT 10) AS temp
  103. )
  104. </delete>
  105. <insert id="insertSearchHistory">
  106. INSERT INTO user_order_history (userId, searchWord, searchDate, delFlag)
  107. VALUES (#{userId}, #{searchWord}, #{searchDate}, #{delFlag})
  108. </insert>
  109. <select id="getMainOrderByOrderId" resultType="com.caimei365.order.model.po.OrderPo">
  110. SELECT
  111. orderSource,
  112. orderNo,
  113. userID AS userId,
  114. clubID AS clubId,
  115. buyUserID AS buyUserId,
  116. orderTime AS orderTime,
  117. updateDate AS updateDate,
  118. delFlag,
  119. userBeans,
  120. orderType,
  121. orderSubmitType,
  122. confirmFlag,
  123. onlinePayFlag,
  124. splitFlag,
  125. payFlag,
  126. receiptStatus,
  127. payStatus,
  128. zeroCostFlag,
  129. sendOutStatus,
  130. refundType,
  131. affirmPaymentFlag,
  132. productCount,
  133. presentCount,
  134. promotionalGiftsCount,
  135. hasActProduct,
  136. promotionFullReduction,
  137. secondHandOrderFlag,
  138. invoiceFlag,
  139. freePostFlag AS postageFlag,
  140. freight AS postage,
  141. productTotalFee,
  142. orderTotalFee,
  143. payTotalFee,
  144. payableAmount,
  145. balancePayFee,
  146. status,
  147. confirmTime,
  148. payTime,
  149. rebateFlag,
  150. clauseID AS clauseId,
  151. clauseName
  152. FROM cm_order
  153. WHERE orderID = #{orderId}
  154. </select>
  155. <select id="getOrderProductList" resultType="com.caimei365.order.model.po.OrderProductPo">
  156. SELECT
  157. cop.orderID AS orderId,
  158. cop.orderNo,
  159. cop.shopOrderID AS shopOrderId,
  160. cop.shopOrderNo,
  161. cop.orderPromotionsId,
  162. cop.productId,
  163. cop.shopId,
  164. cop.name,
  165. cop.image,
  166. cop.price1 AS price,
  167. cop.shopName,
  168. cop.costPrice,
  169. cop.normalPrice,
  170. cop.ladderPriceFlag,
  171. cop.discountPrice,
  172. cop.discount,
  173. cop.totalAmount,
  174. cop.totalFee,
  175. cop.shouldPayFee,
  176. cop.productUnit,
  177. cop.num,
  178. cop.presentNum,
  179. cop.discountFee,
  180. cop.includedTax,
  181. cop.invoiceType,
  182. cop.taxRate,
  183. cop.addedValueTax,
  184. cop.totalAddedValueTax,
  185. cop.singleShouldPayTotalTax,
  186. cop.shouldPayTotalTax,
  187. cop.shopProductAmount,
  188. cop.singleShopFee,
  189. cop.shopFee,
  190. cop.singleOtherFee,
  191. cop.otherFee,
  192. cop.singleCmFee,
  193. cop.cmFee,
  194. cop.payStatus,
  195. cop.buyAgainFlag,
  196. cop.notOutStore,
  197. cop.isActProduct AS actProduct,
  198. p.productCategory AS productCategory
  199. FROM cm_order_product cop
  200. LEFT JOIN product p ON p.productID = cop.productID
  201. WHERE cop.orderID = #{orderID}
  202. </select>
  203. <select id="getOrderReceiptIds" resultType="java.lang.String">
  204. SELECT c.id
  205. FROM cm_discern_receipt c
  206. LEFT JOIN cm_receipt_order_relation r ON r.receiptID = c.id
  207. WHERE r.orderID = #{orderID}
  208. AND r.relationType = '2'
  209. AND r.delFlag = '0'
  210. AND c.delFlag = '0'
  211. AND c.receiptStatus = '3'
  212. AND c.payType != '16'
  213. </select>
  214. <select id="getPayShopIds" resultType="java.lang.String">
  215. SELECT payShopID FROM cm_pay_shop_record
  216. WHERE delFlag = 0
  217. AND shopOrderID IN
  218. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  219. #{shopOrderId}
  220. </foreach>
  221. </select>
  222. <select id="getOrderList" resultType="com.caimei365.order.model.vo.OrderVo">
  223. SELECT
  224. orderSource,
  225. orderNo,
  226. userID AS userId,
  227. clubID AS clubId,
  228. buyUserID AS buyUserId,
  229. orderTime,
  230. updateDate,
  231. delFlag,
  232. userBeans,
  233. orderType,
  234. orderSubmitType,
  235. confirmFlag,
  236. onlinePayFlag,
  237. splitFlag,
  238. payFlag,
  239. receiptStatus,
  240. payStatus,
  241. zeroCostFlag,
  242. sendOutStatus,
  243. refundType,
  244. affirmPaymentFlag,
  245. productCount,
  246. presentCount,
  247. promotionalGiftsCount,
  248. hasActProduct,
  249. promotionFullReduction,
  250. secondHandOrderFlag,
  251. invoiceFlag,
  252. freePostFlag AS postageFlag,
  253. freight AS postage,
  254. productTotalFee,
  255. orderTotalFee,
  256. payTotalFee,
  257. payableAmount,
  258. balancePayFee,
  259. status,
  260. confirmTime,
  261. payTime,
  262. rebateFlag,
  263. clauseID AS clauseId,
  264. clauseName
  265. FROM cm_order
  266. WHERE delFlag = 0 AND userID = #{userId}
  267. <if test="orderState == 1 ">
  268. AND status = '0'
  269. </if>
  270. <if test="orderState == 2 ">
  271. AND status IN(11,12,13,21,22,23)
  272. </if>
  273. <if test="orderState == 3 ">
  274. AND status IN(11,12,21,22,31,32)
  275. </if>
  276. <if test="orderState == 4 ">
  277. AND status IN(12,13,22,23,32,33)
  278. </if>
  279. <if test="orderState == 5 ">
  280. AND refundType IN(1,2)
  281. </if>
  282. <if test="orderNo != null and orderNo != '' ">
  283. AND orderNo = #{orderNo}
  284. </if>
  285. <if test="beginTime != null and beginTime != '' ">
  286. AND orderTime <![CDATA[>=]]> #{beginTime}
  287. </if>
  288. <if test="endTime != null and endTime != '' ">
  289. AND orderTime <![CDATA[<=]]> #{endTime}
  290. </if>
  291. ORDER BY orderTime DESC
  292. </select>
  293. <select id="getOrderListByKeyword" resultType="com.caimei365.order.model.vo.OrderVo">
  294. SELECT
  295. co.orderSource,
  296. co.orderNo,
  297. co.userID AS userId,
  298. co.clubID AS clubId,
  299. co.buyUserID AS buyUserId,
  300. co.orderTime,
  301. co.updateDate,
  302. co.delFlag,
  303. co.userBeans,
  304. co.orderType,
  305. co.orderSubmitType,
  306. co.confirmFlag,
  307. co.onlinePayFlag,
  308. co.splitFlag,
  309. co.payFlag,
  310. co.receiptStatus,
  311. co.payStatus,
  312. co.zeroCostFlag,
  313. co.sendOutStatus,
  314. co.refundType,
  315. co.affirmPaymentFlag,
  316. co.productCount,
  317. co.presentCount,
  318. co.promotionalGiftsCount,
  319. co.hasActProduct,
  320. co.promotionFullReduction,
  321. co.secondHandOrderFlag,
  322. co.invoiceFlag,
  323. co.freePostFlag AS postageFlag,
  324. co.freight AS postage,
  325. co.productTotalFee,
  326. co.orderTotalFee,
  327. co.payTotalFee,
  328. co.payableAmount,
  329. co.balancePayFee,
  330. co.status,
  331. co.confirmTime,
  332. co.payTime,
  333. co.rebateFlag,
  334. co.clauseID AS clauseId,
  335. co.clauseName
  336. FROM cm_order co
  337. LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
  338. WHERE delFlag = 0 AND userID = #{userId}
  339. AND cop.name LIKE CONCAT('%',#{searchWord},'%')
  340. GROUP BY co.orderID
  341. ORDER BY co.orderTime DESC
  342. </select>
  343. <select id="countLogisticsBatch" resultType="java.lang.Integer">
  344. SELECT COUNT(*) FROM cm_logistics_batch WHERE orderID= #{orderId}
  345. </select>
  346. <select id="getShopOrderList" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  347. SELECT
  348. cso.shopOrderNo,
  349. cso.orderID AS orderId,
  350. cso.orderNo,
  351. cso.shopID AS shopId,
  352. cso.shopName,
  353. cso.note,
  354. cso.userID AS userId,
  355. cso.clubID AS clubId,
  356. cso.spID AS spId,
  357. cso.orderPromotionsId,
  358. cso.promotionFullReduction,
  359. cso.brokerage,
  360. cso.canRefundAmount,
  361. cso.itemCount,
  362. cso.totalAmount,
  363. cso.productAmount,
  364. cso.needPayAmount,
  365. cso.shopProductAmount,
  366. cso.shopPostFee,
  367. cso.shopTaxFee,
  368. cso.shouldPayShopAmount,
  369. cso.orderTime,
  370. cso.orderSubmitType,
  371. cso.splitFlag,
  372. s.name AS shopName,
  373. s.logo AS shopLogo
  374. FROM cm_shop_order cso
  375. LEFT JOIN shop s ON cso.shopID = s.shopID
  376. WHERE cso.delFlag = 0
  377. AND cso.shopOrderID IN
  378. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  379. #{shopOrderId}
  380. </foreach>
  381. </select>
  382. <select id="getOrderPromotionsById" resultType="com.caimei365.order.model.vo.PromotionsVo">
  383. SELECT
  384. id,
  385. name,
  386. description,
  387. orderId,
  388. type,
  389. mode,
  390. touchPrice,
  391. reducedPrice,
  392. beginTime,
  393. endTime,
  394. status
  395. FROM cm_promotions_order
  396. WHERE id = #{orderPromotionsId}
  397. </select>
  398. <select id="getShopOrderProduct" resultType="com.caimei365.order.model.vo.OrderProductVo">
  399. SELECT
  400. cop.orderID AS orderId,
  401. cop.orderNo,
  402. cop.shopOrderID AS shopOrderId,
  403. cop.shopOrderNo,
  404. cop.orderPromotionsId,
  405. cop.productId,
  406. cop.shopId,
  407. cop.name,
  408. cop.image,
  409. cop.price1 AS price,
  410. cop.shopName,
  411. cop.costPrice,
  412. cop.normalPrice,
  413. cop.ladderPriceFlag,
  414. cop.discountPrice,
  415. cop.discount,
  416. cop.totalAmount,
  417. cop.totalFee,
  418. cop.shouldPayFee,
  419. cop.productUnit,
  420. cop.num,
  421. cop.presentNum,
  422. cop.discountFee,
  423. cop.includedTax,
  424. cop.invoiceType,
  425. cop.taxRate,
  426. cop.addedValueTax,
  427. cop.totalAddedValueTax,
  428. cop.singleShouldPayTotalTax,
  429. cop.shouldPayTotalTax,
  430. cop.shopProductAmount,
  431. cop.singleShopFee,
  432. cop.shopFee,
  433. cop.singleOtherFee,
  434. cop.otherFee,
  435. cop.singleCmFee,
  436. cop.cmFee,
  437. cop.payStatus,
  438. cop.buyAgainFlag,
  439. cop.notOutStore,
  440. cop.isActProduct AS actProduct,
  441. p.productCategory as productCategory
  442. FROM cm_order_product cop
  443. LEFT JOIN product p ON cop.productID = p.productID
  444. WHERE shopOrderID = #{shopOrderId}
  445. </select>
  446. <select id="getDiscernReceipt" resultType="com.caimei365.order.model.vo.DiscernReceiptVo">
  447. SELECT
  448. cdr.payWay,
  449. cdr.payType,
  450. cdr.receiptType,
  451. cdr.receiptStatus,
  452. cdr.receiptAmount,
  453. cdr.confirmType,
  454. cdr.receiptDate,
  455. cdr.confirmDate,
  456. cdr.reviewDate,
  457. cdr.updateDate,
  458. cdr.delFlag,
  459. cror.associateAmount
  460. FROM cm_receipt_order_relation cror
  461. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  462. WHERE cror.orderID = #{orderId}
  463. AND cror.relationType = '2' AND cror.delFlag = '0'
  464. AND cdr.delFlag = '0' AND cdr.receiptStatus = '3' AND cdr.payType != '16'
  465. ORDER BY cdr.receiptDate DESC
  466. </select>
  467. <select id="getRebateAmountByShopOrder" resultType="java.lang.Double">
  468. SELECT
  469. receiptAmount
  470. FROM cm_receipt_order_relation cror
  471. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  472. WHERE cror.delFlag = '0'
  473. AND cror.orderID = #{shopOrderId}
  474. AND cror.relationType = 1
  475. AND cdr.receiptStatus= '2'
  476. </select>
  477. <select id="countOfflinePayment" resultType="java.lang.Integer">
  478. SELECT count(*)
  479. FROM cm_receipt_order_relation cror
  480. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  481. WHERE cror.orderID = #{orderId}
  482. AND cror.relationType = '2' AND cror.delFlag = '0'
  483. AND cdr.delFlag = '0' AND cdr.receiptStatus IN(2,3) AND cdr.payWay = '2'
  484. </select>
  485. <select id="getShouldPayShopAmountList" resultType="java.lang.Double">
  486. SELECT shouldPayShopAmount FROM cm_shop_order WHERE orderID = #{orderId} AND delFlag = '0'
  487. </select>
  488. <select id="getSearchHistoryIdByWord" resultType="java.lang.Integer">
  489. SELECT id FROM user_order_history
  490. WHERE searchWord = #{searchWord}
  491. ORDER BY id DESC
  492. LIMIT 1
  493. </select>
  494. <select id="countSearchHistory" resultType="java.lang.Integer">
  495. SELECT COUNT(*) FROM user_order_history WHERE userId = #{userId}
  496. </select>
  497. <select id="getOrderSearchHistory" resultType="com.caimei365.order.model.vo.SearchHistoryVo">
  498. SELECT id, userId, searchWord, searchDate, delFlag
  499. FROM user_order_history
  500. WHERE userId = #{userId}
  501. ORDER BY id DESC
  502. </select>
  503. </mapper>