diff --git a/app/engines/report_engine.py b/app/engines/report_engine.py index 3c180d5..41fa438 100644 --- a/app/engines/report_engine.py +++ b/app/engines/report_engine.py @@ -66,11 +66,11 @@ class Reporter: def worker(self): while self.status: for mode in self.mode: - if mode == "pc": + if mode == "pc" and self.status: self.reporters["pc"].run() - elif mode == "wap": + elif mode == "wap" and self.status: self.reporters["wap"].run() - elif mode == "site": + elif mode == "site" and self.status: self.reporters["site"].run() else: logger.error(f"参数错误: {mode}") diff --git a/app/engines/reporters/pc_reporter.py b/app/engines/reporters/pc_reporter.py index 01cd42a..9f9440d 100644 --- a/app/engines/reporters/pc_reporter.py +++ b/app/engines/reporters/pc_reporter.py @@ -55,7 +55,7 @@ class PcReporter(BaseReporter): def run(self): with Session(self.database) as session: - stmt = select(ReportUrlModel).where(ReportUrlModel.is_report_by_one == False) + stmt = select(ReportUrlModel).where(ReportUrlModel.is_report_by_one == False).where(ReportUrlModel.has_evidence == True) rows: list[ReportUrlModel] = session.exec(stmt).all() logger.info(f"[{self.engine_name}] 共计 {len(rows)} 条记录需要举报") diff --git a/app/engines/reporters/site_reporter.py b/app/engines/reporters/site_reporter.py index 60e9dce..ac4dcd9 100644 --- a/app/engines/reporters/site_reporter.py +++ b/app/engines/reporters/site_reporter.py @@ -54,7 +54,7 @@ class SiteReporter(BaseReporter): def run(self): """实现 PC 端的举报逻辑""" with Session(self.database) as session: - stmt = select(ReportUrlModel).where(ReportUrlModel.is_report_by_site == False) + stmt = select(ReportUrlModel).where(ReportUrlModel.is_report_by_site == False).where(ReportUrlModel.has_evidence == True) rows: list[ReportUrlModel] = session.exec(stmt).all() logger.info(f"[{self.engine_name}] 共计 {len(rows)} 条需要举报") diff --git a/app/engines/reporters/wap_reporter.py b/app/engines/reporters/wap_reporter.py index 0798f07..7015944 100644 --- a/app/engines/reporters/wap_reporter.py +++ b/app/engines/reporters/wap_reporter.py @@ -51,7 +51,7 @@ class WapReporter(BaseReporter): def run(self): """实现 WAP 端的举报逻辑""" with Session(self.database) as session: - stmt = select(ReportUrlModel).where(ReportUrlModel.is_report_by_wap == False) + stmt = select(ReportUrlModel).where(ReportUrlModel.is_report_by_wap == False).where(ReportUrlModel.has_evidence == True) rows: list[ReportUrlModel] = session.exec(stmt).all() logger.debug(f"[{self.engine_name}] 共找到 {len(rows)} 条待举报记录")