优化发货逻辑

This commit is contained in:
zhinianboke 2025-08-14 22:25:47 +08:00
parent afa404f64c
commit 7db0531995

View File

@ -475,14 +475,16 @@ class XianyuLive:
# 提取订单ID
order_id = self._extract_order_id(message)
# 订单ID已提取将在自动发货时进行确认发货处理
if order_id:
logger.info(f'[{msg_time}] 【{self.cookie_id}】提取到订单ID: {order_id},将在自动发货时处理确认发货')
else:
logger.warning(f'[{msg_time}] 【{self.cookie_id}】❌ 未能提取到订单ID')
# 如果order_id不存在直接返回
if not order_id:
logger.warning(f'[{msg_time}] 【{self.cookie_id}】❌ 未能提取到订单ID跳过自动发货')
return
# 使用订单ID作为锁的键如果没有订单ID则使用item_id+chat_id组合
lock_key = order_id if order_id else f"{item_id}_{chat_id}"
# 订单ID已提取将在自动发货时进行确认发货处理
logger.info(f'[{msg_time}] 【{self.cookie_id}】提取到订单ID: {order_id},将在自动发货时处理确认发货')
# 使用订单ID作为锁的键
lock_key = order_id
# 第一重检查:延迟锁状态(在获取锁之前检查,避免不必要的等待)
if self.is_lock_held(lock_key):
@ -3585,7 +3587,10 @@ class XianyuLive:
# 提取订单ID
order_id = self._extract_order_id(message)
if order_id:
if not order_id:
logger.warning(f'[{msg_time}] 【{self.cookie_id}】❌ 未能提取到订单ID无法执行免拼发货')
return
# 延迟2秒后执行免拼发货
logger.info(f'[{msg_time}] 【{self.cookie_id}】延迟2秒后执行免拼发货...')
await asyncio.sleep(2)
@ -3598,9 +3603,6 @@ class XianyuLive:
await self._handle_auto_delivery(websocket, message, send_user_name, send_user_id,
item_id, chat_id, msg_time)
return
else:
logger.warning(f'[{msg_time}] 【{self.cookie_id}】❌ 未能提取到订单ID无法执行免拼发货')
return
else:
logger.info(f'[{msg_time}] 【{self.cookie_id}】收到卡片消息,标题: {card_title or "未知"}')
# 如果不是目标卡片消息,继续正常处理流程(会受到暂停影响)