You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
895 B

from fastapi import APIRouter
from starlette.requests import Request
from tortoise.queryset import QuerySet, Prefetch
from models.agv import Agv
from helper import respond_to
from tortoise.contrib.pydantic import pydantic_model_creator
from typing import List
agv_router = APIRouter(prefix='/agv')
@agv_router.get("/")
async def read_root():
return {"Hello": "World"}
@agv_router.get('/list', summary="列出所有AGV小车的状态")
async def index(request: Request, page_no: int = 1, page_size: int = 20):
"""
列出所有AGV小车的状态
:param page_no: 1
:param page_size: 20
:return:
"""
offset = (page_no - 1) * page_size
query = QuerySet(Agv).filter(is_valid=True, is_active=True)
count = await query.count()
agvs = await query.limit(page_size).offset(offset)
return respond_to(code=200, data=dict(count=count, data=agvs))