From c1384fd4ffd107e43be0ce82c842171eb3889099 Mon Sep 17 00:00:00 2001 From: Hermes CI Fix Date: Wed, 22 Jul 2026 18:16:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20sxbh.ltd=20AI=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=8E=B7=E5=AE=A2=E7=BB=84=E4=BB=B6+lead=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/api/lead.py | 26 ++++++++++++++++++++++++++ backend/app/main.py | 3 ++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 backend/app/api/lead.py diff --git a/backend/app/api/lead.py b/backend/app/api/lead.py new file mode 100644 index 00000000..69458026 --- /dev/null +++ b/backend/app/api/lead.py @@ -0,0 +1,26 @@ +"""AI获客 - 客户咨询接口""" +from fastapi import APIRouter, HTTPException +from pydantic import BaseModel +import json, os, datetime + +router = APIRouter(prefix="/api/cma/lead", tags=["AI获客"]) + +class LeadRequest(BaseModel): + name: str + phone: str + requirement: str = "" + source: str = "sxbh.ltd" + +@router.post("") +def create_lead(data: LeadRequest): + """接收客户咨询并保存""" + record = data.model_dump() + record["timestamp"] = datetime.datetime.now().isoformat() + record["status"] = "new" + + log_dir = "/root/leads" + os.makedirs(log_dir, exist_ok=True) + with open(f"{log_dir}/leads.json", "a") as f: + f.write(json.dumps(record, ensure_ascii=False) + "\n") + + return {"success": True, "message": "咨询已提交,我们将在30分钟内联系您"} diff --git a/backend/app/main.py b/backend/app/main.py index 0faff560..dfe96194 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -5,7 +5,7 @@ from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import JSONResponse from dotenv import load_dotenv from app.database import init_db -from app.api import auth, kpis, templates, maps, dashboard, data, alerts, ai_analysis, alert_rules, users, thresholds, notifications, permissions, action_plans, alignment, org, objectives, versions, budget, cost, predict, reports, security, knowledge, bot_bridge, bot_bridge_v2, customer_dashboard, deviation_push, budget_generate, knowledge_articles, kpi_causality, data_quality, bi_reports, entities, bsc_layers, okr, okr_templates, subjects, driver_budget +from app.api import auth, kpis, templates, maps, dashboard, data, alerts, ai_analysis, alert_rules, users, thresholds, notifications, permissions, action_plans, alignment, org, objectives, versions, budget, cost, predict, reports, security, knowledge, bot_bridge, bot_bridge_v2, lead, customer_dashboard, deviation_push, budget_generate, knowledge_articles, kpi_causality, data_quality, bi_reports, entities, bsc_layers, okr, okr_templates, subjects, driver_budget from app.utils.cache import clear_all as clear_cache, delete as delete_cache from scripts.erp_sync import run_sync as run_erp_sync from app.auth_middleware import require_auth @@ -56,6 +56,7 @@ app.include_router(security.router) app.include_router(knowledge.router) app.include_router(bot_bridge.router) app.include_router(bot_bridge_v2.router) +app.include_router(lead.router) app.include_router(customer_dashboard.router) app.include_router(deviation_push.router) app.include_router(budget_generate.router)