OrderCommonMapper.xml 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008
  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.OrderCommonMapper">
  4. <select id="countLogisticsBatch" resultType="java.lang.Integer">
  5. SELECT COUNT(*)
  6. FROM cm_logistics_batch
  7. WHERE orderID = #{orderId}
  8. </select>
  9. <select id="countLogisticsBatchShop" resultType="java.lang.Integer">
  10. SELECT COUNT(*)
  11. FROM cm_logistics_batch
  12. WHERE shopOrderId = #{shopOrderId}
  13. </select>
  14. <select id="getOrganizeId" resultType="java.lang.Integer">
  15. select ifnull(organizeID, 0) as organizeId
  16. from cm_order
  17. where orderId = #{orderId}
  18. </select>
  19. <select id="getShopOrganizeId" resultType="java.lang.Integer">
  20. select ifnull(organizeID, 0) as organizeId
  21. from cm_shop_order
  22. where shopOrderId = #{shopOrderId}
  23. </select>
  24. <select id="getShopOrderList" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  25. SELECT
  26. cso.shopOrderID AS shopOrderId,
  27. cso.shopOrderNo,
  28. cso.orderID AS orderId,
  29. cso.organizeID AS organizeId,
  30. ifnull(cso.isColdChina, 0) AS isColdChina,
  31. cso.orderNo,
  32. cso.shopID AS shopId,
  33. cso.note,
  34. cso.userID AS userId,
  35. cso.clubID AS clubId,
  36. cso.spID AS spId,
  37. cso.orderPromotionsId,
  38. cso.promotionFullReduction,
  39. cso.svipShopReduction,
  40. cso.brokerage,
  41. cso.canRefundAmount,
  42. cso.itemCount,
  43. cso.totalAmount,
  44. cso.productAmount,
  45. cso.needPayAmount,
  46. cso.shopProductAmount,
  47. ifnull(cso.shopPostFee, 0) as shopPostFee,
  48. ifnull(cso.shopPostFlag, 0) as shopPostFlag,
  49. cso.shopTaxFee,
  50. cso.shouldPayShopAmount,
  51. cso.orderTime,
  52. cso.orderSubmitType,
  53. cso.splitFlag,
  54. ifnull(cso.sendOutStatus, 1) as sendOutStatus,
  55. s.name AS shopName,
  56. ifnull(s.payway, 0) AS payway,
  57. s.logo AS shopLogo,
  58. s.shopType as shopType,
  59. ifnull(cso.receiptAmount,0) as receiptAmount,
  60. cso.eachDiscount,
  61. ifnull(cso.realPay, cso.needPayAmount) as readPay,
  62. ifnull(cso.receiptStatus, 1) as receiptStatus
  63. FROM cm_shop_order cso
  64. LEFT JOIN shop s ON cso.shopID = s.shopID
  65. WHERE cso.delFlag = 0
  66. AND cso.shopOrderID IN
  67. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  68. #{shopOrderId}
  69. </foreach>
  70. </select>
  71. <select id="getPayShopOrderList" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  72. SELECT
  73. cso.shopOrderID AS shopOrderId,
  74. cso.shopOrderNo,
  75. cso.orderID AS orderId,
  76. cso.organizeID AS organizeId,
  77. ifnull(cso.isColdChina, 0) AS isColdChina,
  78. cso.orderNo,
  79. cso.shopID AS shopId,
  80. cso.note,
  81. cso.userID AS userId,
  82. cso.clubID AS clubId,
  83. cso.spID AS spId,
  84. cso.orderPromotionsId,
  85. cso.promotionFullReduction,
  86. cso.svipShopReduction,
  87. cso.brokerage,
  88. cso.canRefundAmount,
  89. cso.itemCount,
  90. cso.totalAmount,
  91. cso.productAmount,
  92. cso.needPayAmount,
  93. cso.shopProductAmount,
  94. ifnull(cso.shopPostFee, 0) as shopPostFee,
  95. ifnull(cso.shopPostFlag, 0) as shopPostFlag,
  96. cso.shopTaxFee,
  97. cso.shouldPayShopAmount,
  98. cso.orderTime,
  99. cso.orderSubmitType,
  100. cso.splitFlag,
  101. ifnull(cso.accountAmount,0) as accountAmount,
  102. ifnull(cso.useBalanceFlag,0) as useBalanceFlag,
  103. ifnull(cso.sendOutStatus, 1) as sendOutStatus,
  104. s.name AS shopName,
  105. ifnull(s.payway, 0) AS payway,
  106. s.logo AS shopLogo,
  107. s.shopType as shopType,
  108. ifnull(cso.receiptAmount,0) as receiptAmount,
  109. cso.eachDiscount,
  110. ifnull(cso.realPay, cso.needPayAmount) as readPay,
  111. ifnull(cso.receiptStatus, 1) as receiptStatus
  112. FROM cm_shop_order cso
  113. LEFT JOIN shop s ON cso.shopID = s.shopID
  114. WHERE cso.delFlag = 0 and cso.receiptStatus != 3
  115. AND cso.shopOrderID IN
  116. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  117. #{shopOrderId}
  118. </foreach>
  119. </select>
  120. <select id="getShopOrderReceipt" resultType="com.caimei365.order.model.vo.DiscernReceiptVo">
  121. SELECT cdr.id,
  122. cdr.payWay,
  123. cdr.payType,
  124. cdr.receiptType,
  125. cdr.receiptStatus,
  126. cdr.receiptAmount,
  127. cdr.confirmType,
  128. cdr.receiptDate,
  129. cdr.confirmDate,
  130. cdr.reviewDate,
  131. cdr.updateDate,
  132. cdr.delFlag,
  133. cdr.quickInfoId as infoId,
  134. cror.associateAmount
  135. FROM cm_receipt_order_relation cror
  136. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  137. WHERE ((cror.orderID = #{shopOrderId} AND cror.relationType = '2') OR
  138. (cror.shopOrderId = #{shopOrderId} AND cror.relationType = '2'))
  139. AND cror.delFlag = '0'
  140. AND cdr.delFlag = '0'
  141. AND cdr.receiptStatus = '3'
  142. AND cdr.payType != '16'
  143. ORDER BY cdr.receiptDate DESC
  144. </select>
  145. <select id="getOrderPromotionsById" resultType="com.caimei365.order.model.vo.PromotionsVo">
  146. SELECT id,
  147. name,
  148. description,
  149. orderId,
  150. type,
  151. mode,
  152. touchPrice,
  153. reducedPrice,
  154. beginTime,
  155. endTime,
  156. status
  157. FROM cm_promotions_order
  158. WHERE id = #{orderPromotionsId}
  159. </select>
  160. <select id="getShopOrderProduct" resultType="com.caimei365.order.model.vo.OrderProductVo">
  161. SELECT cop.skuId,
  162. cop.orderProductID AS orderProductId,
  163. cop.orderID AS orderId,
  164. cop.orderNo,
  165. cop.shopOrderID AS shopOrderId,
  166. cop.shopOrderNo,
  167. cop.orderPromotionsId,
  168. cop.organizeId,
  169. cop.productId,
  170. cop.shopId,
  171. cop.name,
  172. cop.productImage AS image,
  173. cop.price,
  174. cop.shopName,
  175. cop.costPrice,
  176. cop.normalPrice,
  177. cop.ladderPriceFlag,
  178. cop.discountPrice,
  179. cop.discount,
  180. cop.totalAmount,
  181. cop.totalFee,
  182. cop.shouldPayFee,
  183. cop.productUnit,
  184. cop.num,
  185. cop.presentNum,
  186. cop.discountFee,
  187. cop.includedTax,
  188. cop.invoiceType,
  189. cop.taxRate,
  190. cop.addedValueTax,
  191. cop.totalAddedValueTax,
  192. cop.singleShouldPayTotalTax,
  193. cop.shouldPayTotalTax,
  194. cop.shopProductAmount,
  195. cop.singleShopFee,
  196. cop.shopFee,
  197. cop.singleOtherFee,
  198. cop.otherFee,
  199. cop.singleCmFee,
  200. cop.cmFee,
  201. cop.payStatus,
  202. cop.buyAgainFlag,
  203. cop.notOutStore,
  204. cop.isActProduct AS actProduct,
  205. cop.productType AS giftType,
  206. cop.svipPriceFlag,
  207. cop.svipPriceType,
  208. cop.svipDiscount,
  209. p.productCategory as productCategory,
  210. p.productType,
  211. p.productCode,
  212. p.splitCode,
  213. p.returnGoodsStutas
  214. FROM cm_order_product cop
  215. LEFT JOIN product p ON cop.productID = p.productID
  216. WHERE cop.shopOrderID = #{shopOrderId}
  217. </select>
  218. <select id="getDiscernReceipt" resultType="com.caimei365.order.model.vo.DiscernReceiptVo">
  219. SELECT cdr.id,
  220. cdr.payWay,
  221. cdr.payType,
  222. cdr.receiptType,
  223. cdr.receiptStatus,
  224. cdr.receiptAmount,
  225. cdr.confirmType,
  226. cdr.receiptDate,
  227. cdr.confirmDate,
  228. cdr.reviewDate,
  229. cdr.updateDate,
  230. cdr.delFlag,
  231. cdr.quickInfoId as infoId,
  232. cror.associateAmount
  233. FROM cm_receipt_order_relation cror
  234. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  235. WHERE cror.shopOrderId = #{shopOrderId} AND cror.relationType = '2'
  236. AND cror.delFlag = '0'
  237. AND cdr.delFlag = '0'
  238. AND cdr.receiptStatus = '3'
  239. AND cdr.payType != '16'
  240. ORDER BY cdr.receiptDate DESC
  241. </select>
  242. <select id="getVipDiscernReceipt" resultType="com.caimei365.order.model.vo.DiscernReceiptVo">
  243. SELECT cdr.id,
  244. cdr.payWay,
  245. cdr.payType,
  246. cdr.receiptType,
  247. cdr.receiptStatus,
  248. cdr.receiptAmount,
  249. cdr.confirmType,
  250. cdr.receiptDate,
  251. cdr.confirmDate,
  252. cdr.reviewDate,
  253. cdr.updateDate,
  254. cdr.delFlag,
  255. cror.mbOrderId,
  256. cror.associateAmount
  257. FROM cm_receipt_order_relation cror
  258. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  259. WHERE vipRecordId = #{vipRecordId}
  260. AND cror.relationType = '3'
  261. AND cror.delFlag = '0'
  262. AND cdr.delFlag = '0'
  263. </select>
  264. <select id="getRebateAmountByShopOrder" resultType="java.lang.Double">
  265. SELECT receiptAmount
  266. FROM cm_receipt_order_relation cror
  267. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  268. WHERE cror.delFlag = '0'
  269. AND cror.orderID = #{shopOrderId}
  270. AND cror.relationType = 1
  271. AND cdr.receiptStatus = '2'
  272. </select>
  273. <select id="countOfflinePayment" resultType="java.lang.Integer">
  274. SELECT count(*)
  275. FROM cm_receipt_order_relation cror
  276. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  277. WHERE cror.orderID = #{orderId}
  278. AND cror.relationType = '2'
  279. AND cror.delFlag = '0'
  280. AND cdr.delFlag = '0'
  281. AND cdr.receiptStatus IN (2, 3)
  282. AND cdr.payWay = '2'
  283. </select>
  284. <select id="countOfflinePaymentshopOrder" resultType="java.lang.Integer">
  285. SELECT count(*)
  286. FROM cm_receipt_order_relation cror
  287. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  288. WHERE (cror.orderId = #{shopOrderId} or cror.shopOrderId = #{shopOrderId} )
  289. AND cror.relationType = '2'
  290. AND cror.delFlag = '0'
  291. AND cdr.delFlag = '0'
  292. AND cdr.receiptStatus IN (2, 3)
  293. AND cdr.payWay = '2'
  294. </select>
  295. <select id="getOrderVoucher" resultType="java.lang.Integer">
  296. select count(id) from cm_order_payment_voucher where shopOrderId = #{shopOrderId}
  297. </select>
  298. <select id="getShouldPayShopAmountList" resultType="java.lang.Double">
  299. SELECT shouldPayShopAmount
  300. FROM cm_shop_order
  301. WHERE orderID = #{orderId}
  302. AND delFlag = '0'
  303. </select>
  304. <update id="updateSearchHistory">
  305. UPDATE user_order_history
  306. SET userId = #{userId},
  307. searchWord = #{searchWord},
  308. searchDate = #{searchDate},
  309. delFlag = #{delFlag}
  310. WHERE id = #{id}
  311. </update>
  312. <update id="updateShopOrderBalance">
  313. update cm_shop_order
  314. set useBalanceFlag = #{useBalanceFlag},
  315. accountAmount = #{accountAmount},
  316. receiptStatus = #{receiptStatus}
  317. where shopOrderId = #{shopOrderId}
  318. </update>
  319. <delete id="deleteSearchHistoryLimit">
  320. DELETE
  321. FROM user_order_history
  322. WHERE userId = #{userId}
  323. AND id NOT IN (
  324. SELECT temp.id
  325. FROM (SELECT id FROM user_order_history WHERE userId = #{userId} ORDER BY id DESC LIMIT 10) AS temp
  326. )
  327. </delete>
  328. <insert id="insertSearchHistory">
  329. INSERT INTO user_order_history (userId, searchWord, searchDate, delFlag)
  330. VALUES (#{userId}, #{searchWord}, #{searchDate}, #{delFlag})
  331. </insert>
  332. <select id="getSearchHistoryIdByWord" resultType="java.lang.Integer">
  333. SELECT id
  334. FROM user_order_history
  335. WHERE searchWord = #{searchWord}
  336. ORDER BY id DESC
  337. LIMIT 1
  338. </select>
  339. <select id="countSearchHistory" resultType="java.lang.Integer">
  340. SELECT COUNT(*)
  341. FROM user_order_history
  342. WHERE userId = #{userId}
  343. </select>
  344. <select id="getOrderProductByOrderId" resultType="com.caimei365.order.model.vo.OrderProductVo">
  345. SELECT cop.skuId,
  346. cop.orderProductID AS orderProductId,
  347. cop.orderID AS orderId,
  348. cop.orderNo,
  349. cop.shopOrderID AS shopOrderId,
  350. cop.shopOrderNo,
  351. cop.orderPromotionsId,
  352. cop.productId,
  353. cop.shopId,
  354. cop.name,
  355. cop.productImage AS image,
  356. cop.price,
  357. cop.shopName,
  358. IF(cop.shopid = 998 AND co.freight > 0, co.freight, cop.costPrice) AS costPrice,
  359. cop.normalPrice,
  360. cop.ladderPriceFlag,
  361. cop.discountPrice,
  362. cop.discount,
  363. cop.totalAmount,
  364. cop.totalFee,
  365. cop.shouldPayFee,
  366. cop.productUnit,
  367. cop.num,
  368. cop.presentNum,
  369. cop.discountFee,
  370. cop.includedTax,
  371. cop.invoiceType,
  372. cop.taxRate,
  373. cop.addedValueTax,
  374. cop.totalAddedValueTax,
  375. cop.singleShouldPayTotalTax,
  376. cop.shouldPayTotalTax,
  377. cop.shopProductAmount,
  378. cop.singleShopFee,
  379. cop.shopFee,
  380. cop.singleOtherFee,
  381. cop.otherFee,
  382. cop.singleCmFee,
  383. cop.cmFee,
  384. cop.payStatus,
  385. cop.buyAgainFlag,
  386. cop.notOutStore,
  387. cop.isActProduct AS actProduct,
  388. cop.productType,
  389. p.productCategory as productCategory,
  390. p.splitCode,
  391. p.productType
  392. FROM cm_order_product cop
  393. LEFT JOIN product p ON cop.productID = p.productID
  394. LEFT JOIN cm_order co ON cop.orderId = co.orderId
  395. WHERE co.orderID = #{orderId}
  396. AND IF(co.userBeans = 0, 1 = 1, cop.shopid != 998)
  397. ORDER BY cop.discountPrice DESC
  398. </select>
  399. <select id="getshopOrderProductByOrderId" resultType="com.caimei365.order.model.vo.OrderProductVo">
  400. SELECT cop.skuId,
  401. cop.orderProductID AS orderProductId,
  402. cop.orderID AS orderId,
  403. cop.orderNo,
  404. cop.shopOrderID AS shopOrderId,
  405. cop.shopOrderNo,
  406. (select clubID from cm_order where orderId = cso.orderId ) as clubId,
  407. cop.orderPromotionsId,
  408. cop.productId,
  409. cop.shopId,
  410. cop.name,
  411. cop.productImage AS image,
  412. cop.price,
  413. cop.shopName,
  414. IF(cop.shopid = 998 AND cso.shopPostFlag > 0, cso.shopPostFlag, cop.costPrice) AS costPrice,
  415. cop.normalPrice,
  416. cop.ladderPriceFlag,
  417. cop.discountPrice,
  418. cop.discount,
  419. cop.totalAmount,
  420. cop.totalFee,
  421. cop.shouldPayFee,
  422. cop.productUnit,
  423. cop.num,
  424. cop.presentNum,
  425. cop.discountFee,
  426. cop.includedTax,
  427. cop.invoiceType,
  428. cop.taxRate,
  429. cop.addedValueTax,
  430. cop.totalAddedValueTax,
  431. cop.singleShouldPayTotalTax,
  432. cop.shouldPayTotalTax,
  433. cop.shopProductAmount,
  434. cop.singleShopFee,
  435. cop.shopFee,
  436. cop.singleOtherFee,
  437. cop.otherFee,
  438. cop.singleCmFee,
  439. cop.cmFee,
  440. cop.payStatus,
  441. cop.buyAgainFlag,
  442. cop.notOutStore,
  443. cop.isActProduct AS actProduct,
  444. cop.productType,
  445. p.productCategory as productCategory,
  446. p.splitCode,
  447. p.productType
  448. FROM cm_order_product cop
  449. LEFT JOIN product p ON cop.productID = p.productID
  450. LEFT JOIN cm_shop_order cso ON cop.orderId = cso.orderId
  451. WHERE cso.shopOrderId = #{shopOrderId}
  452. AND IF(cso.useBeanAmount = 0, 1 = 1, cop.shopid != 998)
  453. ORDER BY cop.discountPrice DESC
  454. </select>
  455. <select id="countReturnedNum" resultType="java.lang.Integer">
  456. SELECT SUM(crpp.actualReturnedNum)
  457. FROM cm_returned_purchase_product crpp
  458. LEFT JOIN cm_returned_purchase rp ON rp.id = crpp.returnedID
  459. WHERE crpp.productID = #{productId}
  460. AND crpp.shopOrderID = #{shopOrderId}
  461. AND rp.status = '2'
  462. AND rp.delFlag = '0'
  463. </select>
  464. <select id="countActualCancelNum" resultType="java.lang.Integer">
  465. SELECT SUM(crpp.actualCancelNum)
  466. FROM cm_returned_purchase_product crpp
  467. LEFT JOIN cm_returned_purchase rp ON rp.id = crpp.returnedID
  468. WHERE crpp.productID = #{productId}
  469. AND crpp.shopOrderID = #{shopOrderId}
  470. AND rp.status = '2'
  471. AND rp.delFlag = '0'
  472. </select>
  473. <select id="getRefundStatus" resultType="java.lang.Integer">
  474. select refundStatus from cm_shop_order where shopOrderId = #{shopOrderId}
  475. </select>
  476. <select id="getOrderByOrderId" resultType="com.caimei365.order.model.vo.OrderVo">
  477. SELECT orderID AS orderId,
  478. shopOrderIds,
  479. orderSource,
  480. orderNo,
  481. organizeID AS organizeId,
  482. userID AS userId,
  483. clubID AS clubId,
  484. buyUserID AS buyUserId,
  485. orderTime AS orderTime,
  486. updateDate AS updateDate,
  487. delFlag,
  488. userBeans,
  489. orderType,
  490. orderSubmitType,
  491. confirmFlag,
  492. onlinePayFlag,
  493. splitFlag,
  494. payFlag,
  495. receiptStatus,
  496. payStatus,
  497. zeroCostFlag,
  498. sendOutStatus,
  499. refundType,
  500. affirmPaymentFlag,
  501. productCount,
  502. presentCount,
  503. promotionalGiftsCount,
  504. hasActProduct,
  505. promotionFullReduction,
  506. secondHandOrderFlag,
  507. invoiceFlag,
  508. freePostFlag AS postageFlag,
  509. freight AS postage,
  510. productTotalFee,
  511. orderTotalFee,
  512. payTotalFee,
  513. payableAmount,
  514. balancePayFee,
  515. discountFee,
  516. status,
  517. paySuccessCounter,
  518. confirmTime,
  519. payTime,
  520. rebateFlag,
  521. clauseID AS clauseId,
  522. clauseName,
  523. payTime,
  524. orderNo
  525. FROM cm_order
  526. WHERE orderID = #{orderId}
  527. </select>
  528. <select id="getShopOrderById" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  529. SELECT
  530. cso.shopOrderID AS shopOrderId,
  531. cso.shopOrderNo,
  532. cso.orderID AS orderId,
  533. IFNULL(cso.organizeID, 0) AS organizeId,
  534. IFNULL(cso.isColdChina, 0) AS isColdChina,
  535. cso.orderNo,
  536. cso.shopID AS shopId,
  537. cso.note,
  538. cso.userID AS userId,
  539. (select clubID from cm_order where orderId = cso.orderId ) as clubId,
  540. cso.spID AS spId,
  541. ifnull(cso.presentNum, 0) as presentNum,
  542. cso.orderPromotionsId,
  543. cso.promotionFullReduction,
  544. cso.svipShopReduction,
  545. cso.brokerage,
  546. cso.canRefundAmount,
  547. cso.itemCount,
  548. cso.totalAmount,
  549. cso.productAmount,
  550. cso.needPayAmount,
  551. ifnull(cso.accountAmount,0) as accountAmount,
  552. cso.shopProductAmount,
  553. ifnull(cso.shopPostFee, 0) as shopPostFee,
  554. IFNULL(cso.shopPostFlag, 0) AS shopPostFlag,
  555. cso.shopTaxFee,
  556. cso.shouldPayShopAmount,
  557. (select userBeans from cm_order where orderId = cso.orderId ) as userBeans,
  558. cso.orderTime,
  559. cso.payStatus,
  560. cso.orderSubmitType,
  561. cso.splitFlag,
  562. ifnull(cso.useBalanceFlag, 0) as useBalanceFlag,
  563. ifnull(cso.sendOutStatus, 1) as sendOutStatus,
  564. (select secondHandOrderFlag from cm_order where orderId = cso.orderId ) as secondHandOrderFlag,
  565. s.name AS shopName,
  566. ifnull(s.payway, 0) AS payway,
  567. s.logo AS shopLogo,
  568. s.shopType AS shopType,
  569. IFNULL(cso.receiptAmount,0) AS receiptAmount,
  570. cso.eachDiscount,
  571. IFNULL(cso.realPay, cso.needPayAmount)AS readPay,
  572. ifnull(cso.receiptStatus, 1) as receiptStatus,
  573. cso.shopStatus as status
  574. FROM cm_shop_order cso
  575. LEFT JOIN shop s ON cso.shopID = s.shopID
  576. where cso.delFlag = 0 AND cso.shopOrderId = #{shopOrderId}
  577. </select>
  578. <select id="getOrderByShopOrderId" resultType="com.caimei365.order.model.vo.OrderVo">
  579. SELECT co.orderID AS orderId,
  580. co.shopOrderIds,
  581. co.orderSource,
  582. co.orderNo,
  583. co.organizeID AS organizeId,
  584. co.userID AS userId,
  585. co.clubID AS clubId,
  586. co.buyUserID AS buyUserId,
  587. co.orderTime AS orderTime,
  588. co.updateDate AS updateDate,
  589. co.delFlag,
  590. co.userBeans,
  591. co.orderType,
  592. co.orderSubmitType,
  593. co.confirmFlag,
  594. co.onlinePayFlag,
  595. co.splitFlag,
  596. co.payFlag,
  597. co.receiptStatus,
  598. co.payStatus,
  599. co.zeroCostFlag,
  600. co.sendOutStatus,
  601. co.refundType,
  602. co.affirmPaymentFlag,
  603. co.productCount,
  604. co.presentCount,
  605. co.promotionalGiftsCount,
  606. co.hasActProduct,
  607. co.promotionFullReduction,
  608. co.secondHandOrderFlag,
  609. co.invoiceFlag,
  610. co.freePostFlag AS postageFlag,
  611. co.freight AS postage,
  612. co.productTotalFee,
  613. co.orderTotalFee,
  614. co.payTotalFee,
  615. co.payableAmount,
  616. co.balancePayFee,
  617. co.discountFee,
  618. co.status,
  619. co.paySuccessCounter,
  620. co.confirmTime,
  621. co.payTime,
  622. co.rebateFlag,
  623. co.clauseID AS clauseId,
  624. co.clauseName
  625. FROM cm_shop_order cso
  626. LEFT JOIN cm_order co ON cso.orderID = co.orderID
  627. WHERE cso.shopOrderID = #{shopOrderId}
  628. </select>
  629. <select id="getShopOrderListByOrderId" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  630. SELECT shopOrderID AS shopOrderId,
  631. shopOrderNo,
  632. orderID AS orderId,
  633. orderNo,
  634. shopID AS shopId,
  635. note,
  636. userID AS userId,
  637. clubID AS clubId,
  638. spID AS spId,
  639. orderPromotionsId,
  640. promotionFullReduction,
  641. brokerage,
  642. canRefundAmount,
  643. itemCount,
  644. totalAmount,
  645. productAmount,
  646. needPayAmount,
  647. shopProductAmount,
  648. ifnull(shopPostFee, 0) as shopPostFee,
  649. shopTaxFee,
  650. shouldPayShopAmount,
  651. orderTime,
  652. orderSubmitType,
  653. payStatus,
  654. ifnull(sendOutStatus, 1) as sendOutStatus,
  655. ifnull(receiptStatus, 1) as receiptStatus,
  656. splitFlag
  657. FROM cm_shop_order
  658. WHERE delFlag = 0
  659. AND orderID = #{orderId}
  660. </select>
  661. <select id="getLogisticsBatchList" resultType="com.caimei365.order.model.vo.LogisticsBatchVo">
  662. SELECT id,
  663. shopOrderID AS shopOrderId,
  664. orderID AS orderId,
  665. outStoreTimes,
  666. status,
  667. mailer,
  668. shopID AS shopId,
  669. updateDate,
  670. deliveryTime,
  671. receiptTime,
  672. remarkImage,
  673. remark
  674. FROM cm_logistics_batch
  675. WHERE orderID = #{orderId}
  676. </select>
  677. <select id="getShopLogisticsBatchList" resultType="com.caimei365.order.model.vo.LogisticsBatchVo">
  678. SELECT id,
  679. shopOrderID AS shopOrderId,
  680. orderID AS orderId,
  681. outStoreTimes,
  682. status,
  683. mailer,
  684. shopID AS shopId,
  685. updateDate,
  686. deliveryTime,
  687. receiptTime,
  688. remarkImage,
  689. remark
  690. FROM cm_logistics_batch
  691. WHERE shopOrderID = #{shopOrderId}
  692. </select>
  693. <select id="getLogisticsRecord" resultType="com.caimei365.order.model.vo.LogisticsRecordVo">
  694. SELECT clr.id,
  695. clr.logisticsBatchID AS logisticsBatchId,
  696. clr.shopOrderID AS shopOrderId,
  697. clr.orderID AS orderId,
  698. clr.orderProductID AS orderProductId,
  699. clr.buyNum,
  700. clr.num,
  701. clr.productID AS productId,
  702. clr.productName,
  703. clr.image
  704. FROM cm_logistics_record clr
  705. WHERE clr.shopOrderID = #{shopOrderId}
  706. AND clr.logisticsBatchID = #{logisticsBatchId}
  707. </select>
  708. <select id="getLogisticsInfoList" resultType="com.caimei365.order.model.vo.LogisticsInformationVo">
  709. SELECT DISTINCT li.id,
  710. li.logisticsBatchID AS logisticsBatchId,
  711. li.type,
  712. li.shopOrderID AS shopOrderId,
  713. li.orderProductID AS orderProductId,
  714. li.orderID AS orderId,
  715. li.nu,
  716. li.state,
  717. li.info,
  718. li.logisticsCompanyName,
  719. li.logisticsCompanyCode,
  720. li.shopID AS shopId,
  721. li.updateDate,
  722. li.remarks
  723. FROM logistics_information li
  724. WHERE li.logisticsBatchID = #{logisticsBatchId}
  725. </select>
  726. <select id="getPrevCouponList" resultType="com.caimei365.order.model.vo.CouponVo">
  727. SELECT
  728. id AS couponId,
  729. couponAmount,
  730. touchPrice,
  731. moneyCouponPrice,
  732. moneyCouponFlag,
  733. moneyCouponType,
  734. couponPayWay,
  735. <if test="userId == null || userId == 0">
  736. startDate,
  737. endDate,
  738. </if>
  739. <if test="userId >0">
  740. if(#{registerTime} <![CDATA[ > ]]> startDate,#{registerTime},startDate) as startDate,
  741. if(useTimeFlag=1 or receiveFlag=1,endDate,date_add(if(#{registerTime} <![CDATA[ > ]]> startDate and
  742. #{registerTime}
  743. <![CDATA[ < ]]> endDate,#{registerTime},startDate),interval receivePeriod day)) as endDate,
  744. </if>
  745. couponType,
  746. userId,
  747. shopId,
  748. productType,
  749. categoryType
  750. FROM cm_coupon
  751. WHERE delFlag = 0 AND couponsMode = 0 AND status != 2
  752. <if test="userId == null or userId == 0">
  753. AND couponType != 2
  754. AND NOW() <![CDATA[ > ]]> startDate
  755. AND NOW() <![CDATA[ < ]]> if(receiveFlag = 1,endDate,date_add(startDate,interval receivePeriod day))
  756. </if>
  757. <if test="userId > 0">
  758. AND id NOT IN(SELECT couponId FROM cm_coupon_club WHERE userId = #{userId})
  759. AND (couponType IN (0,1,3)
  760. OR (couponType = 2 AND userId = #{userId})
  761. OR ((SELECT registerTime FROM USER WHERE userID = #{userId}) <![CDATA[ >= ]]> startDate
  762. AND couponType = 4))
  763. and NOW() <![CDATA[ > ]]> startDate
  764. and NOW() <![CDATA[ < ]]> if(receiveFlag = 1,endDate,
  765. date_add(if(#{registerTime} <![CDATA[ > ]]> startDate and #{registerTime} <![CDATA[ < ]]>
  766. endDate,#{registerTime},startDate),
  767. interval receivePeriod day))
  768. </if>
  769. ORDER BY createDate DESC
  770. </select>
  771. <select id="getClubCouponList" resultType="com.caimei365.order.model.vo.CouponVo">
  772. SELECT a.id AS clubCouponId,
  773. cc.id AS couponId,
  774. cc.couponAmount,
  775. cc.touchPrice,
  776. cc.moneyCouponFlag,
  777. cc.moneyCouponPrice,
  778. cc.moneyCouponType,
  779. if(cc.vipFlag = 1, cc.startDate, a.createDate) as startDate,
  780. if(cc.useTimeFlag = 1 or cc.vipFlag = 1, cc.endDate,
  781. date_add(a.createDate, interval cc.usePeriod day)) as endDate,
  782. cc.couponType,
  783. cc.userId,
  784. cc.shopId,
  785. cc.productType,
  786. cc.categoryType,
  787. cc.couponPayWay
  788. FROM cm_coupon_club a
  789. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  790. WHERE if(cc.moneyCouponFlag = 2, cc.delFlag = 0, cc.id > 0)
  791. AND a.delFlag = 0
  792. AND a.userId = #{userId}
  793. AND a.status = 1
  794. AND if(cc.vipFlag = 1,
  795. NOW() BETWEEN cc.startDate AND cc.endDate,
  796. NOW() BETWEEN a.createDate AND if(cc.usePeriod is null, cc.endDate,
  797. date_add(a.createDate, interval cc.usePeriod day)))
  798. AND cc.status != 2
  799. ORDER BY a.createDate DESC
  800. </select>
  801. <select id="getCouponProductIds" resultType="java.lang.Integer">
  802. SELECT productId FROM cm_coupon_product
  803. WHERE couponId = #{couponId}
  804. <if test="source == 1">
  805. AND pcStatus = 1
  806. </if>
  807. <if test="source == 2">
  808. AND appletsStatus = 1
  809. </if>
  810. </select>
  811. <select id="getOrderInvoice" resultType="com.caimei365.order.model.vo.InvoiceVo">
  812. SELECT id,
  813. type,
  814. invoiceTitleType as headingType,
  815. orderId,
  816. invoiceTitle,
  817. corporationTaxNum,
  818. registeredAddress,
  819. registeredPhone,
  820. bankAccountNo,
  821. openBank
  822. FROM bp_order_invoice
  823. WHERE orderId = #{orderId}
  824. LIMIT 1
  825. </select>
  826. <select id="getUserRegisterTime" resultType="java.util.Date">
  827. select registerTime
  828. from user
  829. where userID = #{userId}
  830. </select>
  831. <select id="finduserBean" resultType="java.lang.Integer">
  832. select userBeans
  833. from cm_order
  834. where orderID = #{orderId}
  835. </select>
  836. <select id="findSplitCode" resultType="java.lang.Integer">
  837. SELECT COUNT(*)
  838. FROM product p
  839. LEFT JOIN cm_order_product cop ON cop.productid = p.productid
  840. WHERE cop.orderId = #{orderId}
  841. AND (p.splitCode IS NULL OR p.splitCode = '')
  842. </select>
  843. <select id="getShopOrderDiscernReceipt" resultType="com.caimei365.order.model.vo.DiscernReceiptVo">
  844. SELECT cdr.id,
  845. cdr.payWay,
  846. cdr.payType,
  847. cdr.receiptType,
  848. cdr.receiptStatus,
  849. cdr.receiptAmount,
  850. cdr.confirmType,
  851. cdr.receiptDate,
  852. cdr.confirmDate,
  853. cdr.reviewDate,
  854. cdr.updateDate,
  855. cdr.delFlag,
  856. cdr.quickInfoId as infoId,
  857. cror.associateAmount
  858. FROM cm_receipt_order_relation cror
  859. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  860. WHERE ((cror.shopOrderId = #{shopOrderId} AND cror.relationType = '2') OR
  861. (cror.orderID = #{shopOrderId} AND cror.relationType = '1'))
  862. AND cror.delFlag = '0'
  863. AND cdr.delFlag = '0'
  864. AND cdr.receiptStatus = '3'
  865. AND cdr.payType != '16'
  866. ORDER BY cdr.receiptDate DESC
  867. </select>
  868. <select id="getShopOrderByOrderId" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  869. SELECT cop.shopOrderID AS shopOrderId,
  870. cop.shopOrderNo,
  871. cop.orderID AS orderId,
  872. cop.organizeID as organizeId,
  873. cop.orderNo,
  874. cop.shopID AS shopId,
  875. cop.note,
  876. cop.userID AS userId,
  877. cop.clubID AS clubId,
  878. cop.spID AS spId,
  879. cop.orderPromotionsId,
  880. cop.promotionFullReduction,
  881. cop.brokerage,
  882. cop.canRefundAmount,
  883. cop.itemCount,
  884. cop.totalAmount,
  885. cop.productAmount,
  886. cop.needPayAmount,
  887. cop.shopProductAmount,
  888. ifnull(cop.shopPostFee, 0) as shopPostFee,
  889. cop.shopTaxFee,
  890. cop.shouldPayShopAmount,
  891. cop.orderTime,
  892. cop.orderSubmitType,
  893. cop.payStatus,
  894. cop.splitFlag,
  895. ifnull(cop.useBalanceFlag, 0) as useBalanceFlag,
  896. ifnull(cop.realPay, cop.needPayAmount) as realPay,
  897. cop.receiptAmount,
  898. ifnull(cop.sendOutStatus, 1) as sendOutStatus,
  899. ifnull(cop.receiptStatus, 1) as receiptStatus,
  900. cop.splitCode,
  901. ifnull(cop.paySuccessCounter, 0) as paySuccessCounter,
  902. p.name as shopName,
  903. ifnull(p.payway, 0) AS payway,
  904. cop.shopStatus as status
  905. FROM cm_shop_order cop
  906. left join shop p on cop.shopID = p.shopID
  907. WHERE delFlag = 0
  908. AND shopOrderID = #{shopOrderId}
  909. </select>
  910. <select id="getOrderProductByShopOrderId" resultType="com.caimei365.order.model.vo.OrderProductVo">
  911. SELECT cop.skuId,
  912. cop.orderProductID AS orderProductId,
  913. cop.orderID AS orderId,
  914. cop.orderNo,
  915. cop.shopOrderID AS shopOrderId,
  916. cop.shopOrderNo,
  917. cop.orderPromotionsId,
  918. cop.productId,
  919. cop.shopId,
  920. cop.name,
  921. cop.productImage AS image,
  922. cop.price,
  923. cop.shopName,
  924. IF(cop.shopid = 998 AND co.freight > 0, co.freight, cop.costPrice) AS costPrice,
  925. cop.normalPrice,
  926. cop.ladderPriceFlag,
  927. cop.discountPrice,
  928. cop.discount,
  929. cop.totalAmount,
  930. cop.totalFee,
  931. cop.shouldPayFee,
  932. cop.productUnit,
  933. cop.num,
  934. cop.presentNum,
  935. cop.discountFee,
  936. cop.includedTax,
  937. cop.invoiceType,
  938. cop.taxRate,
  939. cop.addedValueTax,
  940. cop.totalAddedValueTax,
  941. cop.singleShouldPayTotalTax,
  942. cop.shouldPayTotalTax,
  943. cop.shopProductAmount,
  944. cop.singleShopFee,
  945. cop.shopFee,
  946. cop.singleOtherFee,
  947. cop.otherFee,
  948. cop.singleCmFee,
  949. cop.cmFee,
  950. cop.payStatus,
  951. cop.buyAgainFlag,
  952. cop.notOutStore,
  953. cop.isActProduct AS actProduct,
  954. cop.productType,
  955. p.productCategory as productCategory,
  956. p.splitCode,
  957. p.productType
  958. FROM cm_order_product cop
  959. LEFT JOIN product p ON cop.productID = p.productID
  960. LEFT JOIN cm_order co ON cop.orderId = co.orderId
  961. WHERE cop.shopOrderID = #{shopOrderId}
  962. AND IF(co.userBeans = 0, 1 = 1, cop.shopid != 998)
  963. ORDER BY cop.discountPrice DESC
  964. </select>
  965. <select id="findShopFee" resultType="java.lang.Double">
  966. select totalAmount
  967. from cm_shop_order
  968. where shopOrderID = #{shopOrderId}
  969. </select>
  970. <select id="findEachDiscount" resultType="java.lang.Double">
  971. select eachDiscount
  972. from cm_shop_order
  973. where shopOrderID = #{shopOrderId}
  974. </select>
  975. <select id="findWeChatFlag" resultType="java.lang.String">
  976. SELECT ifnull(weChatFlag, 0)
  977. FROM cm_shop_splitcode
  978. WHERE commercialCode = #{splitCode}
  979. and shopId = #{shopId}
  980. </select>
  981. <select id="findPayB2BRecord" resultType="java.lang.Integer">
  982. SELECT COUNT(*)
  983. FROM cm_receipt_order_relation cror
  984. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  985. WHERE cdr.payway = 1
  986. AND cdr.payType = 12
  987. AND cror.shopOrderId = #{shopOrderId}
  988. </select>
  989. <select id="findMaxStock" resultType="java.lang.Integer">
  990. SELECT stock
  991. FROM cm_sku
  992. WHERE productId = #{productId}
  993. and organizeId = 0
  994. ORDER BY stock DESC
  995. LIMIT 1
  996. </select>
  997. <select id="getHelpContent" resultType="java.lang.String">
  998. select content
  999. from helppage
  1000. where helpPageID = #{helpId}
  1001. </select>
  1002. <select id="findOnlinePayWays" resultType="java.lang.String">
  1003. select onlinePayWays
  1004. from cm_shop_order
  1005. where shopOrderID = #{shopOrderId}
  1006. </select>
  1007. </mapper>