|
@@ -69,8 +69,12 @@ def parserGoodsDict2Aigc(return_data_check_before_detail):
|
|
|
|
|
|
|
|
async def sendAsyncMessage(msg="", goods_arts=[], status="", msg_type="", data=None,progress=None):
|
|
async def sendAsyncMessage(msg="", goods_arts=[], status="", msg_type="", data=None,progress=None):
|
|
|
"""异步发送消息"""
|
|
"""异步发送消息"""
|
|
|
|
|
+ mapping = {"segment_progress":"抠图","scene_progress":"场景图","upper_footer_progress":"模特图","detail_progress":"详情页","upload_goods_progress":"上传第三方商品"}
|
|
|
if progress is not None:
|
|
if progress is not None:
|
|
|
progress["msg_type"] = msg_type
|
|
progress["msg_type"] = msg_type
|
|
|
|
|
+ name = mapping.get(msg_type,None)
|
|
|
|
|
+ if name:
|
|
|
|
|
+ progress["name"] = name
|
|
|
data = {
|
|
data = {
|
|
|
"code": 0,
|
|
"code": 0,
|
|
|
"msg": msg,
|
|
"msg": msg,
|
|
@@ -591,6 +595,10 @@ async def handle_detail_background(
|
|
|
):
|
|
):
|
|
|
goods_art_no_arrays = params.goods_art_no
|
|
goods_art_no_arrays = params.goods_art_no
|
|
|
is_check = params.is_check
|
|
is_check = params.is_check
|
|
|
|
|
+ obj = None
|
|
|
|
|
+ token = "Bearer " + params.token
|
|
|
|
|
+ uuid = params.uuid
|
|
|
|
|
+ run_main = RunMain(obj, token, uuid)
|
|
|
is_only_cutout = params.is_only_cutout # 是否仅抠图
|
|
is_only_cutout = params.is_only_cutout # 是否仅抠图
|
|
|
online_stores = params.online_stores # 上传第三方的店铺名称数组
|
|
online_stores = params.online_stores # 上传第三方的店铺名称数组
|
|
|
is_detail = params.is_detail # 上传第三方的店铺名称数组
|
|
is_detail = params.is_detail # 上传第三方的店铺名称数组
|
|
@@ -647,15 +655,26 @@ async def handle_detail_background(
|
|
|
)
|
|
)
|
|
|
if not resFlag:
|
|
if not resFlag:
|
|
|
raise UnicornException(path)
|
|
raise UnicornException(path)
|
|
|
|
|
+ remote_data = run_main.data_mode_generate_detail.get_goods_art_no_info(goods_art_list=goods_art_no_arrays)
|
|
|
|
|
+ if remote_data == {}:
|
|
|
|
|
+ raise UnicornException("所有货号在商品档案资料中不存在,请检查货号是否正确")
|
|
|
|
|
+ error_goods_art_no = []
|
|
|
|
|
+ for goods_art_no_check in goods_art_no_arrays:
|
|
|
|
|
+ check_item = remote_data.get(goods_art_no_check,None)
|
|
|
|
|
+ if not check_item:
|
|
|
|
|
+ error_goods_art_no.append(goods_art_no_check)
|
|
|
|
|
+ if len(error_goods_art_no) > 0:
|
|
|
|
|
+ raise UnicornException("以下货号在商品档案资料中不存在,请检查货号是否正确:{}".format(error_goods_art_no))
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
|
raise UnicornException(str(e))
|
|
raise UnicornException(str(e))
|
|
|
|
|
+
|
|
|
progress = [{"msg_type":"segment_progress","name":"抠图","status":"等待处理","current":0,"total":0,"error":0}]
|
|
progress = [{"msg_type":"segment_progress","name":"抠图","status":"等待处理","current":0,"total":0,"error":0}]
|
|
|
if is_product_scene == 1:
|
|
if is_product_scene == 1:
|
|
|
progress.append({"msg_type":"scene_progress","name":"场景图","status":"等待处理","current":0,"total":0,"error":0})
|
|
progress.append({"msg_type":"scene_progress","name":"场景图","status":"等待处理","current":0,"total":0,"error":0})
|
|
|
if is_upper_footer == 1:
|
|
if is_upper_footer == 1:
|
|
|
progress.append({"msg_type":"upper_footer_progress","name":"模特图","status":"等待处理","current":0,"total":0,"error":0})
|
|
progress.append({"msg_type":"upper_footer_progress","name":"模特图","status":"等待处理","current":0,"total":0,"error":0})
|
|
|
if is_detail==1 or (params.excel_path != "" and params.excel_path != None):
|
|
if is_detail==1 or (params.excel_path != "" and params.excel_path != None):
|
|
|
- progress.append({"msg_type":"detail_progress","name":"详情页(详情页切片、详情页拼接、详情页生成完成)","status":"等待处理","current":0,"total":0,"error":0})
|
|
|
|
|
|
|
+ progress.append({"msg_type":"detail_progress","name":"详情页","status":"等待处理","current":0,"total":0,"error":0})
|
|
|
if len(online_stores) > 0:
|
|
if len(online_stores) > 0:
|
|
|
progress.append({"msg_type":"upload_goods_progress","name":"上传第三方商品","status":"等待处理","current":0,"total":0,"error":0})
|
|
progress.append({"msg_type":"upload_goods_progress","name":"上传第三方商品","status":"等待处理","current":0,"total":0,"error":0})
|
|
|
if is_check == 1:
|
|
if is_check == 1:
|
|
@@ -826,10 +845,11 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
|
if len(move_folder_array.keys()) == len(goods_art_no_arrays):
|
|
if len(move_folder_array.keys()) == len(goods_art_no_arrays):
|
|
|
- progress = {"status":"抠图完成",
|
|
|
|
|
|
|
+ progress = {"status":"处理完成",
|
|
|
"current":len(goods_art_no_arrays),
|
|
"current":len(goods_art_no_arrays),
|
|
|
"total":len(goods_art_no_arrays),
|
|
"total":len(goods_art_no_arrays),
|
|
|
- "error":0}
|
|
|
|
|
|
|
+ "error":0
|
|
|
|
|
+ }
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="抠图完成",
|
|
msg="抠图完成",
|
|
|
data={"output_folder": handler_result_folder, "list": handler_result},
|
|
data={"output_folder": handler_result_folder, "list": handler_result},
|
|
@@ -837,15 +857,6 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
msg_type="segment_progress",
|
|
msg_type="segment_progress",
|
|
|
progress=progress
|
|
progress=progress
|
|
|
)
|
|
)
|
|
|
- if is_only_cutout == 1:
|
|
|
|
|
- await sendAsyncMessage(
|
|
|
|
|
- msg="处理结束",
|
|
|
|
|
- data={"output_folder": handler_result_folder, "list": handler_result},
|
|
|
|
|
- status="处理结束",
|
|
|
|
|
- msg_type="detail_result_progress",
|
|
|
|
|
- )
|
|
|
|
|
- return True
|
|
|
|
|
-
|
|
|
|
|
try:
|
|
try:
|
|
|
if is_product_scene == 1:
|
|
if is_product_scene == 1:
|
|
|
if product_scene_prompt == "" or product_scene_prompt == None:
|
|
if product_scene_prompt == "" or product_scene_prompt == None:
|
|
@@ -880,7 +891,7 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
product_scene_total_progress = len(goods_dict.keys())
|
|
product_scene_total_progress = len(goods_dict.keys())
|
|
|
product_scene_finish_progress = 0
|
|
product_scene_finish_progress = 0
|
|
|
product_scene_error_progress = 0
|
|
product_scene_error_progress = 0
|
|
|
- product_scene_progress = {"status":"开始处理场景图", "current":product_scene_finish_progress, "total":product_scene_total_progress, "error":product_scene_error_progress}
|
|
|
|
|
|
|
+ product_scene_progress = {"status":"正在处理", "current":product_scene_finish_progress, "total":product_scene_total_progress, "error":product_scene_error_progress}
|
|
|
print("product_scene_progress",goods_dict,product_scene_progress)
|
|
print("product_scene_progress",goods_dict,product_scene_progress)
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="开始处理场景图",
|
|
msg="开始处理场景图",
|
|
@@ -891,6 +902,15 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
)
|
|
)
|
|
|
for goods_art_no in goods_dict.keys():
|
|
for goods_art_no in goods_dict.keys():
|
|
|
print("处理场景图", goods_art_no)
|
|
print("处理场景图", goods_art_no)
|
|
|
|
|
+ product_scene_finish_progress+=1
|
|
|
|
|
+ product_scene_progress = {"status":"正在处理","goods_art_no":goods_art_no, "current":product_scene_finish_progress, "total":product_scene_total_progress, "error":product_scene_error_progress}
|
|
|
|
|
+ await sendAsyncMessage(
|
|
|
|
|
+ msg="正在处理场景图",
|
|
|
|
|
+ goods_arts=[goods_art_no],
|
|
|
|
|
+ status="正在处理场景图",
|
|
|
|
|
+ msg_type="scene_progress",
|
|
|
|
|
+ progress=product_scene_progress
|
|
|
|
|
+ )
|
|
|
goods_art_dict_info = goods_dict[goods_art_no]
|
|
goods_art_dict_info = goods_dict[goods_art_no]
|
|
|
first_goods_art_no_info = goods_art_dict_info.get("货号资料", [])[0]
|
|
first_goods_art_no_info = goods_art_dict_info.get("货号资料", [])[0]
|
|
|
first_pics = first_goods_art_no_info.get("pics")
|
|
first_pics = first_goods_art_no_info.get("pics")
|
|
@@ -918,8 +938,13 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
"info": "场景图处理成功",
|
|
"info": "场景图处理成功",
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
|
- product_scene_finish_progress+=1
|
|
|
|
|
- product_scene_progress = {"status":"正在处理场景图", "current":product_scene_finish_progress, "total":product_scene_total_progress, "error":product_scene_error_progress}
|
|
|
|
|
|
|
+ product_scene_progress = {
|
|
|
|
|
+ "status":"处理成功",
|
|
|
|
|
+ "current":product_scene_finish_progress,
|
|
|
|
|
+ "total":product_scene_total_progress,
|
|
|
|
|
+ "error":product_scene_error_progress,
|
|
|
|
|
+ "goods_art_no":goods_art_no,
|
|
|
|
|
+ }
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="场景图处理完成",
|
|
msg="场景图处理完成",
|
|
|
goods_arts=[goods_art_no],
|
|
goods_arts=[goods_art_no],
|
|
@@ -936,8 +961,9 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
"info": f"场景图处理失败:{e}",
|
|
"info": f"场景图处理失败:{e}",
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
|
|
|
+ product_scene_finish_progress -=1
|
|
|
product_scene_error_progress +=1
|
|
product_scene_error_progress +=1
|
|
|
- product_scene_progress = {"status":"正在处理场景图", "current":product_scene_finish_progress, "total":product_scene_total_progress, "error":product_scene_error_progress}
|
|
|
|
|
|
|
+ product_scene_progress = {"status":"处理失败","goods_art_no":goods_art_no, "current":product_scene_finish_progress, "total":product_scene_total_progress, "error":product_scene_error_progress}
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="场景图处理失败",
|
|
msg="场景图处理失败",
|
|
|
goods_arts=[goods_art_no],
|
|
goods_arts=[goods_art_no],
|
|
@@ -945,7 +971,7 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
msg_type="scene_progress",
|
|
msg_type="scene_progress",
|
|
|
progress=product_scene_progress
|
|
progress=product_scene_progress
|
|
|
)
|
|
)
|
|
|
- product_scene_progress = {"status":"正在处理场景图", "current":product_scene_finish_progress, "total":product_scene_total_progress, "error":product_scene_error_progress}
|
|
|
|
|
|
|
+ product_scene_progress = {"status":"处理完成", "current":product_scene_finish_progress, "total":product_scene_total_progress, "error":product_scene_error_progress}
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="场景图处理结束",
|
|
msg="场景图处理结束",
|
|
|
goods_arts=[],
|
|
goods_arts=[],
|
|
@@ -963,7 +989,7 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
upper_footer_total_progress = len(goods_dict.keys())
|
|
upper_footer_total_progress = len(goods_dict.keys())
|
|
|
upper_footer_finish_progress = 0
|
|
upper_footer_finish_progress = 0
|
|
|
upper_footer_error_progress = 0
|
|
upper_footer_error_progress = 0
|
|
|
- upper_footer_progress = {"status":"开始处理模特图", "current":upper_footer_finish_progress, "total":upper_footer_total_progress, "error":upper_footer_error_progress}
|
|
|
|
|
|
|
+ upper_footer_progress = {"status":"正在处理", "current":upper_footer_finish_progress, "total":upper_footer_total_progress, "error":upper_footer_error_progress}
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="开始处理模特图",
|
|
msg="开始处理模特图",
|
|
|
goods_arts=list(goods_dict.keys()),
|
|
goods_arts=list(goods_dict.keys()),
|
|
@@ -972,6 +998,15 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
progress=upper_footer_progress
|
|
progress=upper_footer_progress
|
|
|
)
|
|
)
|
|
|
for goods_art_no in goods_dict.keys():
|
|
for goods_art_no in goods_dict.keys():
|
|
|
|
|
+ upper_footer_finish_progress+=1
|
|
|
|
|
+ upper_footer_progress = {"status":"正在处理","goods_art_no":goods_art_no, "current":product_scene_finish_progress, "total":product_scene_total_progress, "error":product_scene_error_progress}
|
|
|
|
|
+ await sendAsyncMessage(
|
|
|
|
|
+ msg="正在处理模特图",
|
|
|
|
|
+ goods_arts=[goods_art_no],
|
|
|
|
|
+ status="正在处理模特图",
|
|
|
|
|
+ msg_type="upper_footer_progress",
|
|
|
|
|
+ progress=upper_footer_progress
|
|
|
|
|
+ )
|
|
|
goods_art_dict_info = goods_dict[goods_art_no]
|
|
goods_art_dict_info = goods_dict[goods_art_no]
|
|
|
first_goods_art_no_info = goods_art_dict_info.get("货号资料", [])[0]
|
|
first_goods_art_no_info = goods_art_dict_info.get("货号资料", [])[0]
|
|
|
first_pics = first_goods_art_no_info.get("pics")
|
|
first_pics = first_goods_art_no_info.get("pics")
|
|
@@ -1001,8 +1036,7 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
"info": "模特图处理成功",
|
|
"info": "模特图处理成功",
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
|
- upper_footer_finish_progress+=1
|
|
|
|
|
- upper_footer_progress = {"status":"正在处理模特图", "current":upper_footer_finish_progress, "total":upper_footer_total_progress, "error":upper_footer_error_progress}
|
|
|
|
|
|
|
+ upper_footer_progress = {"status":"处理完成", "goods_art_no": goods_art_no,"current":upper_footer_finish_progress, "total":upper_footer_total_progress, "error":upper_footer_error_progress}
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="模特图处理成功",
|
|
msg="模特图处理成功",
|
|
|
goods_arts=[goods_art_no],
|
|
goods_arts=[goods_art_no],
|
|
@@ -1020,7 +1054,7 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
|
upper_footer_error_progress+=1
|
|
upper_footer_error_progress+=1
|
|
|
- upper_footer_progress = {"status":"正在处理模特图", "current":upper_footer_finish_progress, "total":upper_footer_total_progress, "error":upper_footer_error_progress}
|
|
|
|
|
|
|
+ upper_footer_progress = {"status":"处理失败", "goods_art_no": goods_art_no,"current":upper_footer_finish_progress, "total":upper_footer_total_progress, "error":upper_footer_error_progress}
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="模特图处理失败",
|
|
msg="模特图处理失败",
|
|
|
goods_arts=[goods_art_no],
|
|
goods_arts=[goods_art_no],
|
|
@@ -1028,12 +1062,12 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
msg_type="upper_footer_progress",
|
|
msg_type="upper_footer_progress",
|
|
|
progress=upper_footer_progress
|
|
progress=upper_footer_progress
|
|
|
)
|
|
)
|
|
|
- upper_footer_progress = {"status":"模特图处理结束", "current":upper_footer_finish_progress, "total":upper_footer_total_progress, "error":upper_footer_error_progress}
|
|
|
|
|
|
|
+ upper_footer_progress = {"status":"处理完成", "current":upper_footer_finish_progress, "total":upper_footer_total_progress, "error":upper_footer_error_progress}
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="模特图处理结束",
|
|
msg="模特图处理结束",
|
|
|
goods_arts=[],
|
|
goods_arts=[],
|
|
|
status="模特图处理结束",
|
|
status="模特图处理结束",
|
|
|
- msg_type="scene_progress",
|
|
|
|
|
|
|
+ msg_type="upper_footer_progress",
|
|
|
progress=upper_footer_progress
|
|
progress=upper_footer_progress
|
|
|
)
|
|
)
|
|
|
if new_goods_dict is not None or new_goods_dict != {}:
|
|
if new_goods_dict is not None or new_goods_dict != {}:
|
|
@@ -1048,17 +1082,17 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
msg_type="detail_result_progress",
|
|
msg_type="detail_result_progress",
|
|
|
)
|
|
)
|
|
|
return True
|
|
return True
|
|
|
- detail_total_progress = len(goods_dict.keys())
|
|
|
|
|
- detail_finish_progress = 0
|
|
|
|
|
|
|
+ # detail_total_progress = len(goods_dict.keys())
|
|
|
|
|
+ # detail_finish_progress = 0
|
|
|
detail_error_progress = 0
|
|
detail_error_progress = 0
|
|
|
- detail_progress = {"status":"开始处理详情页", "current":detail_finish_progress, "total":detail_total_progress, "error":detail_error_progress}
|
|
|
|
|
- await sendAsyncMessage(
|
|
|
|
|
- msg="开始处理详情页",
|
|
|
|
|
- goods_arts=[],
|
|
|
|
|
- status="开始处理详情页",
|
|
|
|
|
- msg_type="detail_progress",
|
|
|
|
|
- progress=detail_progress
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ # detail_progress = {"status":"开始处理", "current":detail_finish_progress, "total":detail_total_progress, "error":detail_error_progress}
|
|
|
|
|
+ # await sendAsyncMessage(
|
|
|
|
|
+ # msg="开始处理详情页",
|
|
|
|
|
+ # goods_arts=[],
|
|
|
|
|
+ # status="开始处理详情页",
|
|
|
|
|
+ # msg_type="detail_progress",
|
|
|
|
|
+ # progress=detail_progress
|
|
|
|
|
+ # )
|
|
|
check_for_detail_first_res = run_main.check_for_detail_first_call_back(
|
|
check_for_detail_first_res = run_main.check_for_detail_first_call_back(
|
|
|
return_data_check_before_detail
|
|
return_data_check_before_detail
|
|
|
)
|
|
)
|
|
@@ -1069,16 +1103,16 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
except:
|
|
except:
|
|
|
config_data = result
|
|
config_data = result
|
|
|
if config_data["sign_text"] == "已结束详情处理":
|
|
if config_data["sign_text"] == "已结束详情处理":
|
|
|
- detail_finish_progress = len(config_data["success_handler"])
|
|
|
|
|
- detail_error_progress = detail_total_progress - detail_finish_progress
|
|
|
|
|
- detail_progress = {"status":"详情页处理结束", "current":detail_finish_progress, "total":detail_total_progress, "error":detail_error_progress}
|
|
|
|
|
- await sendAsyncMessage(
|
|
|
|
|
- msg="详情页处理结束",
|
|
|
|
|
- goods_arts=[],
|
|
|
|
|
- status="详情页处理结束",
|
|
|
|
|
- msg_type="detail_progress",
|
|
|
|
|
- progress=detail_progress
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ # detail_finish_progress = len(config_data["success_handler"])
|
|
|
|
|
+ # detail_error_progress = detail_total_progress - detail_finish_progress
|
|
|
|
|
+ # detail_progress = {"status":"处理完成", "current":detail_finish_progress, "total":detail_total_progress, "error":detail_error_progress}
|
|
|
|
|
+ # await sendAsyncMessage(
|
|
|
|
|
+ # msg="详情页处理结束",
|
|
|
|
|
+ # goods_arts=[],
|
|
|
|
|
+ # status="详情页处理结束",
|
|
|
|
|
+ # msg_type="detail_progress",
|
|
|
|
|
+ # progress=detail_progress
|
|
|
|
|
+ # )
|
|
|
print("config_data", config_data)
|
|
print("config_data", config_data)
|
|
|
out_put_dir = config_data.get("out_put_dir")
|
|
out_put_dir = config_data.get("out_put_dir")
|
|
|
if out_put_dir == None:
|
|
if out_put_dir == None:
|
|
@@ -1124,10 +1158,10 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
result_goods_no_dict[goods_no_dict][
|
|
result_goods_no_dict[goods_no_dict][
|
|
|
"detail_path"
|
|
"detail_path"
|
|
|
] = f"{detail_path_replace}/详情页.jpg"
|
|
] = f"{detail_path_replace}/详情页.jpg"
|
|
|
- upload_total_progress = len(goods_dict.keys())
|
|
|
|
|
|
|
+ upload_total_progress = len(result_goods_no_dict.keys())
|
|
|
upload_finish_progress = 0
|
|
upload_finish_progress = 0
|
|
|
upload_error_progress = 0
|
|
upload_error_progress = 0
|
|
|
- upload_progress = {"status":"开始上传商品数据", "current":upload_finish_progress, "total":upload_total_progress, "error":upload_error_progress}
|
|
|
|
|
|
|
+ upload_progress = {"status":"开始处理", "current":upload_finish_progress, "total":upload_total_progress, "error":upload_error_progress}
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="开始上传商品数据",
|
|
msg="开始上传商品数据",
|
|
|
goods_arts=[],
|
|
goods_arts=[],
|
|
@@ -1145,7 +1179,7 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
|
|
|
upload_finish_progress = upload_total_progress
|
|
upload_finish_progress = upload_total_progress
|
|
|
if upload_error_progress > 0:
|
|
if upload_error_progress > 0:
|
|
|
upload_finish_progress = 0
|
|
upload_finish_progress = 0
|
|
|
- upload_progress = {"status":"开始上传商品数据", "current":upload_finish_progress, "total":upload_total_progress, "error":upload_error_progress}
|
|
|
|
|
|
|
+ upload_progress = {"status":"处理完成", "current":upload_finish_progress, "total":upload_total_progress, "error":upload_error_progress}
|
|
|
await sendAsyncMessage(
|
|
await sendAsyncMessage(
|
|
|
msg="商品上传第三方成功",
|
|
msg="商品上传第三方成功",
|
|
|
goods_arts=[],
|
|
goods_arts=[],
|