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

@@ -191,4 +191,46 @@ class DailyDataService(BaseService[DailyData]):
except Exception as e:
logger.error(f"获取日常数据失败:{str(e)}", exc_info=True)
raise e
def get_daily_data_by_account(
self,
db: Session,
account_id: str, # 账号ID必填因为是核心筛选条件
user_id: Optional[int] = None # 可选参数额外按user_id筛选
) -> List[Dict[str, Any]]:
"""
根据account_id获取对应日常数据支持额外按user_id筛选
:param db: 数据库会话
:param account_id: 账号ID必填用于精准筛选数据
:param user_id: 可选用户ID若提供则则进一步筛选该用户的数据
:return: 符合条件的日常数据字典列表,包含所有字段
"""
try:
# 基础查询先按account_id筛选必填条件
query = db.query(DailyData).filter(DailyData.account_id == account_id)
# 若提供了user_id则添加额外筛选条件
if user_id is not None:
query = query.filter(DailyData.user_id == user_id)
logger.info(f"查询account_id={account_id}且user_id={user_id}的日常数据")
else:
logger.info(f"查询account_id={account_id}的所有日常数据")
# 执行查询并获取记录
daily_records = query.all()
# 转换为字典列表(保留所有字段)
result = []
for record in daily_records:
record_dict = {
column.name: getattr(record, column.name)
for column in DailyData.__table__.columns
}
result.append(record_dict)
logger.info(f"查询完成account_id={account_id}对应{len(result)}条日常数据")
return result
except Exception as e:
logger.error(f"获取account_id={account_id}的日常数据失败:{str(e)}", exc_info=True)
raise e