前端新增 业务员工作台 路由:/salesman 覆盖: 快速录单 个人订单列表 提醒待办处理 新客户识别提示 后端新增业务员工作台接口 新增 backend/app/api/salesman.py 新接口: GET /api/salesman/dashboard 返回: 业务员订单列表 业务员提醒列表 汇总统计 后端路由注册 已接入 API 路由 导航同步 增加 业务员工作台 清单同步更新 业务员端完整支持 完整业务员录单页面 完整查单页面 提醒处理页面 lint 检查通过,没有报错
37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
|
|
from backend.app.api.deps import require_permissions, require_roles
|
|
from backend.app.db import get_db_session
|
|
from backend.app.schemas.common import success_payload
|
|
from backend.app.services.demo_store import demo_store
|
|
from backend.app.services.reminder_service import reminder_service
|
|
from backend.app.services.order_service import order_service
|
|
|
|
router = APIRouter(prefix="/api/salesman", tags=["salesman"])
|
|
|
|
|
|
@router.get("/dashboard")
|
|
def salesman_dashboard(
|
|
session: Session = Depends(get_db_session),
|
|
current_user: dict = Depends(require_roles("salesman", "admin")),
|
|
_permission_user: dict = Depends(require_permissions("order:list")),
|
|
) -> dict:
|
|
if session is not None:
|
|
try:
|
|
orders = order_service.list_orders(session, {"salesman_id": current_user.get("user_id")})
|
|
reminders = reminder_service.list_reminders(session, {"receiver_user_id": current_user.get("user_id")})
|
|
return success_payload(
|
|
{
|
|
"orders": orders[:20],
|
|
"reminders": reminders.get("list", []) if isinstance(reminders, dict) else [],
|
|
"summary": {
|
|
"order_count": len(orders),
|
|
"reminder_count": len(reminders.get("list", [])) if isinstance(reminders, dict) else 0,
|
|
},
|
|
}
|
|
)
|
|
except Exception:
|
|
pass
|
|
return success_payload(demo_store.get_salesman_dashboard())
|