From 50f016e9fbb126bb2fab6000f32f88fc1acde24e Mon Sep 17 00:00:00 2001 From: 16337 <1633794139@qq.com> Date: Wed, 25 Mar 2026 09:21:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=9A=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=97=A5=E6=8A=A5=E6=89=8B=E5=8A=A8=E8=A7=A6=E5=8F=91=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20POST=20/api/wechat/notify/daily-report?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/routers/wechat_notify_api.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/app/routers/wechat_notify_api.py b/app/routers/wechat_notify_api.py index a6b7e9c..d8db96e 100644 --- a/app/routers/wechat_notify_api.py +++ b/app/routers/wechat_notify_api.py @@ -133,3 +133,25 @@ async def sync_status(req: SyncStatusRequest): except Exception as e: logger.error(f"IoT回调同步状态异常: {e}", exc_info=True) return {"code": -1, "msg": str(e)} + + +@router.post("/daily-report") +async def trigger_daily_report(preview: bool = False): + """手动触发每日告警日报 + + - preview=false(默认):生成并发送到企微群聊 + - preview=true:仅生成内容预览,不发送 + """ + try: + from app.services.daily_report_service import generate_daily_report, _send_daily_report + + if preview: + content = await generate_daily_report() + return {"code": 0, "data": {"content": content}, "msg": "预览生成成功(未发送)"} + + await _send_daily_report() + return {"code": 0, "msg": "日报已发送"} + + except Exception as e: + logger.error(f"手动触发日报异常: {e}", exc_info=True) + return {"code": -1, "msg": str(e)}