ShoppingCartMapper.xml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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.ShoppingCartMapper">
  6. <select id="findCartProduct" resultType="com.caimei.model.po.CmMallCartPo">
  7. SELECT
  8. id,
  9. productID,
  10. userID,
  11. productCount
  12. FROM
  13. cm_mall_cart
  14. WHERE
  15. userID = #{userId}
  16. AND productID = #{productId}
  17. AND delFlag = 0
  18. </select>
  19. <insert id="insertCart">
  20. INSERT INTO cm_mall_cart (
  21. productID, userID, productCount, addTime,
  22. delFlag
  23. )
  24. VALUES
  25. (
  26. #{productId}, #{userId}, #{productCount}, NOW(),
  27. 0
  28. )
  29. </insert>
  30. <update id="updateByProductCount">
  31. UPDATE
  32. cm_mall_cart
  33. SET
  34. productCount = #{productCount},
  35. addTime = NOW()
  36. WHERE
  37. id = #{cartId}
  38. </update>
  39. <select id="getCartQuantity" resultType="integer">
  40. SELECT
  41. COUNT(cmc.productID)
  42. FROM
  43. cm_mall_cart cmc
  44. LEFT JOIN cm_organize_product cop ON cmc.productID = cop.id
  45. WHERE cmc.userID = #{userId}
  46. AND cop.status = 1
  47. AND cop.delFlag = 0
  48. </select>
  49. <select id="findCartShop" resultType="com.caimei.model.vo.ShopVo">
  50. SELECT
  51. s.shopID AS shopId,
  52. s.name,
  53. s.logo
  54. FROM
  55. cm_mall_cart cmc
  56. LEFT JOIN cm_organize_product cop ON cmc.productID = cop.id
  57. LEFT JOIN product p ON cop.productId = p.productID
  58. LEFT JOIN shop s ON p.shopID = s.shopID
  59. WHERE
  60. cmc.userID = #{userId}
  61. AND cmc.delFlag = 0
  62. AND cop.status = 1
  63. AND cop.delFlag = 0
  64. GROUP BY
  65. s.shopID
  66. ORDER BY
  67. MAX(cmc.addTime) DESC
  68. </select>
  69. <select id="findByShopCartProduct" resultType="com.caimei.model.vo.CartProductVo">
  70. SELECT
  71. cmc.id AS cartId,
  72. cmc.productID AS productId,
  73. cmc.productCount,
  74. cop.productId AS originalProductId,
  75. cop.price,
  76. cop.minBuyNumber,
  77. cop.ladderPriceFlag,
  78. cop.includedTax,
  79. cop.invoiceType,
  80. cop.clubTaxPoint,
  81. p.name AS productName,
  82. p.shopID AS shopId,
  83. p.mainImage,
  84. p.unit
  85. FROM
  86. cm_mall_cart cmc
  87. LEFT JOIN cm_organize_product cop ON cmc.productID = cop.id
  88. LEFT JOIN product p ON cop.productId = p.productID
  89. WHERE
  90. cmc.userID = #{userId}
  91. AND cmc.delFlag = 0
  92. AND cop.status = 1
  93. AND cop.delFlag = 0
  94. AND p.shopID = #{shopId}
  95. </select>
  96. <select id="findExpiredGoods" resultType="com.caimei.model.vo.CartProductVo">
  97. SELECT
  98. cmc.id AS cartId,
  99. cmc.productID AS productId,
  100. cmc.productCount,
  101. cop.productId AS originalProductId,
  102. cop.price,
  103. cop.minBuyNumber,
  104. cop.ladderPriceFlag,
  105. cop.includedTax,
  106. cop.invoiceType,
  107. cop.clubTaxPoint,
  108. p.name AS productName,
  109. p.shopID AS shopId,
  110. p.mainImage,
  111. p.unit
  112. FROM
  113. cm_mall_cart cmc
  114. LEFT JOIN cm_organize_product cop ON cmc.productID = cop.id
  115. LEFT JOIN product p ON cop.productId = p.productID
  116. WHERE
  117. cmc.userID = #{userId}
  118. AND cmc.delFlag = 0
  119. AND (cop.status = 0
  120. OR cop.delFlag = 1)
  121. </select>
  122. <delete id="deleteCart">
  123. DELETE FROM cm_mall_cart WHERE id = #{cartId}
  124. </delete>
  125. <select id="findProductGifts" resultType="com.caimei.model.vo.CartProductVo">
  126. SELECT
  127. copg.number AS productCount,
  128. cop.id AS productId,
  129. cop.productId AS originalProductId,
  130. cop.price,
  131. cop.minBuyNumber,
  132. cop.ladderPriceFlag,
  133. cop.includedTax,
  134. cop.invoiceType,
  135. cop.clubTaxPoint,
  136. p.name AS productName,
  137. p.shopID AS shopId,
  138. p.mainImage,
  139. p.unit
  140. FROM
  141. cm_organize_promotions_gift copg
  142. LEFT JOIN cm_organize_product cop ON copg.productId = cop.id
  143. LEFT JOIN product p ON cop.productId = p.productID
  144. AND copg.promotionsId = #{promotionsId}
  145. </select>
  146. </mapper>