diff --git a/app/api/comprehensive_data.py b/app/api/comprehensive_data.py index 46adb3d..a37d596 100644 --- a/app/api/comprehensive_data.py +++ b/app/api/comprehensive_data.py @@ -40,8 +40,8 @@ def batch_import_sections(request: BatchSectionDataImportRequest, db: Session = try: logger.info(f"Starting batch import sections, count: {len(request.data)}") - # 转换为字典格式 - data_list = [item.dict() for item in request.data] + # 直接使用字典列表,不需要转换 + data_list = request.data result = section_service.batch_import_sections(db, data_list) @@ -61,8 +61,8 @@ def batch_import_checkpoints(request: BatchCheckpointDataImportRequest, db: Sess try: logger.info(f"Starting batch import checkpoints, count: {len(request.data)}") - # 转换为字典格式 - data_list = [item.dict() for item in request.data] + # 直接使用字典列表,不需要转换 + data_list = request.data result = checkpoint_service.batch_import_checkpoints(db, data_list) @@ -82,8 +82,8 @@ def batch_import_settlement_data(request: BatchSettlementDataImportRequest, db: try: logger.info(f"Starting batch import settlement data, count: {len(request.data)}") - # 转换为字典格式 - data_list = [item.dict() for item in request.data] + # 直接使用字典列表,不需要转换 + data_list = request.data result = settlement_service.batch_import_settlement_data(db, data_list) @@ -103,8 +103,8 @@ def batch_import_level_data(request: BatchLevelDataImportRequest, db: Session = try: logger.info(f"Starting batch import level data, count: {len(request.data)}") - # 转换为字典格式 - data_list = [item.dict() for item in request.data] + # 直接使用字典列表,不需要转换 + data_list = request.data result = level_service.batch_import_level_data(db, data_list) @@ -124,8 +124,8 @@ def batch_import_original_data(request: BatchOriginalDataImportRequest, db: Sess try: logger.info(f"Starting batch import original data, count: {len(request.data)}") - # 转换为字典格式 - data_list = [item.dict() for item in request.data] + # 直接使用字典列表,不需要转换 + data_list = request.data result = original_service.batch_import_original_data(db, data_list) diff --git a/app/schemas/comprehensive_data.py b/app/schemas/comprehensive_data.py index 32b2452..27080fb 100644 --- a/app/schemas/comprehensive_data.py +++ b/app/schemas/comprehensive_data.py @@ -119,21 +119,36 @@ class LevelDataQueryRequest(BaseModel): mtype: Optional[str] = None createDate: Optional[str] = None -# 批量导入请求 +# 批量导入请求 - 灵活字段版本,允许传入任意字段 class BatchSectionDataImportRequest(BaseModel): - data: List[SectionDataImportRequest] + data: List[Dict[str, Any]] + + class Config: + extra = "allow" # 允许额外字段 class BatchCheckpointDataImportRequest(BaseModel): - data: List[CheckpointDataImportRequest] + data: List[Dict[str, Any]] + + class Config: + extra = "allow" # 允许额外字段 class BatchSettlementDataImportRequest(BaseModel): - data: List[SettlementDataImportRequest] + data: List[Dict[str, Any]] + + class Config: + extra = "allow" # 允许额外字段 class BatchLevelDataImportRequest(BaseModel): - data: List[LevelDataImportRequest] + data: List[Dict[str, Any]] + + class Config: + extra = "allow" # 允许额外字段 class BatchOriginalDataImportRequest(BaseModel): - data: List[OriginalDataImportRequest] + data: List[Dict[str, Any]] + + class Config: + extra = "allow" # 允许额外字段 # 新增响应模型 class DataImportResponse(BaseModel):