37 lines
1015 B
Python
37 lines
1015 B
Python
"""代销平台 · 理财师名下客户。"""
|
|||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from fastapi import APIRouter, Depends, Request
|
||
|
|
|
||
|
|
from app.api.deps import (
|
||
|
|
AuthContext,
|
||
|
|
assert_advisor_roster_access,
|
||
|
|
get_platform_auth_context,
|
||
|
|
)
|
||
|
|
from app.repository.risk_repository import RiskRepository
|
||
|
|
from app.service.platform import advisor_service
|
||
|
|
from app.utils.response import ok
|
||
|
|
|
||
|
|
router = APIRouter(prefix="/api/advisors", tags=["platform-advisors"])
|
||
|
|
|
||
|
|
|
||
|
|
def _risk_repo() -> RiskRepository:
|
||
|
|
return RiskRepository()
|
||
|
|
|
||
|
|
|
||
|
|
def _trace_id(request: Request) -> str:
|
||
|
|
return getattr(request.state, "trace_id", "unknown")
|
||
|
|
|
||
|
|
|
||
|
|
@router.get("/{advisor_id}/customers")
|
||
|
|
def list_advisor_customers_api(
|
||
|
|
advisor_id: str,
|
||
|
|
request: Request,
|
||
|
|
auth: AuthContext = Depends(get_platform_auth_context),
|
||
|
|
) -> dict:
|
||
|
|
repo = _risk_repo()
|
||
|
|
assert_advisor_roster_access(auth, advisor_id, risk_repo=repo)
|
||
|
|
data = advisor_service.list_advisor_customers(advisor_id)
|
||
|
|
return ok(data, _trace_id(request)).model_dump()
|