Files
zkxw/backend/app/api/customer_service_dict.py
T

33 lines
1.1 KiB
Python

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