41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
from fastapi import APIRouter
|
|
from pydantic import BaseModel
|
|
from ..services.user_table_service import (
|
|
get_table_availability_service,
|
|
list_tables_service,
|
|
check_table_occupancy_service,
|
|
get_table_number_service
|
|
)
|
|
|
|
router = APIRouter()
|
|
|
|
class TableCheckRequest(BaseModel):
|
|
table_id: int
|
|
|
|
class TableNumberRequest(BaseModel):
|
|
game_table_id: int
|
|
|
|
# 桌子统计接口
|
|
@router.post("/availability")
|
|
def get_table_availability():
|
|
return get_table_availability_service()
|
|
|
|
# 桌子列表接口(复用已有方法)
|
|
@router.post("/list")
|
|
def list_tables():
|
|
tables = list_tables_service()
|
|
# 仅返回需要的字段
|
|
return [{
|
|
"table_id": t["table_id"],
|
|
"game_table_number": t["game_table_number"]
|
|
} for t in tables]
|
|
|
|
# 检查桌子占用状态
|
|
@router.post("/check_occupancy")
|
|
def check_table_occupancy(request: TableCheckRequest):
|
|
return check_table_occupancy_service(request.table_id)
|
|
|
|
@router.post("/number")
|
|
def get_table_number(request: TableNumberRequest):
|
|
"""根据桌台ID获取桌号"""
|
|
return get_table_number_service(request.game_table_id) |