java/wangpan-common/target/classes/com/wangpan/common/dal/mapper/MovieMapper.xml
2026-06-15 10:25:06 +08:00

40 lines
1.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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 XML存放复杂SQL简单CRUD由MyBatis-Plus BaseMapper自动提供 -->
<mapper namespace="com.wangpan.common.dal.mapper.MovieMapper">
<!-- 查找用户所有网盘下的重复电影(按 title 分组,出现次数 > 1 -->
<select id="findDuplicateMovies" resultType="java.util.Map">
SELECT title, COUNT(*) AS cnt
FROM wp_movie
WHERE user_id = #{userId} AND status = 'active'
GROUP BY title
HAVING COUNT(*) > 1
ORDER BY cnt DESC
</select>
<!-- 查找所有配置了TMDB API Key的用户供定时刮削使用 -->
<select id="findUsersWithTmdbKey" resultType="java.util.Map">
SELECT u.id, u.username
FROM wp_user u
WHERE u.tmdb_api_key IS NOT NULL
AND u.tmdb_api_key != ''
AND u.status = 1
</select>
<!-- 查找指定用户需要刮削的电影 -->
<select id="findMoviesNeedingScrape" resultType="com.wangpan.common.dal.dataobject.MovieDO">
SELECT m.* FROM wp_movie m
LEFT JOIN wp_tmdb_cache c ON m.id = c.movie_id AND c.status = 'active'
WHERE m.user_id = #{userId}
AND m.title IS NOT NULL AND m.title != ''
AND m.scrape_type != 'none'
AND (c.id IS NULL OR c.cache_time &lt; DATE_SUB(NOW(), INTERVAL #{expireDays} DAY))
ORDER BY m.update_time DESC
LIMIT 100
</select>
</mapper>