BasketMapper.xml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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,cp.channel_prod_price price,ts.ori_price,tp.brief,ts.properties,ts.prod_name,ts.sku_name,ts.weight,ts.weight_unit,IF(uc.id,TRUE,FALSE) AS is_collection
  20. FROM tz_basket tb
  21. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  22. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  23. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  24. LEFT JOIN tz_channel_prod cp on cp.sku_id=ts.sku_id
  25. LEFT JOIN tz_user_collection uc ON uc.prod_id = tp.prod_id AND tb.user_id = uc.user_id
  26. WHERE tp.status = 1 AND ts.status =1 AND tb.user_id = #{userId}
  27. ORDER BY tb.`basket_id` DESC
  28. </select>
  29. <select id="getShopCartItemsByPlatform" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
  30. SELECT
  31. tb.*,
  32. tb.basket_count AS prod_count,
  33. tsd.shop_name,
  34. tp.category_id,
  35. IFNULL( ts.pic, tp.pic ) AS pic,
  36. tcp.channel_prod_price AS price,
  37. ts.ori_price,
  38. tp.brief,
  39. ts.properties,
  40. ts.prod_name,
  41. ts.sku_name,
  42. ts.weight,
  43. ts.weight_unit,
  44. IF
  45. ( uc.id, TRUE, FALSE ) AS is_collection
  46. FROM
  47. tz_basket tb
  48. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  49. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  50. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  51. LEFT JOIN tz_user_collection uc ON (uc.prod_id = tp.prod_id AND tb.user_id = uc.user_id )
  52. LEFT JOIN tz_channel_prod tcp ON (tb.sku_id=tcp.sku_id AND tb.shop_id=tcp.shop_id)
  53. WHERE
  54. tp.STATUS = 1
  55. AND ts.STATUS = 1
  56. AND tb.user_id = #{userId}
  57. AND tcp.channel_id=#{platform}
  58. AND tcp.is_delete=0
  59. ORDER BY
  60. tb.`basket_id` DESC
  61. </select>
  62. <delete id="deleteShopCartItemsByBasketIds">
  63. delete from tz_basket where user_id = #{userId} and basket_id in
  64. <foreach collection="basketIds" item="basketId" open="(" separator="," close=")">
  65. #{basketId}
  66. </foreach>
  67. </delete>
  68. <delete id="deleteAllShopCartItems">
  69. delete from tz_basket where user_id = #{userId}
  70. </delete>
  71. <select id="getShopCartExpiryItems" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
  72. 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
  73. FROM tz_basket tb
  74. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  75. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  76. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  77. WHERE tp.status = 0 OR ts.status =0 AND tb.user_id = #{userId}
  78. </select>
  79. <delete id="cleanExpiryProdList">
  80. DELETE FROM tz_basket
  81. WHERE basket_id IN(
  82. SELECT basket_id FROM (
  83. SELECT tb.basket_id basket_id
  84. FROM tz_basket tb
  85. LEFT JOIN tz_shop_detail tsd
  86. ON tb.shop_id = tsd.shop_id
  87. LEFT JOIN tz_prod tp
  88. ON tb.prod_id = tp.prod_id
  89. LEFT JOIN tz_sku ts
  90. ON tb.sku_id = ts.sku_id
  91. WHERE tp.status = 0 OR ts.status = 0 AND tb.user_id = #{userId}) AS temp)
  92. </delete>
  93. <select id="shopCartItemDtoList" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
  94. 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
  95. FROM tz_basket tb
  96. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  97. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  98. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  99. WHERE tp.status = 1 AND ts.status =1 AND basket_id IN
  100. <foreach collection="basketIdList" item="id" open="(" close=")" separator=",">
  101. #{id}
  102. </foreach>
  103. </select>
  104. <update id="updateDiscountItemId">
  105. <foreach collection="shopCartParams" item="shopCartParam" separator=";">
  106. UPDATE tz_basket SET discount_id = #{shopCartParam.discountId} where basket_id = #{shopCartParam.basketId} and user_id = #{userId}
  107. </foreach>
  108. </update>
  109. <select id="listUserIdByProdId" resultType="java.lang.String">
  110. select user_id from tz_basket where prod_id = #{prodId}
  111. </select>
  112. <select id="getShopCartItemsByShopIdSkuIdUserId" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
  113. 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
  114. FROM tz_basket tb
  115. LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
  116. LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
  117. LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
  118. WHERE tp.status = 1 AND ts.status =1 and tb.shop_id = #{shopId} and tb.sku_id = #{skuId} and tb.user_id = #{userId}
  119. </select>
  120. </mapper>