牧安云哨-后端
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi import Depends, APIRouter
|
||||
|
||||
from config.security import get_user_id_from_token
|
||||
from db.postgres import get_dept_ids_by_user_id, get_dept_id_by_user_id
|
||||
from db.postgres.sentinel import *
|
||||
from models.BaseResponse import BaseResponse
|
||||
|
||||
# -------------------- 设备接口 --------------------
|
||||
|
||||
sentinel_router = APIRouter()
|
||||
|
||||
|
||||
@sentinel_router.get("/record/list")
|
||||
async def get_sentinel_record_list(
|
||||
page: int = 1,
|
||||
page_size: int = 10,
|
||||
id: str | None = None,
|
||||
license_plate: str | None = None,
|
||||
vehicle_type: str | None = None,
|
||||
is_inspected: int | None = None,
|
||||
livestock_type: str = None,
|
||||
livestock_source: str | None = None,
|
||||
start_time: str | None = None,
|
||||
end_time: str | None = None,
|
||||
user_id: UUID = Depends(get_user_id_from_token),
|
||||
):
|
||||
if not user_id:
|
||||
return {"error": "userId is required"}
|
||||
dept_ids = get_dept_ids_by_user_id(user_id)
|
||||
print(dept_ids) # 输出所有部门的 dept_id 列表
|
||||
|
||||
records, total = get_sentinel_record_list_db_page(
|
||||
page,
|
||||
page_size,
|
||||
id,
|
||||
license_plate,
|
||||
vehicle_type,
|
||||
is_inspected,
|
||||
livestock_source,
|
||||
livestock_type,
|
||||
dept_ids,
|
||||
start_time,
|
||||
end_time,
|
||||
)
|
||||
|
||||
return BaseResponse(data={"list": records, "total": total})
|
||||
|
||||
|
||||
@sentinel_router.post("/record")
|
||||
async def create_sentinel_record(
|
||||
data: dict, user_id: UUID = Depends(get_user_id_from_token)
|
||||
):
|
||||
if not user_id:
|
||||
return {"error": "userId is required"}
|
||||
dept_id = get_dept_id_by_user_id(user_id)
|
||||
new_id = insert_sentinel_record(data, dept_id)
|
||||
return BaseResponse(data={"id": new_id})
|
||||
|
||||
|
||||
@sentinel_router.put("/record/{id}")
|
||||
async def update_sentinel_record(
|
||||
id: str, data: dict, user_id: UUID = Depends(get_user_id_from_token)
|
||||
):
|
||||
if not user_id:
|
||||
return {"error": "userId is required"}
|
||||
|
||||
count = update_sentinel_record_db(id, data)
|
||||
if count == 0:
|
||||
return BaseResponse(status=False, message="记录不存在", data=None)
|
||||
return BaseResponse(data=True)
|
||||
|
||||
|
||||
@sentinel_router.patch("/record/{id}")
|
||||
async def patch_sentinel_record(
|
||||
id: str, data: dict, user_id: UUID = Depends(get_user_id_from_token)
|
||||
):
|
||||
if not user_id:
|
||||
return {"error": "userId is required"}
|
||||
|
||||
count = patch_sentinel_record_db(id, data)
|
||||
if count == 0:
|
||||
return BaseResponse(status=False, message="记录不存在", data=None)
|
||||
return BaseResponse(data=True)
|
||||
|
||||
|
||||
@sentinel_router.delete("/record/{id}")
|
||||
async def delete_sentinel_record(
|
||||
id: str, user_id: UUID = Depends(get_user_id_from_token)
|
||||
):
|
||||
if not user_id:
|
||||
return {"error": "userId is required"}
|
||||
|
||||
deleted = delete_sentinel_record_db(id)
|
||||
if deleted == 0:
|
||||
return BaseResponse(status=False, message="记录不存在", data=None)
|
||||
return BaseResponse(data=True)
|
||||
Reference in New Issue
Block a user