1.今日任务接口
2.根据NYID获取所有相关的测点信息
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user