OrderMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.caimei.mapper.OrderMapper">
  6. <sql id="cm_Order_List">
  7. orderID AS orderId,
  8. orderNo,
  9. organizeID AS organizeId,
  10. userID AS userId,
  11. buyUserID AS buyUserId,
  12. status,
  13. shopOrderIDs AS shopOrderIds,
  14. receiptStatus,
  15. payStatus,
  16. sendOutStatus,
  17. refundType,
  18. onlinePayFlag,
  19. payTotalFee,
  20. payableAmount,
  21. balancePayFee,
  22. discountFee,
  23. promotionFullReduction,
  24. note,
  25. orderSource,
  26. orderTime,
  27. productCount,
  28. presentCount,
  29. promotionalGiftsCount,
  30. invoiceFlag,
  31. clauseID AS clauseId,
  32. clauseContent,
  33. clauseName,
  34. freePostFlag,
  35. freight,
  36. paySuccessCounter,
  37. closeReason
  38. </sql>
  39. <select id="findOrderList" resultType="com.caimei.model.vo.OrderVo">
  40. select
  41. <include refid="cm_Order_List"></include>
  42. from cm_order
  43. where delFlag = '0'
  44. AND organizeID = #{organizeId}
  45. <if test="storeId != null ">
  46. AND organizeStoreId = #{storeId}
  47. </if>
  48. <if test="orderState == 1 ">
  49. AND status IN(11,12,13,21,22,23)
  50. </if>
  51. <if test="orderState == 2 ">
  52. AND status IN(11,12,21,22,31,32)
  53. </if>
  54. <if test="orderState == 3 ">
  55. AND status IN(12,13,22,23,32,33)
  56. </if>
  57. <if test="orderState == 4 ">
  58. AND refundType IN(1,2)
  59. </if>
  60. ORDER BY orderTime DESC
  61. </select>
  62. <select id="findLogistics" resultType="com.caimei.model.vo.LogisticsBatchVo">
  63. SELECT * FROM cm_logistics_batch WHERE orderID= #{orderId}
  64. </select>
  65. <select id="findAllShopOrder" resultType="com.caimei.model.vo.ShopOrderVo">
  66. SELECT
  67. cso.shopOrderID AS shopOrderId,
  68. cso.shopOrderNo,
  69. cso.orderID AS orderId,
  70. cso.organizeID AS organizeId,
  71. cso.userID AS userId,
  72. cso.shopID AS shopId,
  73. cso.itemCount,
  74. cso.totalAmount,
  75. cso.promotionFullReduction,
  76. cso.shopPostFee,
  77. cso.payStatus,
  78. s.name AS shopName,
  79. s.logo AS shopLogo
  80. FROM
  81. cm_shop_order cso
  82. LEFT JOIN shop s ON cso.shopID = s.shopID
  83. WHERE
  84. cso.orderID = #{orderId}
  85. AND cso.delFlag = '0'
  86. </select>
  87. <select id="findOrderProduct" resultType="com.caimei.model.vo.OrderProductVo">
  88. SELECT
  89. cop.orderProductID AS orderProductId,
  90. cop.orderID AS orderId,
  91. cop.shopOrderID AS shopOrderId,
  92. cop.shopID AS shopId,
  93. cop.productID AS productId,
  94. cop.organizeProductID AS organizeProductId,
  95. cop.organizeID AS organizeId,
  96. cop.num,
  97. cop.presentNum,
  98. cop.outStoreType,
  99. cop.productNo,
  100. cop.price,
  101. cop.normalPrice,
  102. cop.costPrice,
  103. cop.totalAmount,
  104. cop.totalFee,
  105. cop.shouldPayFee,
  106. cop.discount,
  107. cop.discountPrice,
  108. cop.includedTax,
  109. cop.invoiceType,
  110. cop.taxRate,
  111. cop.addedValueTax,
  112. cop.totalAddedValueTax,
  113. cop.notOutStore,
  114. cop.name,
  115. cop.productUnit,
  116. cop.productImage,
  117. cop.productType,
  118. cop.orderPromotionsId
  119. FROM
  120. cm_order_product cop
  121. WHERE
  122. cop.shopOrderID = #{shopOrderId}
  123. </select>
  124. <select id="findOrderPromotionsById" resultType="com.caimei.model.po.PromotionsPo">
  125. SELECT
  126. id,
  127. name,
  128. description,
  129. orderId,
  130. type,
  131. mode,
  132. touchPrice,
  133. reducedPrice,
  134. beginTime,
  135. endTime,
  136. status
  137. FROM
  138. cm_promotions_order
  139. WHERE
  140. id = #{orderPromotionsId}
  141. </select>
  142. <select id="findDiscernReceipt" resultType="com.caimei.model.vo.DiscernReceiptVo">
  143. SELECT
  144. cdr.*,
  145. cror.associateAmount
  146. FROM
  147. cm_receipt_order_relation cror
  148. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  149. WHERE
  150. cror.orderID = #{orderID}
  151. AND cror.relationType = '2'
  152. AND cror.delFlag = '0'
  153. AND cdr.delFlag = '0'
  154. AND cdr.receiptStatus = '3'
  155. AND cdr.payType != '16'
  156. ORDER BY
  157. cdr.receiptDate DESC
  158. </select>
  159. <select id="findOfflinePayment" resultType="com.caimei.model.vo.DiscernReceiptVo">
  160. SELECT
  161. cdr.*,cror.associateAmount
  162. FROM
  163. cm_receipt_order_relation cror
  164. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  165. WHERE
  166. cror.orderID = #{orderId}
  167. AND cror.relationType = '2'
  168. AND cror.delFlag = '0'
  169. AND cdr.delFlag = '0'
  170. AND cdr.receiptStatus IN(2,3)
  171. AND cdr.payWay = '2'
  172. LIMIT 1
  173. </select>
  174. <select id="findUserInfo" resultType="com.caimei.model.vo.UserInfoVo">
  175. SELECT
  176. id,
  177. name,
  178. shouHuoRen,
  179. mobile,
  180. province,
  181. city,
  182. town,
  183. address
  184. FROM
  185. bp_order_userinfo
  186. WHERE
  187. orderId = #{orderID}
  188. </select>
  189. <select id="findOrder" resultType="com.caimei.model.vo.OrderVo">
  190. SELECT
  191. <include refid="cm_Order_List"></include>
  192. FROM
  193. cm_order
  194. WHERE
  195. orderID = #{orderID}
  196. AND delFlag = '0'
  197. </select>
  198. <select id="returnedPurchase" resultType="integer">
  199. SELECT
  200. SUM(
  201. crpp.actualReturnedNum
  202. ) AS actualReturnedNum
  203. FROM
  204. cm_returned_purchase_product crpp
  205. LEFT JOIN cm_returned_purchase rp ON rp.id = crpp.returnedID
  206. WHERE
  207. crpp.productID = #{productId}
  208. AND crpp.shopOrderID = #{shopOrderId}
  209. AND rp.status = '2'
  210. AND rp.delFlag = '0'
  211. </select>
  212. <select id="actualCancelNum" resultType="integer">
  213. SELECT
  214. SUM(
  215. crpp.actualCancelNum
  216. ) AS actualCancelNum
  217. FROM
  218. cm_returned_purchase_product crpp
  219. LEFT JOIN cm_returned_purchase rp ON rp.id = crpp.returnedID
  220. WHERE
  221. crpp.productID = #{productId}
  222. AND crpp.shopOrderID = #{shopOrderId}
  223. AND rp.status = '2'
  224. AND rp.delFlag = '0'
  225. </select>
  226. <select id="getOrderInvoice" resultType="com.caimei.model.vo.OrderInvoiceVo">
  227. SELECT
  228. a.*
  229. FROM bp_order_invoice a
  230. WHERE a.orderId = #{orderId}
  231. </select>
  232. <select id="findReturnedPurchase" resultType="com.caimei.model.vo.ReturnedPurchaseVo">
  233. SELECT
  234. *
  235. FROM
  236. cm_returned_purchase
  237. WHERE
  238. orderID = #{orderId}
  239. AND STATUS = '2'
  240. ORDER BY
  241. confirmReturnTime DESC
  242. </select>
  243. <select id="findLogisticsRecord" resultType="com.caimei.model.vo.LogisticsRecordVo">
  244. SELECT
  245. clr.*,
  246. cop.productID
  247. FROM
  248. cm_logistics_record clr
  249. LEFT JOIN cm_order_product cop ON clr.orderProductID = cop.orderProductID
  250. WHERE
  251. clr.shopOrderID = #{shopOrderId}
  252. and clr.logisticsBatchID = #{batchId}
  253. </select>
  254. <select id="findLogisticsInfo" resultType="com.caimei.model.vo.LogisticsInformationVo">
  255. SELECT DISTINCT
  256. li.*,
  257. clb.deliveryTime
  258. FROM
  259. logistics_information li
  260. LEFT JOIN cm_logistics_batch clb ON clb.id = li.logisticsBatchID
  261. LEFT JOIN cm_logistics_record clr ON clr.logisticsBatchID=clb.id
  262. WHERE
  263. li.logisticsBatchID = #{logisticsBatchId}
  264. </select>
  265. <update id="updateLogisticsBatch" parameterType="int">
  266. UPDATE
  267. cm_logistics_batch
  268. SET
  269. status = '1',
  270. updateDate = NOW(),
  271. receiptTime = NOW()
  272. WHERE
  273. orderID = #{orderId}
  274. </update>
  275. <update id="updateOrderStatus">
  276. UPDATE
  277. cm_order
  278. SET
  279. status = #{status},
  280. updateDate = NOW()
  281. WHERE
  282. orderID = #{orderId}
  283. </update>
  284. <select id="queryCode" resultType="com.caimei.model.po.CmMallOrderShareCodePo">
  285. SELECT *
  286. FROM cm_mall_order_share_code
  287. WHERE orderID = #{orderId}
  288. AND delFlag = '0'
  289. </select>
  290. <update id="updateCode">
  291. UPDATE
  292. cm_mall_order_share_code
  293. SET
  294. shareCode = #{shareCode},
  295. expiredTime = #{expiredTime},
  296. delFlag = #{delFlag}
  297. WHERE
  298. orderID = #{orderID}
  299. </update>
  300. <delete id="deleteCodeRecord">
  301. DELETE FROM
  302. cm_mall_share_code_record
  303. WHERE
  304. orderID = #{orderId}
  305. </delete>
  306. <insert id="insertCode">
  307. INSERT INTO cm_mall_order_share_code (
  308. orderID, shareCode, ADDTIME, expiredTime,
  309. delFlag
  310. )
  311. VALUES
  312. (
  313. #{orderID}, #{shareCode}, #{addTime}, #{expiredTime},
  314. #{delFlag}
  315. )
  316. </insert>
  317. <select id="findShareCodeRecord" resultType="com.caimei.model.po.ShareCodeRecordPo">
  318. SELECT
  319. scr.*,
  320. osc.expiredTime
  321. FROM
  322. cm_mall_share_code_record scr
  323. LEFT JOIN cm_mall_order_share_code osc ON scr.shareCodeId = osc.id
  324. WHERE
  325. scr.openid = #{openid}
  326. AND osc.orderID = #{orderId}
  327. AND scr.delFlag = '0'
  328. </select>
  329. <insert id="insertShareCodeRecord">
  330. INSERT INTO cm_mall_share_code_record (
  331. openid, orderID, shareCodeId, addTime,
  332. delFlag
  333. )
  334. VALUES
  335. (
  336. #{openid}, #{orderID}, #{shareCodeId}, #{addTime},
  337. #{delFlag}
  338. )
  339. </insert>
  340. <update id="deleteOrder">
  341. UPDATE
  342. cm_order
  343. SET
  344. delFlag = 1,
  345. updateDate = NOW(),
  346. note = '用户发起删除订单'
  347. WHERE
  348. orderID = #{orderId}
  349. </update>
  350. <update id="deleteShopOrder">
  351. UPDATE cm_shop_order SET delFlag = 1 WHERE orderID = #{orderId}
  352. </update>
  353. <update id="deleteReceiptOrderRelation">
  354. UPDATE
  355. cm_receipt_order_relation
  356. SET
  357. delFlag = '1'
  358. WHERE
  359. orderID = #{orderID}
  360. </update>
  361. <update id="deleteDiscernReceipt">
  362. UPDATE
  363. cm_discern_receipt
  364. SET
  365. delFlag = '1'
  366. WHERE
  367. id = #{id}
  368. </update>
  369. <select id="findPayShopRecord" resultType="com.caimei.model.po.CmPayShopRecordPo">
  370. SELECT
  371. id,
  372. shopID,
  373. shopOrderID,
  374. shopOrderNo,
  375. payAmount,
  376. wipePayment,
  377. payType,
  378. payTime,
  379. payShopID,
  380. status,
  381. delFlag
  382. FROM
  383. cm_pay_shop_record
  384. WHERE
  385. delFlag = '0'
  386. AND shopOrderID = #{shopOrderId}
  387. ORDER BY payTime desc
  388. </select>
  389. <update id="deletePayShopRecord">
  390. UPDATE
  391. cm_pay_shop_record
  392. SET
  393. delFlag = '0'
  394. WHERE
  395. shopOrderID = #{shopOrderId}
  396. </update>
  397. <update id="updatePayShop">
  398. UPDATE
  399. cm_pay_shop
  400. SET
  401. delFlag = '0'
  402. WHERE
  403. id = #{payShopId}
  404. </update>
  405. <update id="cancelOrder">
  406. UPDATE
  407. cm_order
  408. SET
  409. STATUS = 6,
  410. updateDate = NOW(),
  411. closeReason = '用户主动取消订单',
  412. closeTime = NOW()
  413. WHERE
  414. orderID = #{orderId}
  415. </update>
  416. <select id="searchOrder" resultType="com.caimei.model.vo.OrderVo">
  417. SELECT
  418. co.orderID AS orderId,
  419. co.orderNo,
  420. co.organizeID AS organizeId,
  421. co.userID AS userId,
  422. co.buyUserID AS buyUserId,
  423. co.status,
  424. co.shopOrderIDs AS shopOrderIds,
  425. co.receiptStatus,
  426. co.payStatus,
  427. co.sendOutStatus,
  428. co.refundType,
  429. co.onlinePayFlag,
  430. co.payTotalFee,
  431. co.payableAmount,
  432. co.balancePayFee,
  433. co.discountFee,
  434. co.promotionFullReduction,
  435. co.note,
  436. co.orderSource,
  437. co.orderTime,
  438. co.productCount,
  439. co.presentCount,
  440. co.promotionalGiftsCount,
  441. co.invoiceFlag,
  442. co.clauseID AS clauseId,
  443. co.clauseContent,
  444. co.clauseName,
  445. co.freePostFlag,
  446. co.freight,
  447. co.closeReason
  448. FROM
  449. cm_order co
  450. LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
  451. WHERE
  452. co.organizeID = #{organizeId}
  453. AND co.delFlag = '0'
  454. AND cop.name LIKE CONCAT('%',#{searchWord},'%')
  455. GROUP BY
  456. co.orderID
  457. ORDER BY
  458. co.orderTime DESC
  459. </select>
  460. <select id="getSearchHistoryList" resultType="string">
  461. SELECT
  462. searchWord
  463. FROM
  464. cm_mall_order_search_history
  465. WHERE
  466. organizeID = #{organizeId}
  467. AND delFlag = 0
  468. ORDER BY
  469. searchDate DESC
  470. LIMIT
  471. 10
  472. </select>
  473. <select id="findAllOrderProduct" resultType="com.caimei.model.vo.OrderProductVo">
  474. SELECT
  475. cop.orderProductID as orderProductId,
  476. cop.orderID as orderId,
  477. cop.productID as productId,
  478. p.productCategory AS "productCategory",
  479. csdh.secondHandType AS "secondHandType"
  480. FROM
  481. cm_order_product cop
  482. LEFT JOIN product p ON p.productID = cop.productID
  483. LEFT JOIN cm_second_hand_detail csdh ON csdh.productID = p.productID
  484. WHERE
  485. cop.orderID = #{orderID}
  486. </select>
  487. <delete id="deleteSearchHistory">
  488. DELETE FROM cm_mall_order_search_history WHERE organizeID = #{organizeId}
  489. </delete>
  490. <insert id="insertHistory">
  491. INSERT INTO `cm_mall_order_search_history` (
  492. `organizeID`, `openID`, `searchWord`,
  493. `searchDate`, `delFlag`
  494. )
  495. VALUES
  496. (
  497. #{organizeID}, #{openID}, #{searchWord},
  498. #{searchDate}, #{delFlag}
  499. )
  500. </insert>
  501. </mapper>