java/wangpan-common/target/classes/com/wangpan/common/dal/mapper/MovieMapper.xml
liRQ 1f498d2396 feat: 完成网盘电影刮削系统全量功能开发
本次提交完成了整个网盘电影刮削系统的功能开发,包含以下核心改动:
1.  新增个人资料模块,支持用户修改用户名和头像上传
2.  实现电影刮削状态查询接口,可查看刮削进度、结果和失败原因
3.  完善每日推荐功能,支持当日固定推荐结果缓存
4.  新增图标清理定时任务,自动清理过期图标文件
5.  优化数据库查询映射,修复关联表查询错误
6.  统一各服务配置,移除调试日志并升级加密配置
7.  新增MinIO工具类和文件上传支持
8.  完善接口文档,补充所有新增API的说明示例
2026-06-25 18:25:08 +08:00

40 lines
1.6 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_drive_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>
<!-- 查找指定用户需要刮削的电影(包含 scrape_type='none' 的未刮削电影) -->
<select id="findMoviesNeedingScrape" resultType="com.wangpan.common.dal.dataobject.MovieDO">
SELECT m.* FROM wp_drive_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 (c.id IS NULL OR c.cache_time &lt; DATE_SUB(NOW(), INTERVAL #{expireDays} DAY))
AND m.status = 'active'
ORDER BY m.update_time DESC
LIMIT 100
</select>
</mapper>