from dataclasses import fields from typing import List, Optional, Dict, Any from datetime import datetime from models import ArtifactInfoModel,PDRecordModel from dals import ArtifactDal,PDRecordDal class ArtifactBll: def __init__(self): """初始化数据访问层,创建数据库连接""" # 假设数据库文件在db目录下 self.dal = ArtifactDal() pass def get_artifact_task(self) -> List[ArtifactInfoModel]: """获取官片任务数据""" return self.dal.get_top_artifact(5,"ArtifactID asc") def get_artifacting_task(self) -> ArtifactInfoModel: """获取正在进行的官片任务数据""" loc_item= self.dal.get_top_artifact(1,"","Status=2") if loc_item: return loc_item[0] else: return None class PDRecordBll: def __init__(self): """初始化数据访问层,创建数据库连接""" # 假设数据库文件在db目录下 self.dal = PDRecordDal() pass def get_PD_record(self) -> List[PDRecordModel]: """获取PD官片任务数据""" return self.dal.get_top_pd(5,"ID desc") if __name__ == "__main__": artifact_dal = ArtifactBll() artifacts = artifact_dal.get_artifact_task() print("\n打印artifacts数据:") for i, artifact in enumerate(artifacts): artifact_id = artifact.ArtifactID # 如果是数据类对象,转换为字典输出 if hasattr(artifact, '__dataclass_fields__'): print(f"第{i+1}条: {artifact.__dict__}") else: print(f"第{i+1}条: {artifact}") pdrecord_dal=PDRecordBll() pdrecords = pdrecord_dal.get_PD_record() print("\n打印pdrecords数据:") for i, record in enumerate(pdrecords): # 如果是数据类对象,转换为字典输出 if hasattr(record, '__dataclass_fields__'): print(f"第{i+1}条: {record.__dict__}") else: print(f"第{i+1}条: {record}") print('\ntest success')