diff --git a/app/api/endpoints/community_timeperiod.py b/app/api/endpoints/community_timeperiod.py index f068ae7..b2713c3 100644 --- a/app/api/endpoints/community_timeperiod.py +++ b/app/api/endpoints/community_timeperiod.py @@ -125,6 +125,7 @@ async def get_community_time_periods( today_orders_count = redis_client.get_community_period_today_orders_count(ctp.CommunityTimePeriodDB.id) result.append({ + "communtiy_time_period_id" :ctp.CommunityTimePeriodDB.id, "time_period_id": ctp.CommunityTimePeriodDB.time_period_id, "time_period_name": ctp.time_period_name, "capacity": ctp.CommunityTimePeriodDB.capacity, diff --git a/app/api/endpoints/order.py b/app/api/endpoints/order.py index 69c7705..799b20c 100644 --- a/app/api/endpoints/order.py +++ b/app/api/endpoints/order.py @@ -44,6 +44,7 @@ from fastapi import BackgroundTasks from app.core.coupon_manager import CouponManager from app.core.redis_client import redis_client from app.models.timeperiod import TimePeriodDB +from app.models.community_timeperiod import CommunityTimePeriodDB router = APIRouter() def calculate_price(price_request: OrderPriceCalculateRequest,user: UserDB,db: Session) -> OrderPriceResult: @@ -243,15 +244,19 @@ async def create_order( ) # 获取社区配送时段 - time_period = db.query(TimePeriodDB).filter( - TimePeriodDB.id == order.time_period_id - ).first() + community_time_period = db.query(CommunityTimePeriodDB, + TimePeriodDB.name.label('time_period_name'), + TimePeriodDB.from_time.label('time_period_from_time'), + TimePeriodDB.to_time.label('time_period_to_time')).filter( + CommunityTimePeriodDB.id == order.community_time_period_id + ).join(TimePeriodDB, + CommunityTimePeriodDB.time_period_id == TimePeriodDB.id).first() - if time_period: - db_order.time_period_id = time_period.id - db_order.time_period_name = time_period.name - db_order.time_period_from_time = time_period.from_time - db_order.time_period_to_time = time_period.to_time + if community_time_period: + db_order.time_period_id = community_time_period.CommunityTimePeriodDB.time_period_id + db_order.time_period_name = community_time_period.time_period_name + db_order.time_period_from_time = community_time_period.time_period_from_time + db_order.time_period_to_time = community_time_period.time_period_to_time # 获取取件图片 if order.price_request.pickup_images: diff --git a/app/models/order.py b/app/models/order.py index 5957742..1fc582a 100644 --- a/app/models/order.py +++ b/app/models/order.py @@ -126,7 +126,6 @@ class OrderCreate(BaseModel): addressid: int price_request: OrderPriceCalculateRequest community_time_period_id: int = 0 - time_period_id: int = 0 delivery_method: DeliveryMethod = Field( default=DeliveryMethod.DELIVERY_AT_DOORSTEP, description="配送方式:放在门口或投递到家"