OrderMapper.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564
  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.order.OrderMapper">
  6. <insert id="insert" parameterType="com.caimei.entity.CmMallOrder" keyProperty="orderID" useGeneratedKeys="true">
  7. INSERT INTO cm_order(
  8. orderNo,
  9. organizeID,
  10. userID,
  11. buyUserID,
  12. shopOrderIDs,
  13. orderSubmitType,
  14. orderType,
  15. status,
  16. productTotalFee,
  17. orderTotalFee,
  18. payTotalFee,
  19. balancePayFee,
  20. discountFee,
  21. spID,
  22. mainSpID,
  23. note,
  24. clubID,
  25. clubScanTime,
  26. payWay,
  27. payFlag,
  28. orderSource,
  29. orderTime,
  30. payTime,
  31. productCount,
  32. presentCount,
  33. cooFreeFlag,
  34. cooFreeRate,
  35. cooFreeAmount,
  36. confirmFlag,
  37. clauseID,
  38. clauseContent,
  39. clauseName,
  40. updateDate,
  41. freePostFlag,
  42. freight,
  43. freePostageTicketID,
  44. delFlag,
  45. invoiceFlag,
  46. autoCloseTimeMills,
  47. hasActProduct,
  48. preferential,
  49. confirmTime,
  50. closeTime,
  51. splitFlag
  52. ) VALUES (
  53. #{orderNo},
  54. #{organizeID},
  55. #{userID},
  56. #{buyUserID},
  57. #{shopOrderIDs},
  58. #{orderSubmitType},
  59. #{orderType},
  60. #{status},
  61. #{productTotalFee},
  62. #{orderTotalFee},
  63. #{payTotalFee},
  64. #{balancePayFee},
  65. #{discountFee},
  66. #{spID},
  67. #{mainSpID},
  68. #{note},
  69. #{clubID},
  70. #{clubScanTime},
  71. #{payWay},
  72. #{payFlag},
  73. #{orderSource},
  74. #{orderTime},
  75. #{payTime},
  76. #{productCount},
  77. #{presentCount},
  78. #{cooFreeFlag},
  79. #{cooFreeRate},
  80. #{cooFreeAmount},
  81. #{confirmFlag},
  82. #{clauseID},
  83. #{clauseContent},
  84. #{clauseName},
  85. #{updateDate},
  86. #{freePostFlag},
  87. #{freight},
  88. #{freePostageTicketID},
  89. #{delFlag},
  90. #{invoiceFlag},
  91. #{autoCloseTimeMills},
  92. #{hasActProduct},
  93. #{preferential},
  94. #{confirmTime},
  95. #{closeTime},
  96. #{splitFlag}
  97. )
  98. </insert>
  99. <update id="update">
  100. UPDATE cm_order SET
  101. orderNo = #{orderNo},
  102. organizeID = #{organizeID},
  103. userID = #{userID},
  104. buyUserID = #{buyUserID},
  105. shopOrderIDs = #{shopOrderIDs},
  106. orderSubmitType = #{orderSubmitType},
  107. orderType = #{orderType},
  108. status = #{status},
  109. receiptStatus = #{receiptStatus},
  110. payStatus = #{payStatus},
  111. sendOutStatus = #{sendOutStatus},
  112. refundType = #{refundType},
  113. payableAmount = #{payableAmount},
  114. productTotalFee = #{productTotalFee},
  115. orderTotalFee = #{orderTotalFee},
  116. payTotalFee = #{payTotalFee},
  117. balancePayFee = #{balancePayFee},
  118. discountFee = #{discountFee},
  119. spID = #{spID},
  120. mainSpID = #{mainSpID},
  121. note = #{note},
  122. clubID = #{clubID},
  123. clubScanTime = #{clubScanTime},
  124. payWay = #{payWay},
  125. payFlag = #{payFlag},
  126. orderSource = #{orderSource},
  127. orderTime = #{orderTime},
  128. payTime = #{payTime},
  129. productCount = #{productCount},
  130. presentCount = #{presentCount},
  131. cooFreeFlag = #{cooFreeFlag},
  132. cooFreeRate = #{cooFreeRate},
  133. cooFreeAmount = #{cooFreeAmount},
  134. confirmFlag = #{confirmFlag},
  135. clauseID = #{clauseID},
  136. clauseContent = #{clauseContent},
  137. clauseName = #{clauseName},
  138. updateDate = #{updateDate},
  139. freePostFlag = #{freePostFlag},
  140. freight = #{freight},
  141. freePostageTicketID = #{freePostageTicketID},
  142. delFlag = #{delFlag},
  143. invoiceFlag = #{invoiceFlag},
  144. autoCloseTimeMills = #{autoCloseTimeMills},
  145. hasActProduct = #{hasActProduct},
  146. preferential = #{preferential},
  147. confirmTime = #{confirmTime},
  148. closeTime = #{closeTime},
  149. splitFlag = #{splitFlag}
  150. WHERE orderID = #{orderID}
  151. </update>
  152. <select id="queryCode" parameterType="int" resultType="com.caimei.entity.OrderShareCode">
  153. SELECT
  154. *
  155. FROM
  156. cm_mall_order_share_code
  157. WHERE
  158. orderID = #{orderID}
  159. AND delFlag = '0'
  160. </select>
  161. <select id="queryFree" resultType="com.caimei.entity.CmMallFreePostageCard" parameterType="int">
  162. SELECT
  163. *
  164. FROM
  165. cm_mall_free_postage_card
  166. WHERE
  167. userID = #{userID}
  168. AND delFlag = '0'
  169. AND freePostFlag = '1'
  170. AND expiredTime > now()
  171. </select>
  172. <update id="updateCode" parameterType="com.caimei.entity.OrderShareCode">
  173. UPDATE
  174. cm_mall_order_share_code
  175. SET
  176. shareCode = #{shareCode},
  177. expiredTime = #{expiredTime},
  178. delFlag = #{delFlag}
  179. WHERE
  180. orderID = #{orderID}
  181. </update>
  182. <insert id="insertCode" parameterType="com.caimei.entity.OrderShareCode">
  183. INSERT INTO cm_mall_order_share_code (
  184. orderID, shareCode, ADDTIME, expiredTime,
  185. delFlag
  186. )
  187. VALUES
  188. (
  189. #{orderID}, #{shareCode}, #{addTime}, #{expiredTime},
  190. #{delFlag}
  191. )
  192. </insert>
  193. <select id="findShop" resultType="com.caimei.entity.CmMallShop">
  194. SELECT
  195. s.*
  196. FROM
  197. cm_mall_organize_products cmop
  198. LEFT JOIN product p ON cmop.productID = p.productID
  199. LEFT JOIN shop s ON p.shopID = s.shopID
  200. LEFT JOIN cm_mall_cart cmc ON cmop.id = cmc.productID
  201. WHERE
  202. cmop.id IN
  203. <foreach item="productID" index="index" collection="list" open="(" separator="," close=")">
  204. #{productID}
  205. </foreach>
  206. AND cmop.delFlag='0'
  207. GROUP BY
  208. s.shopID
  209. ORDER BY
  210. MAX(cmc.addTime) DESC
  211. </select>
  212. <select id="findAllCommodity" resultType="com.caimei.entity.CmMallOrganizeProducts">
  213. SELECT
  214. cmop.*,
  215. p.mainImage,
  216. p.name,
  217. p.unit,
  218. cmc.productCount
  219. FROM
  220. cm_mall_organize_products cmop
  221. LEFT JOIN cm_mall_cart cmc ON cmop.id = cmc.productID
  222. LEFT JOIN product p ON cmop.productID = p.productID
  223. WHERE
  224. p.shopID = #{shopID}
  225. AND cmc.userID = #{userId}
  226. AND cmop.id IN
  227. <foreach item="productID" index="index" collection="productIDs" open="(" separator="," close=")">
  228. #{productID}
  229. </foreach>
  230. AND cmc.delFlag = '0'
  231. ORDER BY
  232. cmc.addTime DESC
  233. </select>
  234. <select id="findCommodity" resultType="com.caimei.entity.CmMallOrganizeProducts">
  235. SELECT
  236. cmop.*,
  237. p.mainImage,
  238. p.name,
  239. p.unit
  240. FROM
  241. cm_mall_organize_products cmop
  242. LEFT JOIN product p ON cmop.productID = p.productID
  243. WHERE
  244. p.shopID = #{shopID}
  245. AND cmop.id = #{productIDs}
  246. </select>
  247. <select id="findUserInfo" resultType="com.caimei.entity.CmMallBpOrderUserInfo" parameterType="int">
  248. SELECT
  249. *
  250. FROM
  251. bp_order_userinfo
  252. WHERE
  253. orderId = #{orderId}
  254. </select>
  255. <select id="findOrder" parameterType="int" resultType="com.caimei.entity.CmMallOrder">
  256. SELECT
  257. *
  258. FROM
  259. cm_order
  260. WHERE
  261. orderID = #{orderID}
  262. AND delFlag = '0'
  263. </select>
  264. <select id="findAllShopOrder" resultType="com.caimei.entity.CmMallShopOrder">
  265. SELECT
  266. cso.*,
  267. s.name AS shopName,
  268. s.logo AS shopLogo
  269. FROM
  270. cm_shop_order cso
  271. LEFT JOIN shop s ON cso.shopID = s.shopID
  272. WHERE
  273. cso.shopOrderID IN
  274. <foreach collection="array" item="shopOrderID" index="index" open="(" separator="," close=")">
  275. #{shopOrderID}
  276. </foreach>
  277. AND cso.delFlag = '0'
  278. </select>
  279. <select id="findOrderProduct" resultType="com.caimei.entity.CmMallOrderProduct" parameterType="int">
  280. SELECT
  281. cop.*,
  282. p.mainImage AS productImage
  283. FROM
  284. cm_order_product cop
  285. LEFT JOIN product p ON cop.productID = p.productID
  286. WHERE
  287. shopOrderID = #{shopOrderID}
  288. </select>
  289. <select id="findDiscernReceipt" parameterType="int" resultType="com.caimei.entity.CmMallDiscernReceipt">
  290. SELECT
  291. cdr.*,cror.associateAmount
  292. FROM
  293. cm_receipt_order_relation cror
  294. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  295. WHERE
  296. cror.orderID = #{orderID}
  297. AND cror.relationType = '2'
  298. AND cror.delFlag = '0'
  299. AND cdr.delFlag = '0'
  300. AND cdr.receiptStatus = '3'
  301. ORDER BY
  302. cdr.receiptDate DESC
  303. </select>
  304. <select id="findReturnedPurchase" resultType="com.caimei.entity.CmMallReturnedPurchase" parameterType="int">
  305. SELECT
  306. *
  307. FROM
  308. cm_returned_purchase
  309. WHERE
  310. orderID = #{orderID}
  311. AND STATUS = '2'
  312. ORDER BY
  313. confirmReturnTime DESC
  314. </select>
  315. <select id="findLogisticsInfo" parameterType="int" resultType="com.caimei.entity.CmMallLogisticsInfo">
  316. SELECT DISTINCT
  317. li.*,
  318. clb.deliveryTime
  319. FROM
  320. logistics_information li
  321. LEFT JOIN cm_logistics_batch clb ON clb.id = li.logisticsBatchID
  322. LEFT JOIN cm_logistics_record clr ON clr.logisticsBatchID=clb.id
  323. WHERE
  324. li.logisticsBatchID = #{logisticsBatchID}
  325. </select>
  326. <select id="findLogisticsRecord" resultType="com.caimei.entity.CmMallLogisticsRecord" parameterType="int">
  327. SELECT
  328. clr.*,
  329. cop.organizeProductID
  330. FROM
  331. cm_logistics_record clr
  332. LEFT JOIN cm_order_product cop ON clr.orderProductID = cop.orderProductID
  333. WHERE
  334. clr.shopOrderID = #{shopOrderID}
  335. and clr.logisticsBatchID = #{logisticsBatchID}
  336. </select>
  337. <select id="findShareCodeRecord" resultType="com.caimei.entity.CmMallShareCodeRecord">
  338. SELECT
  339. scr.*,
  340. osc.expiredTime
  341. FROM
  342. cm_mall_share_code_record scr
  343. LEFT JOIN cm_mall_order_share_code osc ON scr.shareCodeId = osc.id
  344. WHERE
  345. scr.openid = #{openid}
  346. AND osc.orderID = #{orderID}
  347. AND scr.delFlag = '0'
  348. </select>
  349. <insert id="saveShareCodeRecord" parameterType="com.caimei.entity.CmMallShareCodeRecord">
  350. INSERT INTO cm_mall_share_code_record (
  351. openid, orderID, shareCodeId, addTime,
  352. delFlag
  353. )
  354. VALUES
  355. (
  356. #{openid}, #{orderID}, #{shareCodeId}, #{addTime},
  357. #{delFlag}
  358. )
  359. </insert>
  360. <select id="findAllOrder" resultType="com.caimei.entity.CmMallOrder">
  361. SELECT
  362. *
  363. FROM
  364. cm_order
  365. WHERE
  366. userID = #{userID}
  367. AND delFlag = '0'
  368. AND organizeID= #{organizeID}
  369. <if test="orderState == 1 ">
  370. AND status IN(11,12,13,21,22,23)
  371. </if>
  372. <if test="orderState == 2 ">
  373. AND status IN(11,12,21,22,31,32)
  374. </if>
  375. <if test="orderState == 3 ">
  376. AND status IN(12,13,22,23,32,33)
  377. </if>
  378. <if test="orderState == 4 ">
  379. AND refundType IN(1,2)
  380. </if>
  381. ORDER BY
  382. orderTime DESC
  383. </select>
  384. <select id="findShareCode" resultType="string" parameterType="int">
  385. SELECT
  386. shareCode
  387. FROM
  388. cm_mall_order_share_code
  389. WHERE
  390. orderID = #{orderID}
  391. AND delFlag = '0'
  392. AND expiredTime > NOW()
  393. </select>
  394. <select id="oftenPurchase" resultType="com.caimei.entity.CmMallOrganizeProducts">
  395. SELECT
  396. cmop.*,
  397. p.mainImage,
  398. p.name,
  399. p.unit
  400. FROM
  401. cm_order co
  402. LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
  403. LEFT JOIN cm_mall_organize_products cmop ON cmop.id = cop.organizeProductID
  404. LEFT JOIN product p ON cmop.productID = p.productID
  405. WHERE
  406. co.delFlag = '0'
  407. AND co.status NOT IN(6, 7)
  408. AND co.userID = #{userID}
  409. AND co.organizeID = #{organizeID}
  410. GROUP BY
  411. cop.organizeProductID
  412. ORDER BY
  413. COUNT(*) DESC
  414. </select>
  415. <update id="deleteReceiptOrderRelation" parameterType="int">
  416. UPDATE
  417. cm_receipt_order_relation
  418. SET
  419. delFlag = '1'
  420. WHERE
  421. orderID = #{orderID}
  422. </update>
  423. <update id="deleteDiscernReceipt" parameterType="int">
  424. UPDATE
  425. cm_discern_receipt
  426. SET
  427. delFlag = '1'
  428. WHERE
  429. id = #{id}
  430. </update>
  431. <select id="findPayShopRecord" resultType="com.caimei.entity.CmMallPayShopRecord" parameterType="int">
  432. SELECT
  433. *
  434. FROM
  435. cm_pay_shop_record
  436. WHERE
  437. delFlag = '0'
  438. AND shopOrderID = #{shopOrderID}
  439. </select>
  440. <update id="deletePayShopRecord" parameterType="int">
  441. UPDATE
  442. cm_pay_shop_record
  443. SET
  444. delFlag = '0'
  445. WHERE
  446. shopOrderID = #{shopOrderID}
  447. </update>
  448. <update id="updatePayShop" parameterType="int">
  449. UPDATE
  450. cm_pay_shop
  451. SET
  452. delFlag = '0'
  453. WHERE
  454. id = #{id}
  455. </update>
  456. <update id="updateLogisticsBatch" parameterType="int">
  457. UPDATE
  458. cm_logistics_batch
  459. SET
  460. status = '1',
  461. updateDate = NOW(),
  462. receiptTime = NOW()
  463. WHERE
  464. orderID = #{orderID}
  465. </update>
  466. <!--获取订单发票信息-->
  467. <select id="getOrderInvoice" resultType="com.caimei.entity.CmMallOrderInvoice">
  468. SELECT
  469. a.*
  470. FROM bp_order_invoice a
  471. WHERE a.orderId = #{orderId}
  472. </select>
  473. <!--保存订单发票信息-->
  474. <insert id="insertOrderInvoice" parameterType="com.caimei.entity.CmMallOrderInvoice">
  475. INSERT INTO bp_order_invoice(
  476. orderId,
  477. invoiceTitle,
  478. invoiceType,
  479. type,
  480. invoiceContent,
  481. invoiceTitleType,
  482. registeredAddress,
  483. registeredPhone,
  484. bankAccountNo,
  485. openBank,
  486. corporationTaxNum
  487. ) VALUES (
  488. #{orderId},
  489. #{invoiceTitle},
  490. #{invoiceType},
  491. #{type},
  492. #{invoiceContent},
  493. #{invoiceTitleType},
  494. #{registeredAddress},
  495. #{registeredPhone},
  496. #{bankAccountNo},
  497. #{openBank},
  498. #{corporationTaxNum}
  499. )
  500. </insert>
  501. <delete id="deleteCodeRecord" parameterType="int">
  502. DELETE FROM
  503. cm_mall_share_code_record
  504. WHERE
  505. orderID = #{orderID}
  506. </delete>
  507. <select id="findShopOrderID" parameterType="int" resultType="string">
  508. SELECT
  509. shopOrderID
  510. FROM
  511. cm_logistics_record
  512. WHERE
  513. orderID = #{orderID}
  514. and logisticsBatchID = #{id}
  515. </select>
  516. <select id="findLogistics" resultType="com.caimei.entity.CmMallLogisticsBatch" parameterType="int">
  517. SELECT * FROM cm_logistics_batch WHERE orderID= #{orderID}
  518. </select>
  519. <select id="findClassifyID" resultType="com.caimei.entity.CmMallProductsClassify">
  520. SELECT
  521. *
  522. FROM
  523. cm_mall_products_classify
  524. WHERE
  525. id = #{classifyID}
  526. AND delFlag = '0'
  527. </select>
  528. </mapper>