From 0b90a8b9ac9bd57da806ad2525bfd788d283a92e Mon Sep 17 00:00:00 2001 From: SXP-Simon Date: Tue, 10 Mar 2026 12:33:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(analysis):=20=E4=BF=AE=E5=A4=8D=E5=8F=AF?= =?UTF-8?q?=E9=80=89=E5=8F=82=E6=95=B0=20days=20=E4=BB=A5=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89=E5=88=86=E6=9E=90=E5=A4=A9?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 2 +- .../services/analysis_application_service.py | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/main.py b/main.py index 7612a4b..9c7d769 100644 --- a/main.py +++ b/main.py @@ -460,7 +460,7 @@ class GroupDailyAnalysis(Star): try: # 调用 DDD 应用级服务 result = await self.analysis_service.execute_daily_analysis( - group_id=group_id, platform_id=platform_id, manual=True + group_id=group_id, platform_id=platform_id, manual=True, days=days ) if not result.get("success"): diff --git a/src/application/services/analysis_application_service.py b/src/application/services/analysis_application_service.py index 9c582d2..90ddb73 100644 --- a/src/application/services/analysis_application_service.py +++ b/src/application/services/analysis_application_service.py @@ -95,7 +95,11 @@ class AnalysisApplicationService: logger.debug(f"[Lock] 已释放群 {group_id} 的 {task_type} 排他锁") async def execute_daily_analysis( - self, group_id: str, platform_id: str | None = None, manual: bool = False + self, + group_id: str, + platform_id: str | None = None, + manual: bool = False, + days: int | None = None, ) -> dict[str, Any]: """ 执行每日分析用例。 @@ -113,7 +117,7 @@ class AnalysisApplicationService: async with self.group_lock(group_id, "daily"): logger.info( - f"开始执行分析用例: 群 {group_id}, platform_id={platform_id or '默认'}" + f"开始执行分析用例: 群 {group_id}, platform_id={platform_id or '默认'}, days={days or '默认'}" ) # 1. 获取适配器 @@ -122,7 +126,8 @@ class AnalysisApplicationService: raise ValueError(f"未找到平台 {platform_id} 的适配器") # 2. 拉取消息 - days = self.config_manager.get_analysis_days() + if days is None: + days = self.config_manager.get_analysis_days() max_count = self.config_manager.get_max_messages() raw_messages = await adapter.fetch_messages(