From 989c41da8cc754d4274a94e41f9f7816cc593a00 Mon Sep 17 00:00:00 2001 From: v6ole Date: Fri, 26 Jun 2026 16:10:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A1=AB=E6=8A=A5=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=89=80=E6=9C=89=E7=BB=8F=E7=90=86=20(?= =?UTF-8?q?=E4=B8=8D=E9=99=90=E4=BA=8E=E5=B7=B2=E7=BB=91=E5=AE=9A=E4=BC=81?= =?UTF-8?q?=E5=BE=AE)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前只统计 wecom_userid IS NOT NULL 的经理导致始终 0/0, 现在统计全员,仅推送消息时跳过未绑定用户。 Co-Authored-By: Claude --- backend/app/services/scheduler.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/backend/app/services/scheduler.py b/backend/app/services/scheduler.py index da3387b..17e21ef 100644 --- a/backend/app/services/scheduler.py +++ b/backend/app/services/scheduler.py @@ -15,15 +15,12 @@ async def check_daily_reporting(db: AsyncSession) -> dict: if weekday >= 5: # Skip weekends return {"status": "weekend", "date": str(today)} - # Get all managers with wecom_userid + # Get all managers (stats include everyone) result = await db.execute( - select(User).where(User.role == "manager", User.wecom_userid.isnot(None)) + select(User).where(User.role == "manager") ) managers = result.scalars().all() - if not managers: - return {"status": "ok", "date": str(today), "total_managers": 0, "reported": 0, "not_reported": 0} - # Get managers who have reported today reported_visits = await db.execute( select(Visit.manager_id).where(Visit.visit_date == today)