fix: 修复DB.py中的SQL查询以正确处理黑名单关键词逻辑

This commit is contained in:
晓丰 2025-06-12 22:15:51 +08:00
parent cb930f2c00
commit 93d32e89f5

15
DB.py
View File

@ -435,15 +435,24 @@ WHERE a.white_status = 1;
FROM FROM
sh_dm_keyword k sh_dm_keyword k
LEFT JOIN LEFT JOIN
sh_dm_title t ON k.title = t.title sh_dm_title t ON k.title = t.title
WHERE WHERE
k.status = 1 k.status = 1
AND t.status = 1 AND t.status = 1
AND NOT EXISTS ( AND NOT EXISTS (
SELECT 1 FROM sh_dm_black_keyword b WHERE b.title = t.title SELECT 1
FROM sh_dm_black_keyword b
WHERE
(
(b.keyword IS NULL OR b.keyword = '') AND b.title = t.title
)
OR (
b.keyword IS NOT NULL AND b.keyword != '' AND b.keyword = k.keyword
)
) )
AND t.level = %s AND t.level = %s
GROUP BY k.keyword, k.rn GROUP BY
k.keyword, k.rn;
""" """
self.cursor.execute(sql, (level,)) self.cursor.execute(sql, (level,))
return self.cursor.fetchall() return self.cursor.fetchall()