Files
group_xinghuo_jinrong/app/api/staff.py
T
zhanghongyu_0626 ef56c56435 feat(api): 实现代销平台 API v0.1,包括客户、产品、理财师、合规及员工接口
- 新增多个 API 路由:`/api/customers`, `/api/products`, `/api/advisors`, `/api/compliance`, `/api/staff`,支持客户信息、产品详情、理财师客户列表、合规判定及员工上下文查询。
- 引入平台服务层,封装核心只读操作,支持数据脱敏功能。
- 更新依赖注入,确保各 API 路由的权限控制与数据访问一致性。
- 添加相应的单元测试,确保新接口的功能完整性与稳定性。

此更新为代销平台提供了基础的 REST API 支持,增强了系统的可扩展性与可维护性。
2026-09-08 21:01:07 +08:00

35 lines
1.0 KiB
Python

"""代销平台 · 当前登录员工上下文。"""
from __future__ import annotations
from fastapi import APIRouter, Depends, Request
from app.api.deps import AuthContext, get_platform_auth_context, require_staff_token
from app.repository.risk_repository import RiskRepository
from app.service.platform import staff_service
from app.utils.exceptions import ApiError
from app.utils.response import ok
router = APIRouter(prefix="/api/staff", tags=["platform-staff"])
def _risk_repo() -> RiskRepository:
return RiskRepository()
def _trace_id(request: Request) -> str:
return getattr(request.state, "trace_id", "unknown")
@router.get("/me")
def staff_me_api(
request: Request,
auth: AuthContext = Depends(get_platform_auth_context),
) -> dict:
repo = _risk_repo()
require_staff_token(auth, risk_repo=repo)
row = staff_service.get_staff_me(auth.actor_id)
if row is None:
raise ApiError(404, "NOT_FOUND", f"staff not found: {auth.actor_id}")
return ok(row, _trace_id(request)).model_dump()