191 lines
6.6 KiB
XML
191 lines
6.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.StoreProductFileMapper">
|
|
|
|
<update id="updateDelFlagByStoreProdId" parameterType="Long">
|
|
UPDATE store_product_file SET del_flag = 2 WHERE store_prod_id = #{storeProdId}
|
|
</update>
|
|
|
|
<select id="selectListByStoreProdId" parameterType="Long" resultType="com.ruoyi.xkt.dto.storeProductFile.StoreProdFileResDTO">
|
|
SELECT
|
|
spf.store_prod_id AS storeProdId,
|
|
spf.file_id AS fileId,
|
|
sf.file_url AS fileUrl,
|
|
spf.file_type AS fileType,
|
|
sf.file_name AS fileName,
|
|
spf.file_size AS fileSize,
|
|
spf.order_num AS orderNum
|
|
FROM
|
|
store_product_file spf JOIN sys_file sf ON spf.file_id = sf.id
|
|
WHERE
|
|
spf.del_flag = 0 AND spf.file_type IN (1,2,3) AND spf.store_prod_id = #{storeProdId}
|
|
</select>
|
|
|
|
|
|
<select id="selectMainPicByStoreProdIdList" resultType="com.ruoyi.xkt.dto.storeProductFile.StoreProdMainPicDTO">
|
|
SELECT
|
|
spf.store_prod_id AS storeProdId,
|
|
sf.file_url AS fileUrl
|
|
FROM
|
|
store_product_file spf
|
|
JOIN sys_file sf ON spf.file_id = sf.id
|
|
WHERE
|
|
spf.del_flag = 0
|
|
<if test="storeProdIdList != null and storeProdIdList.size() > 0">
|
|
AND spf.store_prod_id in
|
|
<foreach item="storeProdId" collection="storeProdIdList" open="(" separator="," close=")">
|
|
#{storeProdId}
|
|
</foreach>
|
|
</if>
|
|
<if test="fileType != null">
|
|
AND spf.file_type = #{fileType}
|
|
</if>
|
|
<if test="orderNum != null">
|
|
AND spf.order_num = #{orderNum}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectPicSpaceList" >
|
|
SELECT
|
|
sp.prod_art_num AS prodArtNum,
|
|
sp.id AS storeProdId,
|
|
sf.file_url AS fileUrl
|
|
FROM
|
|
store_product_file spf
|
|
JOIN sys_file sf ON spf.file_id = sf.id
|
|
JOIN store_product sp ON spf.store_prod_id = sp.id
|
|
WHERE
|
|
spf.del_flag = 0
|
|
AND spf.file_type = #{fileType}
|
|
AND spf.store_id = #{storeId}
|
|
<if test="storeProdIdList != null and storeProdIdList.size() > 0">
|
|
AND spf.store_prod_id in
|
|
<foreach item="storeProdId" collection="storeProdIdList" open="(" separator="," close=")">
|
|
#{storeProdId}
|
|
</foreach>
|
|
</if>
|
|
ORDER BY
|
|
spf.store_prod_id DESC,
|
|
spf.order_num
|
|
</select>
|
|
|
|
|
|
<select id="selectTotalMainPicList" resultType="com.ruoyi.xkt.dto.storeProductFile.StoreProdFileResDTO">
|
|
SELECT
|
|
spf.store_prod_id AS storeProdId,
|
|
spf.file_id AS fileId,
|
|
sf.file_url AS fileUrl,
|
|
spf.file_type AS fileType,
|
|
spf.file_size AS fileSize,
|
|
sf.file_name AS fileName,
|
|
spf.order_num AS orderNum
|
|
FROM
|
|
store_product_file spf
|
|
JOIN sys_file sf ON spf.file_id = sf.id
|
|
WHERE
|
|
spf.del_flag = 0
|
|
AND spf.file_type = #{fileType}
|
|
AND spf.store_id = #{storeId}
|
|
</select>
|
|
|
|
<select id="selectMainPic" >
|
|
SELECT
|
|
spf.store_prod_id,
|
|
sf.file_url
|
|
FROM
|
|
store_product_file spf
|
|
JOIN store_product sp ON spf.store_prod_id = sp.id
|
|
JOIN sys_file sf ON spf.file_id = sf.id
|
|
WHERE
|
|
spf.del_flag = 0
|
|
AND spf.file_type = 1
|
|
AND spf.order_num = 1
|
|
AND spf.store_prod_id IN
|
|
<foreach item="id" collection="storeProdIdList" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
</select>
|
|
|
|
<select id="selectLatestFourProdList" resultType="com.ruoyi.xkt.dto.storeProductFile.StoreProdFileLatestFourProdDTO">
|
|
WITH RankedProducts AS (
|
|
SELECT
|
|
spf.store_prod_id,
|
|
spf.store_id,
|
|
sf.file_url AS mainPicUrl,
|
|
ROW_NUMBER() OVER ( PARTITION BY spf.store_id ORDER BY spf.create_time DESC ) AS rank_num
|
|
FROM
|
|
store_product_file spf
|
|
JOIN store_product sp ON spf.store_prod_id = sp.id
|
|
JOIN sys_file sf ON spf.file_id = sf.id
|
|
JOIN store s ON spf.store_id = s.id
|
|
WHERE
|
|
spf.del_flag = 0
|
|
AND spf.file_type = 1
|
|
AND spf.order_num = 1
|
|
) SELECT
|
|
store_prod_id,
|
|
store_id,
|
|
mainPicUrl
|
|
FROM
|
|
RankedProducts
|
|
WHERE
|
|
rank_num <= 4
|
|
ORDER BY
|
|
store_id,
|
|
rank_num
|
|
</select>
|
|
|
|
<select id="selectVideoAndMainPicList" resultType="com.ruoyi.xkt.dto.storeProductFile.StoreProdFileResDTO">
|
|
SELECT
|
|
spf.store_prod_id,
|
|
spf.file_id,
|
|
sf.file_url,
|
|
sf.file_name,
|
|
sf.file_size,
|
|
spf.file_type,
|
|
spf.order_num
|
|
FROM
|
|
store_product_file spf
|
|
JOIN sys_file sf ON spf.file_id = sf.id
|
|
WHERE
|
|
spf.del_flag = 0
|
|
AND spf.store_prod_id = #{storeProdId}
|
|
<if test="fileTypeList != null and fileTypeList.size() > 0">
|
|
AND spf.file_type IN
|
|
<foreach item="fileType" collection="fileTypeList" open="(" separator="," close=")">
|
|
#{fileType}
|
|
</foreach>
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectRandomStoreFileList" resultType="com.ruoyi.xkt.dto.advertRound.app.strength.APPStrengthStoreFileDTO">
|
|
SELECT
|
|
store_id,
|
|
sf.file_url AS mainPicUrl
|
|
FROM
|
|
(
|
|
SELECT
|
|
store_id,
|
|
file_id
|
|
FROM
|
|
store_product_file
|
|
WHERE
|
|
del_flag = 0 AND store_id IN
|
|
<foreach item="id" collection="storeIdList" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
AND file_type = 1
|
|
GROUP BY
|
|
store_id,
|
|
file_id
|
|
ORDER BY
|
|
RAND()
|
|
LIMIT 1
|
|
) AS random_files
|
|
JOIN sys_file sf ON random_files.file_id = sf.id;
|
|
</select>
|
|
|
|
|
|
</mapper> |