转发接口调整

This commit is contained in:
liy
2026-06-15 17:16:37 +08:00
parent 82e91c197c
commit 7e56597422
2 changed files with 18 additions and 4 deletions

View File

@@ -661,8 +661,14 @@ async def measure_and_send(req: MeasureAndSendRequest = MeasureAndSendRequest())
detail=f"水准仪测量失败: {fm_result.get('error_desc') or fm_result.get('raw_text') or '未知错误'}"
)
r = fm_result.get("staff_reading")
hd = fm_result.get("distance")
values = fm_result.get("values", [])
if len(values) < 1:
raise HTTPException(
status_code=502,
detail=f"数据异常失败: {fm_result}"
)
r = values[-1]
hd = values[-2]
if r is None or hd is None:
raise HTTPException(
status_code=502,
@@ -670,7 +676,15 @@ async def measure_and_send(req: MeasureAndSendRequest = MeasureAndSendRequest())
)
# 4. 直接发到手机蓝牙
ok = svc.send_measurement(r, hd)
try:
r = float(r) if r not in (None, "", b"") else 0.0
hd = float(hd) if hd not in (None, "", b"") else 0.0
except (ValueError, TypeError):
raise HTTPException(
status_code=502,
detail=f"水准仪返回数据错误: {json.dumps(fm_result, ensure_ascii=False)}"
)
ok = svc.send_measurement(hd, r)
return {
"status": "ok" if ok else "send_error",