82 lines
2.9 KiB
XML
82 lines
2.9 KiB
XML
<?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.ruoyi.xkt.mapper.ShoppingCartMapper">
|
|
|
|
<select id="selectDetailList" parameterType="Long" resultType="com.ruoyi.xkt.dto.userShoppingCart.ShopCartPageDetailResDTO">
|
|
SELECT
|
|
scd.id AS shopping_cart_detail_id,
|
|
scd.shopping_cart_id,
|
|
scd.store_prod_color_id,
|
|
scd.size,
|
|
scd.store_color_id,
|
|
scd.color_name,
|
|
scd.quantity,
|
|
spcp.price,
|
|
( scd.quantity * spcp.price ) AS amount
|
|
FROM
|
|
shopping_cart_detail scd
|
|
LEFT JOIN store_product_color_price spcp ON scd.store_prod_color_id = spcp.id
|
|
WHERE
|
|
scd.del_flag = 0
|
|
AND scd.shopping_cart_id IN
|
|
<foreach item="id" collection="shoppingCartIdList" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
</select>
|
|
|
|
<select id="selectShopCartPage" resultType="com.ruoyi.xkt.dto.userShoppingCart.ShopCartPageResDTO">
|
|
SELECT DISTINCT
|
|
sc.id AS shopping_cart_id,
|
|
sc.store_id,
|
|
sc.store_prod_id,
|
|
s.store_name,
|
|
sp.prod_art_num,
|
|
sp.prod_title,
|
|
CASE
|
|
sp.prod_status
|
|
WHEN 2 THEN
|
|
'在售'
|
|
WHEN 4 THEN
|
|
'已下架'
|
|
WHEN 5 THEN
|
|
'已删除'
|
|
END AS prod_status
|
|
FROM
|
|
shopping_cart sc
|
|
JOIN store s ON sc.store_id = s.id
|
|
JOIN store_product sp ON sc.store_prod_id = sp.id
|
|
WHERE
|
|
sc.del_flag = 0
|
|
AND sc.user_id = #{userId}
|
|
AND sp.prod_status IN
|
|
<foreach item="status" collection="statusList" open="(" separator="," close=")">
|
|
#{status}
|
|
</foreach>
|
|
<if test="prodArtNum != null and prodArtNum != ''">
|
|
AND sp.prod_art_num like concat('%', #{prodArtNum}, '%')
|
|
</if>
|
|
<if test="storeName != null and storeName != ''">
|
|
AND s.store_name like concat('%', #{storeName}, '%')
|
|
</if>
|
|
ORDER BY
|
|
sc.store_id,
|
|
sc.id DESC
|
|
</select>
|
|
|
|
<select id="getStatusNum">
|
|
SELECT
|
|
IFNULL( SUM( CASE WHEN sp.prod_status IN ( 2 ) THEN 1 ELSE 0 END ), 0 ) AS onSaleNum,
|
|
IFNULL( SUM( CASE WHEN sp.prod_status IN ( 4, 5 ) THEN 1 ELSE 0 END ), 0 ) AS expiredNum
|
|
FROM
|
|
shopping_cart sc
|
|
JOIN store_product sp ON sc.store_prod_id = sp.id
|
|
WHERE
|
|
sc.del_flag = 0
|
|
AND sc.user_id = #{userId}
|
|
AND sc.create_time BETWEEN #{sixMonthAgo} AND #{now}
|
|
</select>
|
|
|
|
|
|
</mapper> |