订单检查接口更新

This commit is contained in:
aaron 2025-03-04 09:27:06 +08:00
parent 653501f07f
commit 8faca8e8cb
2 changed files with 21 additions and 8 deletions

View File

@ -1363,6 +1363,20 @@ async def get_deliveryman_order_summary(
"today_count": today_total
})
@router.get("/deliveryman/new_orders_checked", response_model=ResponseModel)
async def get_new_orders_checked(
db: Session = Depends(get_db),
deliveryman: UserDB = Depends(get_deliveryman_user)
):
"""获取新订单已检查标记"""
success = redis_client.remove_orders(deliveryman.community_id)
return success_response(data={
"message": "新订单已检查标记已移除",
"success": success
})
@router.get("/deliveryman/check_new_order", response_model=ResponseModel)
async def check_new_orders(
db: Session = Depends(get_db),
@ -1371,7 +1385,7 @@ async def check_new_orders(
"""检查新订单"""
# 从Redis获取新订单ID列表
order_ids = redis_client.pop_orders_from_queue(deliveryman.community_id, 10)
order_ids = redis_client.get_orders_from_queue(deliveryman.community_id, 10)
if not order_ids:
return success_response(data={

View File

@ -54,7 +54,7 @@ class RedisClient:
logging.error(f"添加新订单到队列失败: {str(e)}")
return False
def pop_orders_from_queue(self, community_id: int, count: int = 10) -> List[str]:
def get_orders_from_queue(self, community_id: int, count: int = 10) -> List[str]:
"""
获取社区新订单列表
@ -67,28 +67,27 @@ class RedisClient:
"""
try:
key = f"community:{community_id}:new_orders"
# 获取订单列表,并移除
orders = self.client.lpop(key, count)
# 获取订单列表,并移除
orders = self.client.lrange(key, 0, count-1)
return orders
except Exception as e:
logging.error(f"获取社区新订单列表失败: {str(e)}")
return []
def remove_order(self, community_id: int, order_id: str) -> bool:
def remove_orders(self, community_id: int) -> bool:
"""
从社区队列中移除订单
Args:
community_id: 社区ID
order_id: 订单ID
Returns:
bool: 是否移除成功
"""
try:
key = f"community:{community_id}:new_orders"
# 使用 LREM 移除列表中的元素
self.client.lrem(key, 0, order_id)
# 使用 ltrim 移除队列中的所有元素
self.client.ltrim(key, 0, -1)
return True
except Exception as e:
logging.error(f"从队列中移除订单失败: {str(e)}")