CmShopOrderMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584
  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.caimei.mapper.order.CmShopOrderMapper">
  4. <sql id="cmShopOrderColumns">
  5. a.shopOrderID AS "shopOrderID",
  6. a.shopOrderNo AS "shopOrderNo",
  7. a.orderNo AS "orderNo",
  8. a.orderID AS "orderID",
  9. a.userID AS "userID",
  10. a.shopID AS "shopID",
  11. a.orderSubmitType AS "orderSubmitType",
  12. a.orderType AS "orderType",
  13. a.itemCount AS "itemCount",
  14. a.presentNum AS "presentNum",
  15. IFNULL(a.outStoreNum, 0) AS "outStoreNum",
  16. IFNULL(a.outStoreTimes, 0) AS "outStoreTimes",
  17. a.note AS "note",
  18. a.productAmount AS "productAmount",
  19. a.fee AS "fee",
  20. a.preferential AS preferential,
  21. a.discountFee AS "discountFee",
  22. a.accountAmount AS "accountAmount",
  23. a.totalAmount AS "totalAmount",
  24. a.payFlag AS "payFlag",
  25. a.orderTime AS "orderTime",
  26. a.payTime AS "payTime",
  27. a.finishTime AS "finishTime",
  28. a.status AS "status",
  29. a.refundStatus AS "refundStatus",
  30. a.receiveGoodsTime AS "receiveGoodsTime",
  31. a.deliveryTimeMills AS "deliveryTimeMills",
  32. a.needPayAmount AS "needPayAmount",
  33. a.canRefundAmount AS "canRefundAmount",
  34. a.refundAmount AS "refundAmount",
  35. a.clubID AS "clubID",
  36. a.spID AS "spID",
  37. a.mainSpID AS "mainSpID",
  38. a.orderBeanAmount AS "orderBeanAmount",
  39. a.useBeanAmount AS "useBeanAmount",
  40. a.useBeanFlag AS "useBeanFlag",
  41. a.canRefundFlag AS "canRefundFlag",
  42. a.useBalanceFlag AS "useBalanceFlag",
  43. a.canRefundBeans AS "canRefundBeans",
  44. a.orderDeliveryID AS "orderDeliveryID",
  45. a.freePostageFee AS "freePostageFee",
  46. a.freePostageTicketID AS "freePostageTicketID",
  47. a.totalAddedValueTax AS "totalAddedValueTax",
  48. a.brokerage AS "brokerage",
  49. a.delFlag AS "delFlag",
  50. a.refundsAmount AS "refundsAmount",
  51. a.orderStatusFlag AS "orderStatusFlag",
  52. a.buyStatus AS "buyStatus",
  53. a.returnGoodsStatus AS "returnGoodsStatus",
  54. a.autoReceiveTimeMills AS "autoReceiveTimeMills",
  55. a.autoOverTimeMills AS "autoOverTimeMills",
  56. a.splitFlag AS "splitFlag",
  57. a.payStatus AS "payStatus",
  58. a.sendOutStatus AS "sendOutStatus",
  59. (SELECT name FROM shop s WHERE s.shopID = a.shopID) AS "shopName",
  60. (SELECT IFNULL(SUM(totalAddedValueTax),0) FROM cm_order_product cop WHERE cop.shopOrderID = a.shopOrderID) AS "totalAddedValueTax"
  61. </sql>
  62. <sql id="cmShopOrderJoins">
  63. </sql>
  64. <select id="get" resultType="com.caimei.entity.CmShopOrder">
  65. SELECT
  66. <include refid="cmShopOrderColumns"/>
  67. FROM cm_shop_order a
  68. <include refid="cmShopOrderJoins"/>
  69. WHERE a.shopOrderID = #{shopOrderID} AND a.delFlag = '0'
  70. </select>
  71. <select id="findList" resultType="com.caimei.entity.CmShopOrder">
  72. SELECT
  73. <include refid="cmShopOrderColumns"/>
  74. FROM cm_shop_order a
  75. <include refid="cmShopOrderJoins"/>
  76. <where>
  77. <if test="shopOrderID != null and shopOrderID != ''">
  78. AND a.shopOrderID = #{shopOrderID}
  79. </if>
  80. <if test="shopOrderNo != null and shopOrderNo != ''">
  81. AND a.shopOrderNo = #{shopOrderNo}
  82. </if>
  83. <if test="orderNo != null and orderNo != ''">
  84. AND a.orderNo = #{orderNo}
  85. </if>
  86. <if test="orderID != null and orderID != ''">
  87. AND a.orderID = #{orderID}
  88. </if>
  89. <if test="userID != null and userID != ''">
  90. AND a.userID = #{userID}
  91. </if>
  92. <if test="shopID != null and shopID != ''">
  93. AND a.shopID = #{shopID}
  94. </if>
  95. <if test="status != null and status != ''">
  96. AND a.status = #{status}
  97. </if>
  98. <if test="clubID != null and clubID != ''">
  99. AND a.clubID = #{clubID}
  100. </if>
  101. <if test="buyStatus != null and buyStatus != ''">
  102. AND a.buyStatus = #{buyStatus}
  103. </if>
  104. AND a.delFlag = '0'
  105. </where>
  106. ORDER BY a.shopOrderID DESC
  107. </select>
  108. <select id="findAllList" resultType="com.caimei.entity.CmShopOrder">
  109. SELECT
  110. <include refid="cmShopOrderColumns"/>
  111. FROM cm_shop_order a
  112. <include refid="cmShopOrderJoins"/>
  113. <where>
  114. </where>
  115. AND a.delFlag = '0'
  116. ORDER BY a.shopOrderID DESC
  117. </select>
  118. <insert id="insert" parameterType="com.caimei.entity.CmShopOrder" keyProperty="shopOrderID" useGeneratedKeys="true">
  119. INSERT INTO cm_shop_order(
  120. shopOrderNo,
  121. orderNo,
  122. orderID,
  123. userID,
  124. shopID,
  125. itemCount,
  126. presentNum,
  127. townID,
  128. orderType,
  129. orderSubmitType,
  130. productAmount,
  131. fee,
  132. discountFee,
  133. preferential,
  134. accountAmount,
  135. totalAmount,
  136. payFlag,
  137. orderTime,
  138. payTime,
  139. finishTime,
  140. refundStatus,
  141. receiveGoodsTime,
  142. deliveryTimeMills,
  143. needPayAmount,
  144. canRefundAmount,
  145. refundAmount,
  146. clubID,
  147. spID,
  148. mainSpID,
  149. useBeanFlag,
  150. canRefundFlag,
  151. useBalanceFlag,
  152. orderDeliveryID,
  153. brokerage,
  154. delFlag,
  155. refundsAmount,
  156. orderStatusFlag,
  157. buyStatus,
  158. autoReceiveTimeMills,
  159. autoOverTimeMills,
  160. totalAddedValueTax,
  161. splitFlag,
  162. outStoreNum,
  163. outStoreTimes,
  164. note,
  165. returnGoodsStatus,
  166. sendOutStatus,
  167. payStatus
  168. ) VALUES (
  169. #{shopOrderNo},
  170. #{orderNo},
  171. #{orderID},
  172. #{userID},
  173. #{shopID},
  174. #{itemCount},
  175. #{presentNum},
  176. #{townID},
  177. #{orderType},
  178. #{orderSubmitType},
  179. #{productAmount},
  180. #{fee},
  181. #{discountFee},
  182. #{preferential},
  183. #{accountAmount},
  184. #{totalAmount},
  185. #{payFlag},
  186. #{orderTime},
  187. #{payTime},
  188. #{finishTime},
  189. #{refundStatus},
  190. #{receiveGoodsTime},
  191. #{deliveryTimeMills},
  192. #{needPayAmount},
  193. #{canRefundAmount},
  194. #{refundAmount},
  195. #{clubID},
  196. #{spID},
  197. #{mainSpID},
  198. #{useBeanFlag},
  199. #{canRefundFlag},
  200. #{useBalanceFlag},
  201. #{orderDeliveryID},
  202. #{brokerage},
  203. #{delFlag},
  204. #{refundsAmount},
  205. #{orderStatusFlag},
  206. #{buyStatus},
  207. #{autoReceiveTimeMills},
  208. #{autoOverTimeMills},
  209. #{totalAddedValueTax},
  210. #{splitFlag},
  211. #{outStoreNum},
  212. #{outStoreTimes},
  213. #{note},
  214. #{returnGoodsStatus},
  215. #{sendOutStatus},
  216. #{payStatus}
  217. )
  218. </insert>
  219. <update id="update">
  220. UPDATE cm_shop_order SET
  221. shopOrderNo = #{shopOrderNo},
  222. orderNo = #{orderNo},
  223. orderID = #{orderID},
  224. userID = #{userID},
  225. shopID = #{shopID},
  226. itemCount = #{itemCount},
  227. presentNum = #{presentNum},
  228. outStoreNum = #{outStoreNum},
  229. outStoreTimes = #{outStoreTimes},
  230. townID = #{townID},
  231. orderType =#{orderType},
  232. orderSubmitType =#{orderSubmitType},
  233. productAmount = #{productAmount},
  234. fee = #{fee},
  235. discountFee = #{discountFee},
  236. preferential = #{preferential},
  237. accountAmount = #{accountAmount},
  238. totalAmount = #{totalAmount},
  239. payFlag = #{payFlag},
  240. orderTime = #{orderTime},
  241. payTime = #{payTime},
  242. finishTime = #{finishTime},
  243. refundStatus = #{refundStatus},
  244. receiveGoodsTime = #{receiveGoodsTime},
  245. deliveryTimeMills = #{deliveryTimeMills},
  246. needPayAmount = #{needPayAmount},
  247. canRefundAmount = #{canRefundAmount},
  248. refundAmount = #{refundAmount},
  249. clubID = #{clubID},
  250. spID = #{spID},
  251. mainSpID = #{mainSpID},
  252. useBeanFlag = #{useBeanFlag},
  253. canRefundFlag = #{canRefundFlag},
  254. useBalanceFlag = #{useBalanceFlag},
  255. orderDeliveryID = #{orderDeliveryID},
  256. brokerage = #{brokerage},
  257. delFlag = #{delFlag},
  258. refundsAmount = #{refundsAmount},
  259. orderStatusFlag = #{orderStatusFlag},
  260. buyStatus = #{buyStatus},
  261. autoReceiveTimeMills = #{autoReceiveTimeMills},
  262. autoOverTimeMills = #{autoOverTimeMills},
  263. totalAddedValueTax = #{totalAddedValueTax},
  264. splitFlag = #{splitFlag},
  265. note = #{note},
  266. returnGoodsStatus = #{returnGoodsStatus},
  267. payStatus = #{payStatus},
  268. sendOutStatus = #{sendOutStatus}
  269. WHERE shopOrderID = #{shopOrderID}
  270. </update>
  271. <delete id="delete">
  272. DELETE FROM cm_shop_order
  273. WHERE shopOrderID = #{shopOrderID}
  274. </delete>
  275. <select id="listShopOrderByIDs" parameterType="String" resultType="com.caimei.entity.CmShopOrder">
  276. SELECT * FROM cm_shop_order WHERE shopOrderID IN (#{shopOrderIDs})
  277. </select>
  278. <update id="updateOrderOwner" parameterType="Map">
  279. UPDATE cm_shop_order
  280. <set>
  281. <if test="newUserId != null and newUserId != ''">
  282. userID = #{newUserId},
  283. </if>
  284. <if test="clubId != null and clubId != ''">
  285. clubID = #{clubId},
  286. </if>
  287. <if test="spID != null and spID != ''">
  288. spID = #{spID},
  289. </if>
  290. <if test="mainSpID != null and mainSpID != ''">
  291. mainSpID = #{mainSpID}
  292. </if>
  293. </set>
  294. WHERE userId = #{oldUserId}
  295. </update>
  296. <update id="updateRefundsInfo">
  297. UPDATE cm_shop_order
  298. <set>
  299. <if test="orderStatusFlag != null and orderStatusFlag != ''">
  300. orderStatusFlag = #{orderStatusFlag}
  301. </if>
  302. </set>
  303. WHERE shopOrderID = #{shopOrderID}
  304. </update>
  305. <select id="findByShopID" resultType="com.caimei.entity.CmShopOrder">
  306. SELECT * FROM cm_shop_order WHERE orderID = #{orderID} AND shopID = #{shopID}
  307. </select>
  308. <select id="findMaxShopOrderNo" resultType="com.caimei.entity.CmShopOrder">
  309. SELECT * FROM cm_shop_order WHERE orderID = #{orderID} ORDER BY shopOrderNo DESC
  310. </select>
  311. <insert id="insertCmShopOrder" parameterType="com.caimei.entity.CmShopOrder" >
  312. INSERT INTO cm_shop_order(
  313. shopOrderID,
  314. shopOrderNo,
  315. orderNo,
  316. orderID,
  317. userID,
  318. shopID,
  319. itemCount,
  320. presentNum,
  321. outStoreNum,
  322. outStoreTimes,
  323. townID,
  324. orderType,
  325. orderSubmitType,
  326. productAmount,
  327. fee,
  328. discountFee,
  329. preferential,
  330. accountAmount,
  331. totalAmount,
  332. payFlag,
  333. orderTime,
  334. payTime,
  335. finishTime,
  336. status,
  337. refundStatus,
  338. receiveGoodsTime,
  339. deliveryTimeMills,
  340. needPayAmount,
  341. canRefundAmount,
  342. refundAmount,
  343. clubID,
  344. spID,
  345. mainSpID,
  346. orderBeanAmount,
  347. useBeanAmount,
  348. useBeanFlag,
  349. canRefundFlag,
  350. useBalanceFlag,
  351. canRefundBeans,
  352. orderDeliveryID,
  353. freePostageFee,
  354. freePostageTicketID,
  355. brokerage,
  356. delFlag,
  357. refundsAmount,
  358. orderStatusFlag,
  359. buyStatus,
  360. autoReceiveTimeMills,
  361. autoOverTimeMills,
  362. totalAddedValueTax,
  363. splitFlag,
  364. note,
  365. returnGoodsStatus
  366. ) VALUES (
  367. #{shopOrderID},
  368. #{shopOrderNo},
  369. #{orderNo},
  370. #{orderID},
  371. #{userID},
  372. #{shopID},
  373. #{itemCount},
  374. #{presentNum},
  375. #{outStoreNum},
  376. #{outStoreTimes},
  377. #{townID},
  378. #{orderType},
  379. #{orderSubmitType},
  380. #{productAmount},
  381. #{fee},
  382. #{discountFee},
  383. #{preferential},
  384. #{accountAmount},
  385. #{totalAmount},
  386. #{payFlag},
  387. #{orderTime},
  388. #{payTime},
  389. #{finishTime},
  390. #{status},
  391. #{refundStatus},
  392. #{receiveGoodsTime},
  393. #{deliveryTimeMills},
  394. #{needPayAmount},
  395. #{canRefundAmount},
  396. #{refundAmount},
  397. #{clubID},
  398. #{spID},
  399. #{mainSpID},
  400. #{orderBeanAmount},
  401. #{useBeanAmount},
  402. #{useBeanFlag},
  403. #{canRefundFlag},
  404. #{useBalanceFlag},
  405. #{canRefundBeans},
  406. #{orderDeliveryID},
  407. #{freePostageFee},
  408. #{freePostageTicketID},
  409. #{brokerage},
  410. #{delFlag},
  411. #{refundsAmount},
  412. #{orderStatusFlag},
  413. #{buyStatus},
  414. #{autoReceiveTimeMills},
  415. #{autoOverTimeMills},
  416. #{totalAddedValueTax},
  417. #{splitFlag},
  418. #{note},
  419. #{returnGoodsStatus}
  420. )
  421. </insert>
  422. <select id="countSupplierOrders" parameterType="int" resultType="map">
  423. select `status` AS "status", count(`status`) "num"
  424. from cm_shop_order where shopID = #{shopID} GROUP BY `status`;
  425. </select>
  426. <select id="salesRanking" parameterType="int" resultType="map">
  427. SELECT
  428. productID,
  429. SUM(num) total
  430. FROM
  431. cm_order_product cop
  432. JOIN cm_order co ON co.orderID = cop.orderID
  433. WHERE
  434. cop.shopID = #{shopID}
  435. AND co.STATUS NOT IN ('0', '6', '7')
  436. AND co.delFlag = '0'
  437. GROUP BY
  438. productID
  439. ORDER BY
  440. total DESC
  441. LIMIT
  442. 5;
  443. </select>
  444. <select id="salesStatistics" resultType="map">
  445. SELECT COUNT(DISTINCT so.shopOrderID) AS orderQuantity,
  446. IFNULL( SUM(o.productTotalFee),0) AS orderAmount
  447. FROM cm_order o JOIN cm_shop_order so ON o.orderID = so.orderID
  448. WHERE
  449. o.status NOT IN('0','6','7')
  450. AND o.delFlag = '0'
  451. AND so.delFlag='0'
  452. AND so.shopID = #{shopID}
  453. <if test="startTime != null and startTime != ''">
  454. AND o.orderTime <![CDATA[ >= ]]> #{startTime}
  455. </if>
  456. <if test="endTime != null and endTime != ''">
  457. AND o.orderTime <![CDATA[ <= ]]> #{endTime}
  458. </if>
  459. </select>
  460. <insert id="shopOrderBak" parameterType="com.caimei.entity.CmShopOrder" keyProperty="shopOrderBakID" useGeneratedKeys="true">
  461. INSERT INTO cm_shop_order_bak(
  462. orderID,
  463. shopOrderNo,
  464. orderNo,
  465. userID,
  466. shopID,
  467. itemCount,
  468. townID,
  469. productAmount,
  470. fee,
  471. discountAmount,
  472. accountAmount,
  473. totalAmount,
  474. payFlag,
  475. payTime,
  476. finishTime,
  477. status,
  478. refundStatus,
  479. needPayAmount,
  480. canRefundAmount,
  481. refundAmount,
  482. clubID,
  483. spID,
  484. mainSpID,
  485. orderBeanAmount,
  486. useBeanAmount,
  487. useBeanFlag,
  488. canRefundFlag,
  489. useBalanceFlag,
  490. canRefundBeans,
  491. freePostageFee,
  492. freePostageTicketID,
  493. brokerage,
  494. delFlag,
  495. refundsAmount,
  496. orderStatusFlag,
  497. buyStatus,
  498. orderSubmitType,
  499. orderType,
  500. orderTime,
  501. deliveryTimeMills,
  502. presentNum,
  503. preferential
  504. ) VALUES (
  505. #{orderID},
  506. #{shopOrderNo},
  507. #{orderNo},
  508. #{userID},
  509. #{shopID},
  510. #{itemCount},
  511. #{townID},
  512. #{productAmount},
  513. #{fee},
  514. #{discountAmount},
  515. #{accountAmount},
  516. #{totalAmount},
  517. #{payFlag},
  518. #{payTime},
  519. #{finishTime},
  520. #{status},
  521. #{refundStatus},
  522. #{needPayAmount},
  523. #{canRefundAmount},
  524. #{refundAmount},
  525. #{clubID},
  526. #{spID},
  527. #{mainSpID},
  528. #{orderBeanAmount},
  529. #{useBeanAmount},
  530. #{useBeanFlag},
  531. #{canRefundFlag},
  532. #{useBalanceFlag},
  533. #{canRefundBeans},
  534. #{freePostageFee},
  535. #{freePostageTicketID},
  536. #{brokerage},
  537. #{delFlag},
  538. #{refundsAmount},
  539. #{orderStatusFlag},
  540. #{buyStatus},
  541. #{orderSubmitType},
  542. #{orderType},
  543. #{orderTime},
  544. #{deliveryTimeMills},
  545. #{presentNum},
  546. #{preferential}
  547. )
  548. </insert>
  549. <select id="findListByOrderID" resultType="com.caimei.entity.CmShopOrder">
  550. SELECT <include refid="cmShopOrderColumns"/>
  551. FROM cm_shop_order a
  552. WHERE a.orderID = #{orderID} ORDER BY a.shopOrderNo DESC
  553. </select>
  554. <select id="findTotalTaxByOrderID" resultType="Double">
  555. SELECT sum(a.totalAddedValueTax)
  556. FROM cm_shop_order a
  557. WHERE a.orderID = #{orderID} ORDER BY a.shopOrderNo DESC
  558. </select>
  559. <select id="getShopOrderBak" resultType="integer">
  560. select shopOrderBakID from cm_shop_order_bak where shopOrderNo = #{shopOrderNo}
  561. </select>
  562. </mapper>