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)}