更新监测点方案创建API
This commit is contained in:
35
main.py
35
main.py
@@ -4028,22 +4028,27 @@ async def fastapi_pressure_sensor_placement_kmeans(
|
||||
username=item["username"],
|
||||
)
|
||||
|
||||
|
||||
# 后续改进:合并两个接口为一个,增加method、sensor_type参数选择方法
|
||||
class Pressure_Sensor_Placement_Request(BaseModel):
|
||||
network: str
|
||||
scheme_name: str
|
||||
sensor_type: str
|
||||
method: str # "sensitivity" 或 "kmeans"
|
||||
sensor_count: int
|
||||
min_diameter: int = 0
|
||||
user_name: str
|
||||
|
||||
|
||||
@app.post("/sensorplacementscheme/create")
|
||||
@app.get("/sensorplacementscheme/create")
|
||||
async def fastapi_pressure_sensor_placement(
|
||||
data: Pressure_Sensor_Placement_Request,
|
||||
) -> dict[str, str]:
|
||||
item = data.dict()
|
||||
network: str = Query(...),
|
||||
scheme_name: str = Query(...),
|
||||
sensor_type: str = Query(...),
|
||||
method: str = Query(...),
|
||||
sensor_count: int = Query(...),
|
||||
min_diameter: int = Query(0),
|
||||
user_name: str = Query(...),
|
||||
) -> str:
|
||||
item = {
|
||||
"network": network,
|
||||
"scheme_name": scheme_name,
|
||||
"sensor_type": sensor_type,
|
||||
"method": method,
|
||||
"sensor_count": sensor_count,
|
||||
"min_diameter": min_diameter,
|
||||
"user_name": user_name,
|
||||
}
|
||||
|
||||
# 验证方法参数
|
||||
if item["method"] not in ["sensitivity", "kmeans"]:
|
||||
@@ -4069,7 +4074,7 @@ async def fastapi_pressure_sensor_placement(
|
||||
username=item["user_name"],
|
||||
)
|
||||
|
||||
return {"status": "success", "method": item["method"]}
|
||||
return "success"
|
||||
|
||||
except Exception as e:
|
||||
raise HTTPException(status_code=500, detail=f"执行失败: {str(e)}")
|
||||
|
||||
Reference in New Issue
Block a user