OrderCommonMapper.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  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(*) FROM cm_logistics_batch WHERE orderID= #{orderId}
  6. </select>
  7. <select id="getShopOrderList" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  8. SELECT
  9. cso.shopOrderNo,
  10. cso.orderID AS orderId,
  11. cso.orderNo,
  12. cso.shopID AS shopId,
  13. cso.shopName,
  14. cso.note,
  15. cso.userID AS userId,
  16. cso.clubID AS clubId,
  17. cso.spID AS spId,
  18. cso.orderPromotionsId,
  19. cso.promotionFullReduction,
  20. cso.brokerage,
  21. cso.canRefundAmount,
  22. cso.itemCount,
  23. cso.totalAmount,
  24. cso.productAmount,
  25. cso.needPayAmount,
  26. cso.shopProductAmount,
  27. cso.shopPostFee,
  28. cso.shopTaxFee,
  29. cso.shouldPayShopAmount,
  30. cso.orderTime,
  31. cso.orderSubmitType,
  32. cso.splitFlag,
  33. s.name AS shopName,
  34. s.logo AS shopLogo
  35. FROM cm_shop_order cso
  36. LEFT JOIN shop s ON cso.shopID = s.shopID
  37. WHERE cso.delFlag = 0
  38. AND cso.shopOrderID IN
  39. <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
  40. #{shopOrderId}
  41. </foreach>
  42. </select>
  43. <select id="getOrderPromotionsById" resultType="com.caimei365.order.model.vo.PromotionsVo">
  44. SELECT
  45. id,
  46. name,
  47. description,
  48. orderId,
  49. type,
  50. mode,
  51. touchPrice,
  52. reducedPrice,
  53. beginTime,
  54. endTime,
  55. status
  56. FROM cm_promotions_order
  57. WHERE id = #{orderPromotionsId}
  58. </select>
  59. <select id="getShopOrderProduct" resultType="com.caimei365.order.model.vo.OrderProductVo">
  60. SELECT
  61. cop.orderID AS orderId,
  62. cop.orderNo,
  63. cop.shopOrderID AS shopOrderId,
  64. cop.shopOrderNo,
  65. cop.orderPromotionsId,
  66. cop.productId,
  67. cop.shopId,
  68. cop.name,
  69. cop.productImage AS image,
  70. cop.price1 AS price,
  71. cop.shopName,
  72. cop.costPrice,
  73. cop.normalPrice,
  74. cop.ladderPriceFlag,
  75. cop.discountPrice,
  76. cop.discount,
  77. cop.totalAmount,
  78. cop.totalFee,
  79. cop.shouldPayFee,
  80. cop.productUnit,
  81. cop.num,
  82. cop.presentNum,
  83. cop.discountFee,
  84. cop.includedTax,
  85. cop.invoiceType,
  86. cop.taxRate,
  87. cop.addedValueTax,
  88. cop.totalAddedValueTax,
  89. cop.singleShouldPayTotalTax,
  90. cop.shouldPayTotalTax,
  91. cop.shopProductAmount,
  92. cop.singleShopFee,
  93. cop.shopFee,
  94. cop.singleOtherFee,
  95. cop.otherFee,
  96. cop.singleCmFee,
  97. cop.cmFee,
  98. cop.payStatus,
  99. cop.buyAgainFlag,
  100. cop.notOutStore,
  101. cop.isActProduct AS actProduct,
  102. p.productCategory as productCategory
  103. FROM cm_order_product cop
  104. LEFT JOIN product p ON cop.productID = p.productID
  105. WHERE cop.shopOrderID = #{shopOrderId}
  106. </select>
  107. <select id="getDiscernReceipt" resultType="com.caimei365.order.model.vo.DiscernReceiptVo">
  108. SELECT
  109. cdr.payWay,
  110. cdr.payType,
  111. cdr.receiptType,
  112. cdr.receiptStatus,
  113. cdr.receiptAmount,
  114. cdr.confirmType,
  115. cdr.receiptDate,
  116. cdr.confirmDate,
  117. cdr.reviewDate,
  118. cdr.updateDate,
  119. cdr.delFlag,
  120. cror.associateAmount
  121. FROM cm_receipt_order_relation cror
  122. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  123. WHERE ((cror.orderID = #{orderId} AND cror.relationType = '2') OR (cror.orderID = #{shopOrderId} AND cror.relationType = '1'))
  124. AND cror.delFlag = '0' AND cdr.delFlag = '0' AND cdr.receiptStatus = '3' AND cdr.payType != '16'
  125. ORDER BY cdr.receiptDate DESC
  126. </select>
  127. <select id="getRebateAmountByShopOrder" resultType="java.lang.Double">
  128. SELECT
  129. receiptAmount
  130. FROM cm_receipt_order_relation cror
  131. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  132. WHERE cror.delFlag = '0'
  133. AND cror.orderID = #{shopOrderId}
  134. AND cror.relationType = 1
  135. AND cdr.receiptStatus= '2'
  136. </select>
  137. <select id="countOfflinePayment" resultType="java.lang.Integer">
  138. SELECT count(*)
  139. FROM cm_receipt_order_relation cror
  140. LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
  141. WHERE cror.orderID = #{orderId}
  142. AND cror.relationType = '2' AND cror.delFlag = '0'
  143. AND cdr.delFlag = '0' AND cdr.receiptStatus IN(2,3) AND cdr.payWay = '2'
  144. </select>
  145. <select id="getShouldPayShopAmountList" resultType="java.lang.Double">
  146. SELECT shouldPayShopAmount FROM cm_shop_order WHERE orderID = #{orderId} AND delFlag = '0'
  147. </select>
  148. <update id="updateSearchHistory">
  149. UPDATE user_order_history SET
  150. userId = #{userId},
  151. searchWord = #{searchWord},
  152. searchDate = #{searchDate},
  153. delFlag = #{delFlag}
  154. WHERE id = #{id}
  155. </update>
  156. <delete id="deleteSearchHistoryLimit">
  157. DELETE FROM user_order_history
  158. WHERE userId=#{userId}
  159. AND id NOT IN (
  160. SELECT temp.id FROM (SELECT id FROM user_order_history WHERE userId=#{userId} ORDER BY id DESC LIMIT 10) AS temp
  161. )
  162. </delete>
  163. <insert id="insertSearchHistory">
  164. INSERT INTO user_order_history (userId, searchWord, searchDate, delFlag)
  165. VALUES (#{userId}, #{searchWord}, #{searchDate}, #{delFlag})
  166. </insert>
  167. <select id="getSearchHistoryIdByWord" resultType="java.lang.Integer">
  168. SELECT id FROM user_order_history
  169. WHERE searchWord = #{searchWord}
  170. ORDER BY id DESC
  171. LIMIT 1
  172. </select>
  173. <select id="countSearchHistory" resultType="java.lang.Integer">
  174. SELECT COUNT(*) FROM user_order_history WHERE userId = #{userId}
  175. </select>
  176. <select id="getOrderProductByOrderId" resultType="com.caimei365.order.model.vo.OrderProductVo">
  177. SELECT
  178. cop.orderID AS orderId,
  179. cop.orderNo,
  180. cop.shopOrderID AS shopOrderId,
  181. cop.shopOrderNo,
  182. cop.orderPromotionsId,
  183. cop.productId,
  184. cop.shopId,
  185. cop.name,
  186. cop.productImage AS image,
  187. cop.price1 AS price,
  188. cop.shopName,
  189. cop.costPrice,
  190. cop.normalPrice,
  191. cop.ladderPriceFlag,
  192. cop.discountPrice,
  193. cop.discount,
  194. cop.totalAmount,
  195. cop.totalFee,
  196. cop.shouldPayFee,
  197. cop.productUnit,
  198. cop.num,
  199. cop.presentNum,
  200. cop.discountFee,
  201. cop.includedTax,
  202. cop.invoiceType,
  203. cop.taxRate,
  204. cop.addedValueTax,
  205. cop.totalAddedValueTax,
  206. cop.singleShouldPayTotalTax,
  207. cop.shouldPayTotalTax,
  208. cop.shopProductAmount,
  209. cop.singleShopFee,
  210. cop.shopFee,
  211. cop.singleOtherFee,
  212. cop.otherFee,
  213. cop.singleCmFee,
  214. cop.cmFee,
  215. cop.payStatus,
  216. cop.buyAgainFlag,
  217. cop.notOutStore,
  218. cop.isActProduct AS actProduct,
  219. p.productCategory as productCategory
  220. FROM cm_order_product cop
  221. LEFT JOIN product p ON cop.productID = p.productID
  222. WHERE orderID = #{orderId}
  223. ORDER BY shopID ASC, productID ASC
  224. </select>
  225. <select id="countReturnedNum" resultType="java.lang.Integer">
  226. SELECT SUM(crpp.actualReturnedNum)
  227. FROM cm_returned_purchase_product crpp
  228. LEFT JOIN cm_returned_purchase rp ON rp.id = crpp.returnedID
  229. WHERE crpp.productID = #{productId}
  230. AND crpp.shopOrderID = #{shopOrderId}
  231. AND rp.status = '2' AND rp.delFlag = '0'
  232. </select>
  233. <select id="countActualCancelNum" resultType="java.lang.Integer">
  234. SELECT SUM(crpp.actualCancelNum)
  235. FROM cm_returned_purchase_product crpp
  236. LEFT JOIN cm_returned_purchase rp ON rp.id = crpp.returnedID
  237. WHERE crpp.productID = #{productId}
  238. AND crpp.shopOrderID = #{shopOrderId}
  239. AND rp.status = '2' AND rp.delFlag = '0'
  240. </select>
  241. <select id="getOrderByOrderId" resultType="com.caimei365.order.model.vo.OrderVo">
  242. SELECT
  243. orderID AS orderId,
  244. orderSource,
  245. orderNo,
  246. userID AS userId,
  247. clubID AS clubId,
  248. shopOrderIds,
  249. buyUserID AS buyUserId,
  250. orderTime AS orderTime,
  251. updateDate AS updateDate,
  252. delFlag,
  253. userBeans,
  254. orderType,
  255. orderSubmitType,
  256. confirmFlag,
  257. onlinePayFlag,
  258. splitFlag,
  259. payFlag,
  260. receiptStatus,
  261. payStatus,
  262. zeroCostFlag,
  263. sendOutStatus,
  264. refundType,
  265. affirmPaymentFlag,
  266. productCount,
  267. presentCount,
  268. promotionalGiftsCount,
  269. hasActProduct,
  270. promotionFullReduction,
  271. secondHandOrderFlag,
  272. invoiceFlag,
  273. freePostFlag AS postageFlag,
  274. freight AS postage,
  275. productTotalFee,
  276. orderTotalFee,
  277. payTotalFee,
  278. payableAmount,
  279. balancePayFee,
  280. status,
  281. paySuccessCounter,
  282. confirmTime,
  283. payTime,
  284. rebateFlag,
  285. clauseID AS clauseId,
  286. clauseName
  287. FROM cm_order
  288. WHERE orderID = #{orderId}
  289. </select>
  290. <select id="getShopOrderListByOrderId" resultType="com.caimei365.order.model.vo.ShopOrderVo">
  291. SELECT
  292. shopOrderId,
  293. shopOrderNo,
  294. orderID AS orderId,
  295. orderNo,
  296. shopID AS shopId,
  297. shopName,
  298. note,
  299. userID AS userId,
  300. clubID AS clubId,
  301. spID AS spId,
  302. orderPromotionsId,
  303. promotionFullReduction,
  304. brokerage,
  305. canRefundAmount,
  306. itemCount,
  307. totalAmount,
  308. productAmount,
  309. needPayAmount,
  310. shopProductAmount,
  311. shopPostFee,
  312. shopTaxFee,
  313. shouldPayShopAmount,
  314. orderTime,
  315. orderSubmitType,
  316. payStatus,
  317. splitFlag
  318. FROM cm_shop_order
  319. WHERE cso.delFlag = 0
  320. AND orderID = #{orderId}
  321. </select>
  322. <select id="getLogisticsBatchList" resultType="com.caimei365.order.model.vo.LogisticsBatchVo">
  323. SELECT
  324. id,
  325. shopOrderID AS shopOrderId,
  326. orderID AS orderId,
  327. outStoreTimes,
  328. status,
  329. mailer,
  330. shopID AS shopId,
  331. updateDate,
  332. deliveryTime,
  333. receiptTime,
  334. remarkImage,
  335. remark
  336. FROM cm_logistics_batch WHERE orderID= #{orderId}
  337. </select>
  338. <select id="getLogisticsRecord" resultType="com.caimei365.order.model.vo.LogisticsRecordVo">
  339. SELECT
  340. clr.id,
  341. clr.logisticsBatchID AS shopOrderId,
  342. clr.shopOrderID AS shopOrderId,
  343. clr.orderID AS orderProductId,
  344. clr.orderProductID AS orderProductId,
  345. clr.buyNum,
  346. clr.num,
  347. clr.productID AS productId,
  348. clr.productName,
  349. clr.image
  350. FROM cm_logistics_record clr
  351. WHERE clr.shopOrderID = #{shopOrderId} AND clr.logisticsBatchID = #{logisticsBatchId}
  352. </select>
  353. <select id="getLogisticsInfoList" resultType="com.caimei365.order.model.vo.LogisticsInformationVo">
  354. SELECT DISTINCT
  355. li.id,
  356. li.logisticsBatchID AS logisticsBatchId,
  357. li.type,
  358. li.shopOrderID AS shopOrderId,
  359. li.orderProductID AS orderProductId,
  360. li.orderID AS orderId,
  361. li.nu,
  362. li.state,
  363. li.info,
  364. li.logisticsCompanyName,
  365. li.logisticsCompanyCode,
  366. li.shopID AS shopId,
  367. li.updateDate,
  368. li.remarks
  369. FROM logistics_information li
  370. WHERE li.logisticsBatchID = #{logisticsBatchId}
  371. </select>
  372. </mapper>