CartClubMapper.xml 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  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.CartClubMapper">
  4. <!-- 购物车供应商列表 -->
  5. <select id="getCartShops" resultType="com.caimei365.order.model.vo.CartShopVo">
  6. SELECT DISTINCT
  7. c.shopID AS shopId,
  8. s.name AS shopName,
  9. s.logo AS shopLogo
  10. FROM cm_cart c
  11. LEFT JOIN shop s ON c.shopID = s.shopID
  12. WHERE c.userID = #{userId}
  13. GROUP BY c.shopID, c.cm_cartID
  14. ORDER BY c.cm_cartID DESC
  15. </select>
  16. <select id="getCartShopsByProductIds" resultType="com.caimei365.order.model.vo.CartShopVo">
  17. SELECT DISTINCT
  18. c.shopID AS shopId,
  19. s.name AS shopName,
  20. s.logo AS shopLogo
  21. FROM cm_cart c
  22. LEFT JOIN shop s ON c.shopID = s.shopID
  23. WHERE c.userID = #{userId}
  24. AND c.productID in
  25. <foreach collection="productIds" open="(" separator="," close=")" item="productId">
  26. #{productId}
  27. </foreach>
  28. GROUP BY c.shopID, c.cm_cartID
  29. ORDER BY c.cm_cartID DESC
  30. </select>
  31. <select id="getCartProductsByShopId" resultType="com.caimei365.order.model.vo.CartItemVo">
  32. SELECT
  33. c.cm_cartID AS id,
  34. c.productCount AS number,
  35. p.productID AS productId,
  36. p.shopID AS shopId,
  37. p.`name` AS `name`,
  38. p.mainImage AS image,
  39. p.productCode,
  40. p.price1 AS price,
  41. p.price1 AS originalPrice,
  42. p.unit AS unit,
  43. p.stock AS stock,
  44. p.step AS step,
  45. p.minBuyNumber AS min,
  46. p.price1TextFlag AS priceFlag,
  47. p.ladderPriceFlag AS ladderFlag,
  48. p.includedTax AS includedTax,
  49. p.invoiceType AS invoiceType,
  50. p.taxPoint AS taxRate,
  51. p.productCategory,
  52. p.validFlag AS validFlag,
  53. if(csp.id is not null,1,0) as svipProductFlag,
  54. csp.priceType as svipPriceType,
  55. csp.discount as svipDiscount,
  56. csp.discountPrice as svipDiscountPrice
  57. FROM cm_cart c
  58. LEFT JOIN product p ON c.productID = p.productID
  59. LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
  60. WHERE c.userID = #{userId} and p.shopID = #{shopId}
  61. ORDER BY c.cm_cartID DESC
  62. </select>
  63. <select id="getCartProductsByShopIdAndProductIds" resultType="com.caimei365.order.model.vo.CartItemVo">
  64. SELECT
  65. c.cm_cartID AS id,
  66. c.productCount AS number,
  67. p.productID AS productId,
  68. p.shopID AS shopId,
  69. p.`name` AS `name`,
  70. p.mainImage AS image,
  71. p.productCode,
  72. p.price1 AS price,
  73. p.price1 AS originalPrice,
  74. p.unit AS unit,
  75. p.stock AS stock,
  76. p.step AS step,
  77. p.minBuyNumber AS min,
  78. p.price1TextFlag AS priceFlag,
  79. p.ladderPriceFlag AS ladderFlag,
  80. p.includedTax AS includedTax,
  81. p.invoiceType AS invoiceType,
  82. p.taxPoint AS taxRate,
  83. p.productCategory,
  84. p.validFlag AS validFlag,
  85. if(csp.id is not null,1,0) as svipProductFlag,
  86. csp.priceType as svipPriceType,
  87. csp.discount as svipDiscount,
  88. csp.discountPrice as svipDiscountPrice
  89. FROM cm_cart c
  90. LEFT JOIN product p ON c.productID = p.productID
  91. LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
  92. WHERE c.userID = #{userId} and p.shopID = #{shopId}
  93. AND p.validFlag='2' AND p.productID in
  94. <foreach collection="productIds" open="(" separator="," close=")" item="productId">
  95. #{productId}
  96. </foreach>
  97. ORDER BY c.cm_cartID DESC
  98. </select>
  99. <select id="getCartProductList" resultType="com.caimei365.order.model.vo.CartItemVo">
  100. SELECT
  101. c.cm_cartID AS id,
  102. c.productCount AS number,
  103. p.productID AS productId,
  104. p.shopID AS shopId,
  105. p.`name` AS `name`,
  106. p.mainImage AS image,
  107. p.productCode,
  108. p.price1 AS price,
  109. p.price1 AS originalPrice,
  110. p.unit AS unit,
  111. p.stock AS stock,
  112. p.step AS step,
  113. p.minBuyNumber AS min,
  114. p.price1TextFlag AS priceFlag,
  115. p.ladderPriceFlag AS ladderFlag,
  116. p.includedTax AS includedTax,
  117. p.invoiceType AS invoiceType,
  118. p.taxPoint AS taxRate,
  119. p.productCategory,
  120. p.validFlag AS validFlag
  121. FROM cm_cart c
  122. LEFT JOIN product p ON c.productID = p.productID
  123. WHERE p.validFlag='2' AND c.userID = #{userId}
  124. AND p.price1TextFlag != '1'
  125. AND p.stock != '0' AND p.stock <![CDATA[ >= ]]> c.productCount
  126. ORDER BY c.cm_cartID DESC
  127. </select>
  128. <select id="getCartPo" resultType="com.caimei365.order.model.po.CartPo">
  129. SELECT
  130. c.cm_cartID AS id,
  131. c.productCount,
  132. c.productID AS productId,
  133. c.shopID AS shopId,
  134. c.userID AS userId
  135. FROM cm_cart c
  136. WHERE c.productID = #{productId} and c.userID = #{userId}
  137. ORDER BY c.cm_cartID DESC
  138. limit 1
  139. </select>
  140. <update id="updateCart" parameterType="com.caimei365.order.model.po.CartPo">
  141. UPDATE cm_cart set
  142. productCount = #{productCount},
  143. addTime = #{addTime}
  144. WHERE userID = #{userId} AND productID = #{productId}
  145. </update>
  146. <insert id="insertCart" keyColumn="cm_cartID" keyProperty="id" parameterType="com.caimei365.order.model.po.CartPo" useGeneratedKeys="true">
  147. INSERT INTO cm_cart (shopID, productID, userID, productCount, addTime, reBuyFlag)
  148. VALUES (#{shopId}, #{productId}, #{userId}, #{productCount}, #{addTime}, #{reBuyFlag})
  149. </insert>
  150. <delete id="deleteCartByProductIds">
  151. DELETE FROM cm_cart
  152. WHERE userID = #{userId}
  153. AND productID in
  154. <foreach collection="productIds" open="(" separator="," close=")" item="productId">
  155. #{productId}
  156. </foreach>
  157. </delete>
  158. <delete id="deleteUserInvoice">
  159. delete from cm_user_invoiceinfo where userId = #{userId}
  160. </delete>
  161. <insert id="insertUserInvoice">
  162. INSERT INTO cm_user_invoiceinfo (userId, invoiceTitle, corporationTaxNum,
  163. registeredAddress, registeredPhone,bankAccountNo, openBank)
  164. VALUES (#{userId}, #{invoiceTitle}, #{corporationTaxNum},
  165. #{registeredAddress}, #{registeredPhone}, #{bankAccountNo}, #{openBank})
  166. </insert>
  167. <update id="updateUserInvoice">
  168. UPDATE cm_user_invoiceinfo
  169. SET invoiceTitle = #{invoiceTitle},
  170. corporationTaxNum = #{corporationTaxNum},
  171. registeredAddress = #{registeredAddress},
  172. registeredPhone = #{registeredPhone},
  173. bankAccountNo = #{bankAccountNo},
  174. openBank = #{openBank}
  175. WHERE userId = #{userId}
  176. </update>
  177. <select id="getUserInvoice" resultType="com.caimei365.order.model.vo.InvoiceVo">
  178. SELECT id, userId, invoiceTitle, corporationTaxNum, registeredAddress, registeredPhone,bankAccountNo, openBank
  179. FROM cm_user_invoiceinfo
  180. WHERE userId = #{userId}
  181. order by id desc limit 1
  182. </select>
  183. <select id="getCartItemByProductId" resultType="com.caimei365.order.model.vo.CartItemVo">
  184. SELECT
  185. p.productID AS productId,
  186. p.shopID AS shopId,
  187. p.`name` AS `name`,
  188. p.mainImage AS image,
  189. p.productCode,
  190. p.price1 AS price,
  191. p.price1 AS originalPrice,
  192. p.unit AS unit,
  193. p.stock AS stock,
  194. p.step AS step,
  195. p.minBuyNumber AS min,
  196. p.price1TextFlag AS priceFlag,
  197. p.ladderPriceFlag AS ladderFlag,
  198. p.includedTax AS includedTax,
  199. p.invoiceType AS invoiceType,
  200. p.taxPoint AS taxRate,
  201. p.productCategory,
  202. p.validFlag AS validFlag,
  203. if(csp.id is not null,1,0) as svipProductFlag,
  204. csp.priceType as svipPriceType,
  205. csp.discount as svipDiscount,
  206. csp.discountPrice as svipDiscountPrice
  207. FROM product p
  208. LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
  209. WHERE p.validFlag='2' AND p.productID = #{productId}
  210. </select>
  211. <select id="findVipCoupon" resultType="java.lang.Integer">
  212. select couponId from cm_svip_coupon
  213. </select>
  214. </mapper>