138 lines
5.7 KiB
Python
138 lines
5.7 KiB
Python
from fastapi import APIRouter, Request, Query, Path, Body
|
|
from typing import Any, List, Dict, Union
|
|
from app.services.tjnetwork import (
|
|
Any,
|
|
ChangeSet,
|
|
get_energy,
|
|
get_energy_schema,
|
|
get_option_v3,
|
|
get_option_v3_schema,
|
|
get_pump_energy,
|
|
get_pump_energy_schema,
|
|
get_time,
|
|
get_time_schema,
|
|
set_energy,
|
|
set_option_v3,
|
|
set_pump_energy,
|
|
set_time,
|
|
)
|
|
|
|
router = APIRouter()
|
|
|
|
@router.get("/gettimeschema", summary="获取时间选项架构", description="获取网络中时间选项的架构定义")
|
|
async def fastapi_get_time_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
|
|
"""获取时间选项架构。
|
|
|
|
返回指定网络中时间相关选项的属性架构定义。
|
|
"""
|
|
return get_time_schema(network)
|
|
|
|
@router.get("/gettimeproperties/", summary="获取时间选项属性", description="获取指定网络中的时间选项属性信息")
|
|
async def fastapi_get_time_properties(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, Any]:
|
|
"""获取时间选项属性。
|
|
|
|
返回指定网络中的时间相关选项属性。
|
|
"""
|
|
return get_time(network)
|
|
|
|
@router.post("/settimeproperties/", response_model=None, summary="设置时间选项属性", description="更新指定网络中的时间选项属性")
|
|
async def fastapi_set_time_properties(
|
|
network: str = Query(..., description="管网名称(或数据库名称)"),
|
|
req: Request = None
|
|
) -> ChangeSet:
|
|
"""设置时间选项属性。
|
|
|
|
更新指定网络中的时间相关选项属性值。
|
|
"""
|
|
props = await req.json()
|
|
return set_time(network, ChangeSet(props))
|
|
|
|
@router.get("/getenergyschema/", summary="获取能耗选项架构", description="获取网络中能耗选项的架构定义")
|
|
async def fastapi_get_energy_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
|
|
"""获取能耗选项架构。
|
|
|
|
返回指定网络中能耗相关选项的属性架构定义。
|
|
"""
|
|
return get_energy_schema(network)
|
|
|
|
@router.get("/getenergyproperties/", summary="获取能耗选项属性", description="获取指定网络中的能耗选项属性信息")
|
|
async def fastapi_get_energy_properties(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, Any]:
|
|
"""获取能耗选项属性。
|
|
|
|
返回指定网络中的能耗相关选项属性。
|
|
"""
|
|
return get_energy(network)
|
|
|
|
@router.post("/setenergyproperties/", response_model=None, summary="设置能耗选项属性", description="更新指定网络中的能耗选项属性")
|
|
async def fastapi_set_energy_properties(
|
|
network: str = Query(..., description="管网名称(或数据库名称)"),
|
|
req: Request = None
|
|
) -> ChangeSet:
|
|
"""设置能耗选项属性。
|
|
|
|
更新指定网络中的能耗相关选项属性值。
|
|
"""
|
|
props = await req.json()
|
|
return set_energy(network, ChangeSet(props))
|
|
|
|
@router.get("/getpumpenergyschema/", summary="获取泵能耗选项架构", description="获取网络中泵能耗选项的架构定义")
|
|
async def fastapi_get_pump_energy_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
|
|
"""获取泵能耗选项架构。
|
|
|
|
返回指定网络中泵能耗相关选项的属性架构定义。
|
|
"""
|
|
return get_pump_energy_schema(network)
|
|
|
|
@router.get("/getpumpenergyproperties//", summary="获取泵能耗属性", description="获取指定泵的能耗属性信息")
|
|
async def fastapi_get_pump_energy_proeprties(
|
|
network: str = Query(..., description="管网名称(或数据库名称)"),
|
|
pump: str = Query(..., description="泵ID")
|
|
) -> dict[str, Any]:
|
|
"""获取泵能耗属性。
|
|
|
|
返回指定泵的能耗相关属性。
|
|
"""
|
|
return get_pump_energy(network, pump)
|
|
|
|
@router.get("/setpumpenergyproperties//", response_model=None, summary="设置泵能耗属性", description="更新指定泵的能耗属性")
|
|
async def fastapi_set_pump_energy_properties(
|
|
network: str = Query(..., description="管网名称(或数据库名称)"),
|
|
pump: str = Query(..., description="泵ID"),
|
|
req: Request = None
|
|
) -> ChangeSet:
|
|
"""设置泵能耗属性。
|
|
|
|
更新指定泵的能耗相关属性值。
|
|
"""
|
|
props = await req.json()
|
|
ps = {"id": pump} | props
|
|
return set_pump_energy(network, ChangeSet(ps))
|
|
|
|
@router.get("/getoptionschema/", summary="获取选项架构", description="获取网络中选项对象的架构定义")
|
|
async def fastapi_get_option_schema(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, dict[str, Any]]:
|
|
"""获取选项架构。
|
|
|
|
返回指定网络中选项对象的属性架构定义。
|
|
"""
|
|
return get_option_v3_schema(network)
|
|
|
|
@router.get("/getoptionproperties/", summary="获取选项属性", description="获取指定网络中的选项属性信息")
|
|
async def fastapi_get_option_properties(network: str = Query(..., description="管网名称(或数据库名称)")) -> dict[str, Any]:
|
|
"""获取选项属性。
|
|
|
|
返回指定网络中的选项对象属性信息。
|
|
"""
|
|
return get_option_v3(network)
|
|
|
|
@router.post("/setoptionproperties/", response_model=None, summary="设置选项属性", description="更新指定网络中的选项属性")
|
|
async def fastapi_set_option_properties(
|
|
network: str = Query(..., description="管网名称(或数据库名称)"),
|
|
req: Request = None
|
|
) -> ChangeSet:
|
|
"""设置选项属性。
|
|
|
|
更新指定网络中的选项属性值。
|
|
"""
|
|
props = await req.json()
|
|
return set_option_v3(network, ChangeSet(props))
|