| 1234567891011121314151617181920212223242526272829303132 |
- """客户服务字典 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})
|