This commit is contained in:
aaron 2025-03-16 11:58:39 +08:00
parent c0a7eb3d3f
commit 1f95b83341

View File

@ -185,30 +185,35 @@ async def pre_order(
current_user: UserDB = Depends(get_current_user)
):
# # 检查是否有配送员在线
# deliveryman_online = db.query(UserDB).filter(
# UserDB.community_id == request.community_id,
# UserDB.is_delivering == True
# ).first()
try:
# 检查是否有配送员在线
deliveryman_online = db.query(UserDB).filter(
UserDB.roles.contains(UserRole.DELIVERYMAN),
UserDB.community_id == request.community_id,
UserDB.is_delivering == True
).first()
# if not deliveryman_online:
# return error_response(code=400, message="没有配送员在线, 无法下单")
if not deliveryman_online:
return error_response(code=400, message="没有配送员在线, 无法下单")
# 检查是否有未支付的订单
unpay_order = db.query(ShippingOrderDB).filter(
ShippingOrderDB.userid == current_user.userid,
ShippingOrderDB.status == OrderStatus.UNPAID
).first()
# 检查是否有未支付的订单
unpay_order = db.query(ShippingOrderDB).filter(
ShippingOrderDB.userid == current_user.userid,
ShippingOrderDB.status == OrderStatus.UNPAID
).first()
if unpay_order:
return error_response(code=400, message="存在未完成的订单", data={
"orderid": unpay_order.orderid
})
if unpay_order:
return error_response(code=400, message="存在未完成的订单", data={
"orderid": unpay_order.orderid
})
"""预下单 - 计算价格"""
price_info = calculate_price(request, current_user, db)
return success_response(data=price_info)
"""预下单 - 计算价格"""
price_info = calculate_price(request, current_user, db)
return success_response(data=price_info)
except Exception as e:
logging.exception(f"预下单失败: {str(e)}")
return error_response(code=500, message=f"预下单失败: {str(e)}")
@router.post("", response_model=ResponseModel)
async def create_order(