rambo hace 1 mes
padre
commit
3f19fe5470
Se han modificado 1 ficheros con 65 adiciones y 0 borrados
  1. 65 0
      python/api.py

+ 65 - 0
python/api.py

@@ -297,6 +297,71 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
                 data={"output_folder": handler_result_folder, "list": failed_items},
                 status="处理结束",
                 msg_type="detail_result_progress",
+            )
+            
+        # 如果全部失败,直接终止
+        if failed_items and len(failed_items) == len(success_handler):
+            check_progress = {
+                "status": "处理失败", 
+                "current": 0, 
+                "total": len(success_handler), 
+                "error": len(failed_items)
+            }
+            
+            await sendAsyncMessage(
+                msg="检查失败",
+                goods_arts=[],
+                status="检查失败",
+                msg_type="segment_progress",
+                progress=check_progress
+            )
+            return True
+            
+        # 处理场景图
+        if is_product_scene == 1:
+            return_data_check_before_detail = await _process_scene_images(
+                aigc_clazz, run_main, return_data_check_before_detail, product_scene_prompt
+            )
+            
+        # 处理模特图
+        if is_upper_footer == 1:
+            return_data_check_before_detail = await _process_model_images(
+                aigc_clazz, run_main, return_data_check_before_detail, upper_footer_params
+            )
+        current_day = time.strftime("%Y-%m-%d", time.localtime(time.time()))
+        # 处理详情页
+        if is_detail == 1:
+            handler_result_folder, handler_result= await _process_detail_pages(
+                run_main, return_data_check_before_detail, onlineData, 
+                online_stores, goods_art_no_arrays, handler_result_folder
+            )
+            # 如果需要上传到第三方平台
+            if online_stores:
+                await _upload_to_third_party(
+                    onlineData, return_data_check_before_detail, 
+                    config_data, online_stores
+                )
+            await sendAsyncMessage(
+                msg="处理结束",
+                data={"output_folder": f"{handler_result_folder}/{current_day}", "list": handler_result},
+                status="处理结束",
+                msg_type="detail_result_progress",
+            )
+        else:
+            await sendAsyncMessage(
+                msg="处理结束",
+                data={"output_folder": f"{handler_result_folder}/{current_day}", "list": handler_result},
+                status="处理结束",
+                msg_type="detail_result_progress",
+            )
+            
+    except UnicornException as e:
+        logger.info(f"错误信息:{e}")
+        line = traceback.extract_tb(e.__traceback__)[0][1]
+        logger.info(f"错误发生在行号:{line}")
+        await _handle_exception(e.msg, handler_result_folder)
+    except Exception as e:
+        logger.info(f"错误信息:{e}")
         line = traceback.extract_tb(e.__traceback__)[0][1]
         logger.info(f"错误发生在行号:{line}")
         await _handle_exception(str(e), handler_result_folder)