2025-10-31 14:30:42 +08:00
|
|
|
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")
|
|
|
|
|
|
2025-11-01 17:33:26 +08:00
|
|
|
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
|
|
|
|
|
|
2025-10-31 14:30:42 +08:00
|
|
|
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()
|
2025-11-01 17:33:26 +08:00
|
|
|
|
2025-10-31 14:30:42 +08:00
|
|
|
print("\n打印artifacts数据:")
|
|
|
|
|
for i, artifact in enumerate(artifacts):
|
2025-11-01 17:33:26 +08:00
|
|
|
artifact_id = artifact.ArtifactID
|
2025-10-31 14:30:42 +08:00
|
|
|
# 如果是数据类对象,转换为字典输出
|
|
|
|
|
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')
|