"""客户服务字典 API""" from fastapi import APIRouter, Depends, Query from sqlalchemy.orm import Session from app.core.database import get_db from app.core.menu_guard import require_any_menu_code from app.core.response import success_response from app.crud import customer_service_dict as svc from app.models.models import SysUser router = APIRouter(prefix="/web/admin", tags=["客户服务字典"]) def _get_tenant_no(db: Session, user: dict) -> str: user_id = user.get("user_id") if not user_id: raise PermissionError("用户身份信息缺失,无法确定租户") sys_user = db.query(SysUser).filter(SysUser.id == user_id).first() if not sys_user or not sys_user.tenant_no: raise PermissionError("用户租户信息缺失") return sys_user.tenant_no @router.get("/customer-service-dict") async def get_customer_service_dict( dictType: str = Query(...), user: dict = Depends(require_any_menu_code("cell-storage:sample-info:list")), db: Session = Depends(get_db), ): tenant_no = _get_tenant_no(db, user) values = svc.list_dict_values(db, tenant_no, dictType) return success_response({"list": values})