BasketMapper.xml 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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.yami.shop.dao.BasketMapper">
  4. <resultMap id="BaseResultMap" type="com.yami.shop.bean.model.Basket">
  5. <!--
  6. WARNING - @mbg.generated
  7. -->
  8. <id column="basket_id" jdbcType="BIGINT" property="basketId"/>
  9. <result column="shop_id" jdbcType="BIGINT" property="shopId"/>
  10. <result column="prod_id" jdbcType="BIGINT" property="prodId"/>
  11. <result column="sku_id" jdbcType="BIGINT" property="skuId"/>
  12. <result column="user_id" jdbcType="VARCHAR" property="userId"/>
  13. <result column="basket_count" jdbcType="INTEGER" property="basketCount"/>
  14. <result column="basket_date" jdbcType="TIMESTAMP" property="basketDate"/>
  15. <result column="discount_id" jdbcType="BIGINT" property="discountId"/>
  16. <result column="distribution_card_no" jdbcType="VARCHAR" property="distributionCardNo"/>
  17. </resultMap>
  18. <select id="getShopCartItems" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
  19. SELECT tb.*,tb.basket_count as prod_count,tsd.shop_name,tp.category_id,IFNULL(ts.pic,tp.pic)AS pic,
  20. cp.channel_prod_price price,ts.ori_price,tp.brief,ts.properties,ts.prod_name,ts.sku_name,
  21. tp.is_delete as isDelete, tp.status AS status,cs.shop_sku_stocks as stock,
  22. ts.weight,ts.weight_unit,IF(uc.id,TRUE,FALSE) AS is_collection
  23. FROM tz_basket tb
  24. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  25. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  26. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  27. LEFT JOIN tz_channel_prod cp on cp.sku_id=ts.sku_id and cp.is_delete=0 and tb.shop_id = cp.shop_id
  28. LEFT JOIN tz_shop_sku cs on cs.sku_id=ts.sku_id and cs.is_delete=0 and cs.shop_id = tsd.shop_id
  29. LEFT JOIN tz_user_collection uc ON uc.prod_id = tp.prod_id AND tb.user_id = uc.user_id
  30. WHERE tp.status = 1 AND ts.status =1 AND tb.user_id = #{userId}
  31. ORDER BY tb.`basket_id` DESC
  32. </select>
  33. <select id="getShopCartItemsByPlatform" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
  34. SELECT
  35. tb.*,
  36. tb.basket_count AS prod_count,
  37. tsd.shop_name,
  38. tp.category_id,
  39. IFNULL( ts.pic, tp.pic ) AS pic,
  40. tcp.channel_prod_price AS price,
  41. ts.ori_price,
  42. tp.brief,
  43. ts.properties,
  44. ts.prod_name,
  45. ts.sku_name,
  46. ts.weight,
  47. ts.weight_unit,
  48. tp.is_delete as isDelete, tp.status AS status,
  49. cs.shop_sku_stocks as stock,
  50. IF( uc.id, TRUE, FALSE ) AS is_collection
  51. FROM
  52. tz_basket tb
  53. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  54. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  55. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  56. LEFT JOIN tz_user_collection uc ON (uc.prod_id = tp.prod_id AND tb.user_id = uc.user_id )
  57. LEFT JOIN tz_channel_prod tcp ON (tb.sku_id=tcp.sku_id AND tb.shop_id=tcp.shop_id)
  58. LEFT JOIN tz_shop_sku cs on cs.sku_id=ts.sku_id and cs.is_delete=0 and cs.shop_id = tb.shop_id
  59. WHERE
  60. tp.STATUS = 1
  61. AND ts.STATUS = 1
  62. AND tb.user_id = #{userId}
  63. AND tcp.channel_id=#{channelId}
  64. AND tcp.is_delete=0
  65. ORDER BY
  66. tb.`basket_id` DESC
  67. </select>
  68. <delete id="deleteShopCartItemsByBasketIds">
  69. delete from tz_basket where user_id = #{userId} and basket_id in
  70. <foreach collection="basketIds" item="basketId" open="(" separator="," close=")">
  71. #{basketId}
  72. </foreach>
  73. </delete>
  74. <delete id="deleteAllShopCartItems">
  75. delete from tz_basket where user_id = #{userId}
  76. </delete>
  77. <select id="getShopCartExpiryItems" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
  78. SELECT tb.*,tb.basket_count AS prod_count,tsd.shop_name,tp.pic,tp.price,tp.ori_price,tp.brief,ts.properties,ts.prod_name,ts.sku_name
  79. FROM tz_basket tb
  80. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  81. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  82. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  83. WHERE tp.status = 0 OR ts.status =0 AND tb.user_id = #{userId}
  84. </select>
  85. <delete id="cleanExpiryProdList">
  86. DELETE FROM tz_basket
  87. WHERE basket_id IN(
  88. SELECT basket_id FROM (
  89. SELECT tb.basket_id basket_id
  90. FROM tz_basket tb
  91. LEFT JOIN tz_shop_detail tsd
  92. ON tb.shop_id = tsd.shop_id
  93. LEFT JOIN tz_prod tp
  94. ON tb.prod_id = tp.prod_id
  95. LEFT JOIN tz_sku ts
  96. ON tb.sku_id = ts.sku_id
  97. WHERE tp.status = 0 OR ts.status = 0 AND tb.user_id = #{userId}) AS temp)
  98. </delete>
  99. <select id="shopCartItemDtoList" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
  100. SELECT tb.*,tb.basket_count AS prod_count,tsd.shop_name,tp.pic,tp.price,tp.ori_price,tp.brief,ts.properties,ts.prod_name
  101. FROM tz_basket tb
  102. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  103. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  104. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  105. WHERE tp.status = 1 AND ts.status =1 AND basket_id IN
  106. <foreach collection="basketIdList" item="id" open="(" close=")" separator=",">
  107. #{id}
  108. </foreach>
  109. </select>
  110. <update id="updateDiscountItemId">
  111. <foreach collection="shopCartParams" item="shopCartParam" separator=";">
  112. UPDATE tz_basket SET discount_id = #{shopCartParam.discountId} where basket_id = #{shopCartParam.basketId} and user_id = #{userId}
  113. </foreach>
  114. </update>
  115. <select id="listUserIdByProdId" resultType="java.lang.String">
  116. select user_id from tz_basket where prod_id = #{prodId}
  117. </select>
  118. <select id="getShopCartItemsByShopIdSkuIdUserId" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
  119. SELECT tb.*,tb.basket_count AS prod_count,tsd.shop_name,tp.pic,tp.price,tp.ori_price,tp.brief,ts.properties,ts.prod_name
  120. FROM tz_basket tb
  121. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  122. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  123. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  124. WHERE tp.status = 1 AND ts.status =1 and tb.shop_id = #{shopId} and tb.sku_id = #{skuId} and tb.user_id = #{userId}
  125. </select>
  126. <select id="findByCount" resultType="java.lang.Long">
  127. SELECT IFNULL(SUM(tb.basket_count),0)
  128. FROM tz_basket tb
  129. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  130. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  131. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  132. WHERE tp.status = 1 AND ts.status =1 and tb.shop_id = #{shopId} and tb.prod_id = #{prodId} and tb.user_id = #{userId}
  133. </select>
  134. </mapper>