diff --git a/app/api/endpoints/order.py b/app/api/endpoints/order.py index fb1108c..9f4e525 100644 --- a/app/api/endpoints/order.py +++ b/app/api/endpoints/order.py @@ -50,6 +50,8 @@ from app.models.community_timeperiod import CommunityTimePeriodDB from app.models.community_profit_sharing import CommunityProfitSharing from app.core.qcloud import QCloudManager from app.core.wechat import WeChatClient +from app.models.community import CommunityStatus + router = APIRouter() def calculate_price(price_request: OrderPriceCalculateRequest,user: UserDB,db: Session) -> OrderPriceResult: @@ -208,27 +210,28 @@ async def pre_order( if request.delivery_date and request.delivery_date < datetime.now().date(): return error_response(code=400, message="配送日期不能选择过去的时间") - # 检查是否在服务时间 community = db.query(CommunityDB).filter( CommunityDB.id == request.community_id ).first() - if community: - # 检查是否在服务时间 - if community.weekdays and request.delivery_date: - if request.delivery_date.isoweekday() not in community.weekdays: + # 检查是否在服务时间 + if community and community.status != CommunityStatus.OPENING: + return error_response(code=400, message="服务暂未开放") - #排序 - sorted_weekdays = sorted(community.weekdays) + # 检查是否在服务时间 + if community and community.weekdays and request.delivery_date: + if request.delivery_date.isoweekday() not in community.weekdays: + #排序 + sorted_weekdays = sorted(community.weekdays) - if has_consecutive_weekdays(sorted_weekdays): - message = f"服务时间为: 周{sorted_weekdays[0]}-{sorted_weekdays[-1]}" - else: - message = f"服务时间为: " - for day in sorted_weekdays: - message += f"周{day}, " - message = message[:-2] - return error_response(code=400, message=message) + if has_consecutive_weekdays(sorted_weekdays): + message = f"服务时间为: 周{sorted_weekdays[0]}-{sorted_weekdays[-1]}" + else: + message = f"服务时间为: " + for day in sorted_weekdays: + message += f"周{day}, " + message = message[:-2] + return error_response(code=400, message=message) # 检查是否有未支付的订单 unpay_order = db.query(ShippingOrderDB).filter( diff --git a/jobs.sqlite b/jobs.sqlite index 146b9bd..c8353bf 100644 Binary files a/jobs.sqlite and b/jobs.sqlite differ