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) current_user: UserDB = Depends(get_current_user)
): ):
# # 检查是否有配送员在线 try:
# deliveryman_online = db.query(UserDB).filter( # 检查是否有配送员在线
# UserDB.community_id == request.community_id, deliveryman_online = db.query(UserDB).filter(
# UserDB.is_delivering == True UserDB.roles.contains(UserRole.DELIVERYMAN),
# ).first() UserDB.community_id == request.community_id,
UserDB.is_delivering == True
).first()
# if not deliveryman_online: if not deliveryman_online:
# return error_response(code=400, message="没有配送员在线, 无法下单") return error_response(code=400, message="没有配送员在线, 无法下单")
# 检查是否有未支付的订单 # 检查是否有未支付的订单
unpay_order = db.query(ShippingOrderDB).filter( unpay_order = db.query(ShippingOrderDB).filter(
ShippingOrderDB.userid == current_user.userid, ShippingOrderDB.userid == current_user.userid,
ShippingOrderDB.status == OrderStatus.UNPAID ShippingOrderDB.status == OrderStatus.UNPAID
).first() ).first()
if unpay_order: if unpay_order:
return error_response(code=400, message="存在未完成的订单", data={ return error_response(code=400, message="存在未完成的订单", data={
"orderid": unpay_order.orderid "orderid": unpay_order.orderid
}) })
"""预下单 - 计算价格""" """预下单 - 计算价格"""
price_info = calculate_price(request, current_user, db) price_info = calculate_price(request, current_user, db)
return success_response(data=price_info) 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) @router.post("", response_model=ResponseModel)
async def create_order( async def create_order(