1.今日任务接口

2.根据NYID获取所有相关的测点信息
This commit is contained in:
whm
2025-10-31 16:36:05 +08:00
parent 1f3a937690
commit 5544daad23
5 changed files with 109 additions and 4 deletions

View File

@@ -16,8 +16,10 @@ from ..schemas.comprehensive_data import (
OriginalDataQueryRequest,
SettlementDataCheckpointQueryRequest,
LevelDataQueryRequest,
LinecodeRequest
LinecodeRequest,
NYIDRequest
)
from ..services.daily import DailyDataService
from ..services.section_data import SectionDataService
from ..services.checkpoint import CheckpointService
from ..services.settlement_data import SettlementDataService
@@ -344,4 +346,60 @@ def get_settlement_by_linecode(
message=f"查询失败:{str(e)}",
total=0,
data=[]
)
@router.post("/get_settlement_by_nyid", response_model=DataResponse)
def get_settlement_by_nyid(
request: NYIDRequest, # 假设定义了接收nyid的请求模型
db: Session = Depends(get_db)
):
try:
nyid = request.NYID # 从请求体中获取nyid
logger.info(f"接口请求根据nyid={nyid}查询沉降数据")
settlement = SettlementDataService()
# 获取模型实例列表
checkpoint_instances = settlement.get_by_nyid(db, nyid="4993546")
# 转为字典列表(核心修正)
checkpoint_data = [instance.__dict__ for instance in checkpoint_instances]
# 清理 SQLAlchemy 内部属性(可选,避免多余字段)
checkpoint_data = [{k: v for k, v in item.items() if not k.startswith('_sa_')} for item in checkpoint_data]
return DataResponse(
code=ResponseCode.SUCCESS,
message=f"查询成功,共获取{len(checkpoint_data)}条沉降数据",
total=len(checkpoint_data),
data=checkpoint_data
)
except Exception as e:
logger.error(f"查询沉降数据失败:{str(e)}", exc_info=True)
return DataResponse(
code=ResponseCode.QUERY_FAILED,
message=f"查询失败:{str(e)}",
total=0,
data=[]
)
@router.get("/get_today_data", response_model=DataResponse)
def get_today_data(db: Session = Depends(get_db)):
"""接口:直接触发调度器中的 scheduled_get_max_nyid_by_point_id 定时任务"""
try:
# scheduled_get_max_nyid_by_point_id()
daily_service = DailyDataService()
daily_data = daily_service.get_daily_data_by_account(db,account_id=1)
return DataResponse(
code=ResponseCode.SUCCESS,
message="定时任务触发执行成功!任务已开始处理(具体结果查看系统日志)",
total=1,
data=daily_data
)
except Exception as e:
logger.error(f"接口触发定时任务失败:{str(e)}", exc_info=True)
return DataResponse(
code=ResponseCode.QUERY_FAILED,
message=f"定时任务触发失败:{str(e)}",
total=0,
data={}
)