71 lines
2.6 KiB
XML
71 lines
2.6 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.UserFavoritesMapper">
|
|
|
|
<resultMap type="UserFavorites" id="UserFavoritesResult">
|
|
<result property="id" column="id" />
|
|
<result property="userId" column="user_id" />
|
|
<result property="storeId" column="store_id" />
|
|
<result property="storeProdId" column="store_prod_id" />
|
|
<result property="version" column="version" />
|
|
<result property="delFlag" column="del_flag" />
|
|
<result property="createBy" column="create_by" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateBy" column="update_by" />
|
|
<result property="updateTime" column="update_time" />
|
|
</resultMap>
|
|
|
|
<select id="selectUserFavPage" resultType="com.ruoyi.xkt.dto.userFavorite.UserFavoritePageResDTO">
|
|
SELECT
|
|
uf.id AS user_favorite_id,
|
|
s.id AS store_id,
|
|
uf.store_prod_id,
|
|
s.store_name,
|
|
sp.prod_title,
|
|
uf.create_time,
|
|
sp.prod_art_num,
|
|
sp.prod_status
|
|
FROM
|
|
user_favorites uf
|
|
JOIN store_product sp ON uf.store_prod_id = sp.id
|
|
JOIN store s ON uf.store_id = s.id
|
|
WHERE
|
|
uf.del_flag = 0 AND uf.user_id = #{userId}
|
|
<if test="storeName != null and storeName != ''"> AND s.store_name = #{storeName}</if>
|
|
<if test="prodArtNum != null and prodArtNum != ''"> AND sp.prod_art_num like concat('%', #{prodArtNum}, '%')</if>
|
|
</select>
|
|
|
|
<select id="searchTop10Prod" resultType="com.ruoyi.xkt.dto.dailyStoreTag.DailyStoreTagDTO">
|
|
SELECT
|
|
store_id,
|
|
store_prod_id,
|
|
COUNT( id ) AS count
|
|
FROM
|
|
user_favorites
|
|
WHERE
|
|
del_flag = 0
|
|
GROUP BY
|
|
store_prod_id,
|
|
store_id
|
|
ORDER BY
|
|
count DESC
|
|
LIMIT 10
|
|
</select>
|
|
|
|
<select id="getStatusNum">
|
|
SELECT
|
|
COUNT( CASE WHEN sp.prod_status IN (2) THEN 1 ELSE 0 END ) AS on_sale_num,
|
|
COUNT( CASE WHEN sp.prod_status IN (4,5) THEN 1 ELSE 0 END ) AS expired_num
|
|
FROM
|
|
user_favorites uf
|
|
JOIN store_product sp ON uf.store_prod_id = sp.id
|
|
WHERE
|
|
uf.del_flag = 0
|
|
AND uf.user_id = #{userId}
|
|
AND uf.create_time BETWEEN #{sixMonthAgo} AND #{now}
|
|
</select>
|
|
|
|
|
|
</mapper> |