| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.yami.shop.dao.BasketMapper">
- <resultMap id="BaseResultMap" type="com.yami.shop.bean.model.Basket">
- <!--
- WARNING - @mbg.generated
- -->
- <id column="basket_id" jdbcType="BIGINT" property="basketId"/>
- <result column="shop_id" jdbcType="BIGINT" property="shopId"/>
- <result column="prod_id" jdbcType="BIGINT" property="prodId"/>
- <result column="sku_id" jdbcType="BIGINT" property="skuId"/>
- <result column="user_id" jdbcType="VARCHAR" property="userId"/>
- <result column="basket_count" jdbcType="INTEGER" property="basketCount"/>
- <result column="basket_date" jdbcType="TIMESTAMP" property="basketDate"/>
- <result column="discount_id" jdbcType="BIGINT" property="discountId"/>
- <result column="distribution_card_no" jdbcType="VARCHAR" property="distributionCardNo"/>
- </resultMap>
- <select id="getShopCartItems" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
- 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,
- tp.is_delete as isDelete, tp.status AS status,cs.shop_sku_stocks as stock,
- ts.weight,ts.weight_unit,IF(uc.id,TRUE,FALSE) AS is_collection
- FROM tz_basket tb
- LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
- LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
- LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
- 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
- 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
- LEFT JOIN tz_user_collection uc ON uc.prod_id = tp.prod_id AND tb.user_id = uc.user_id
- WHERE tp.status = 1 AND ts.status =1 AND tb.user_id = #{userId}
- ORDER BY tb.`basket_id` DESC
- </select>
- <select id="getShopCartItemsByPlatform" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
- SELECT
- tb.*,
- tb.basket_count AS prod_count,
- tsd.shop_name,
- tp.category_id,
- IFNULL( ts.pic, tp.pic ) AS pic,
- tcp.channel_prod_price AS price,
- ts.ori_price,
- tp.brief,
- ts.properties,
- ts.prod_name,
- ts.sku_name,
- ts.weight,
- ts.weight_unit,
- tp.is_delete as isDelete, tp.status AS status,
- cs.shop_sku_stocks as stock,
- IF( uc.id, TRUE, FALSE ) AS is_collection
- FROM
- tz_basket tb
- LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
- LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
- LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
- LEFT JOIN tz_user_collection uc ON (uc.prod_id = tp.prod_id AND tb.user_id = uc.user_id )
- LEFT JOIN tz_channel_prod tcp ON (tb.sku_id=tcp.sku_id AND tb.shop_id=tcp.shop_id)
- 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
- WHERE
- tp.STATUS = 1
- AND ts.STATUS = 1
- AND tb.user_id = #{userId}
- AND tcp.channel_id=#{channelId}
- AND tcp.is_delete=0
- ORDER BY
- tb.`basket_id` DESC
- </select>
- <delete id="deleteShopCartItemsByBasketIds">
- delete from tz_basket where user_id = #{userId} and basket_id in
- <foreach collection="basketIds" item="basketId" open="(" separator="," close=")">
- #{basketId}
- </foreach>
- </delete>
- <delete id="deleteAllShopCartItems">
- delete from tz_basket where user_id = #{userId}
- </delete>
- <select id="getShopCartExpiryItems" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
- 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
- FROM tz_basket tb
- LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
- LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
- LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
- WHERE tp.status = 0 OR ts.status =0 AND tb.user_id = #{userId}
- </select>
- <delete id="cleanExpiryProdList">
- DELETE FROM tz_basket
- WHERE basket_id IN(
- SELECT basket_id FROM (
- SELECT tb.basket_id basket_id
- FROM tz_basket tb
- LEFT JOIN tz_shop_detail tsd
- ON tb.shop_id = tsd.shop_id
- LEFT JOIN tz_prod tp
- ON tb.prod_id = tp.prod_id
- LEFT JOIN tz_sku ts
- ON tb.sku_id = ts.sku_id
- WHERE tp.status = 0 OR ts.status = 0 AND tb.user_id = #{userId}) AS temp)
- </delete>
- <select id="shopCartItemDtoList" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
- 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
- FROM tz_basket tb
- LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
- LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
- LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
- WHERE tp.status = 1 AND ts.status =1 AND basket_id IN
- <foreach collection="basketIdList" item="id" open="(" close=")" separator=",">
- #{id}
- </foreach>
- </select>
- <update id="updateDiscountItemId">
- <foreach collection="shopCartParams" item="shopCartParam" separator=";">
- UPDATE tz_basket SET discount_id = #{shopCartParam.discountId} where basket_id = #{shopCartParam.basketId} and user_id = #{userId}
- </foreach>
- </update>
- <select id="listUserIdByProdId" resultType="java.lang.String">
- select user_id from tz_basket where prod_id = #{prodId}
- </select>
- <select id="getShopCartItemsByShopIdSkuIdUserId" resultType="com.yami.shop.bean.app.dto.ShopCartItemDto">
- 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
- FROM tz_basket tb
- LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
- LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
- LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
- WHERE tp.status = 1 AND ts.status =1 and tb.shop_id = #{shopId} and tb.sku_id = #{skuId} and tb.user_id = #{userId}
- </select>
- <select id="findByCount" resultType="java.lang.Long">
- SELECT IFNULL(SUM(tb.basket_count),0)
- FROM tz_basket tb
- LEFT JOIN tz_shop_detail tsd ON tb.shop_id = tsd.shop_id
- LEFT JOIN tz_prod tp ON tb.prod_id = tp.prod_id
- LEFT JOIN tz_sku ts ON tb.sku_id = ts.sku_id
- WHERE tp.status = 1 AND ts.status =1 and tb.shop_id = #{shopId} and tb.prod_id = #{prodId} and tb.user_id = #{userId}
- </select>
- </mapper>
|