袁威 пре 2 недеља
родитељ
комит
d51fc9fae4
1 измењених фајлова са 39 додато и 6 уклоњено
  1. 39 6
      app/api/auto_import.py

+ 39 - 6
app/api/auto_import.py

@@ -168,7 +168,6 @@ async def auto_import_script_api(
         front_gray: Union[UploadFile, str, None] = File(None, description="正面灰度图文件"),
         back_gray: Union[UploadFile, str, None] = File(None, description="背面灰度图文件")
 ):
-    logger.info(f"--- 开始自动导入任务:auto_import_script_api: {card_name} ---")
     local_base_url = str(request.base_url).rstrip('/')
 
     main_inputs = {
@@ -197,6 +196,18 @@ async def auto_import_script_api(
     if not strict_mode and provided_main_count == 0 and not valid_gray_files:
         raise HTTPException(status_code=400, detail="未提供任何图片文件,无法创建。")
 
+    logger.info(
+        "auto_import_script_api start card_name=%s cardNo=%s card_type=%s is_reflect_card=%s strict_mode=%s "
+        "main_types=%s gray_types=%s",
+        card_name,
+        cardNo or "",
+        card_type.value,
+        is_reflect_card,
+        strict_mode,
+        ",".join(valid_main_files.keys()) or "none",
+        ",".join(valid_gray_files.keys()) or "none",
+    )
+
     is_reflect_str = "true" if is_reflect_card else "false"
 
     timeout = aiohttp.ClientTimeout(total=180, connect=5, sock_connect=5, sock_read=120)
@@ -207,7 +218,12 @@ async def auto_import_script_api(
             main_bytes_data = {k: (await v.read(), v.filename) for k, v in valid_main_files.items()}
             gray_bytes_data = {k: (await v.read(), v.filename) for k, v in valid_gray_files.items()}
 
-            logger.info(f"--- 开始自动导入任务: {card_name} ---")
+            logger.info(
+                "auto_import_script_api files_loaded card_name=%s main_count=%s gray_count=%s",
+                card_name,
+                len(main_bytes_data),
+                len(gray_bytes_data),
+            )
             processed_results = []
             for img_type, (f_bytes, f_name) in main_bytes_data.items():
                 if len(f_bytes) == 0:
@@ -219,7 +235,13 @@ async def auto_import_script_api(
             card_id = await create_card_record(
                 session, local_base_url, card_name, cardNo, card_type
             )
-            logger.info(f"卡片记录创建成功,ID: {card_id}")
+            logger.info(
+                "auto_import_script_api card_created card_name=%s card_id=%s processed_main_count=%s gray_count=%s",
+                card_name,
+                card_id,
+                len(processed_results),
+                len(gray_bytes_data),
+            )
 
             # ---------- 修改点:safe_upload_task 调用 + gather ----------
             upload_tasks = []
@@ -233,7 +255,12 @@ async def auto_import_script_api(
                 await asyncio.gather(*upload_tasks)
             # ------------------------------------------------------------
 
-            logger.info(f"--- 自动导入流程结束, Card ID: {card_id} ---")
+            logger.info(
+                "auto_import_script_api finished card_name=%s card_id=%s upload_task_count=%s",
+                card_name,
+                card_id,
+                len(upload_tasks),
+            )
             return {
                 "message": "导入成功",
                 "card_id": card_id,
@@ -241,10 +268,16 @@ async def auto_import_script_api(
                 "cardNo": cardNo
             }
 
-        except HTTPException:
+        except HTTPException as e:
+            logger.error(
+                "auto_import_script_api failed_http card_name=%s detail=%s status_code=%s",
+                card_name,
+                e.detail,
+                e.status_code,
+            )
             raise
         except Exception as e:
-            logger.error(f"[流程终止] 发生异常: {e}")
+            logger.exception("auto_import_script_api failed_unexpected card_name=%s", card_name)
             raise HTTPException(status_code=500, detail=f"自动化处理异常: {str(e)}")