From 8b5a5988e33ccada88a9a0e64699fbb2e94c9cea Mon Sep 17 00:00:00 2001 From: aaron <> Date: Wed, 12 Feb 2025 21:03:47 +0800 Subject: [PATCH] update --- app/api/endpoints/address.py | 4 ++-- app/api/endpoints/community.py | 2 +- app/api/endpoints/coupon.py | 2 +- app/api/endpoints/order.py | 2 +- app/api/endpoints/station.py | 4 ++-- app/api/endpoints/user.py | 16 +++++++++++++++- 6 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/api/endpoints/address.py b/app/api/endpoints/address.py index 189122d..d32b755 100644 --- a/app/api/endpoints/address.py +++ b/app/api/endpoints/address.py @@ -11,7 +11,7 @@ from app.core.response import success_response, error_response, ResponseModel router = APIRouter() -@router.post("/", response_model=ResponseModel) +@router.post("", response_model=ResponseModel) async def create_address( address: AddressCreate, db: Session = Depends(get_db), @@ -35,7 +35,7 @@ async def create_address( db.refresh(db_address) return success_response(data=AddressInfo.model_validate(db_address)) -@router.get("/", response_model=ResponseModel) +@router.get("", response_model=ResponseModel) async def get_addresses( community_id: Optional[int] = None, db: Session = Depends(get_db), diff --git a/app/api/endpoints/community.py b/app/api/endpoints/community.py index 05503eb..9b89a19 100644 --- a/app/api/endpoints/community.py +++ b/app/api/endpoints/community.py @@ -12,7 +12,7 @@ from app.core.response import success_response, error_response, ResponseModel router = APIRouter() -@router.post("/", response_model=ResponseModel) +@router.post("", response_model=ResponseModel) async def create_community( community: CommunityCreate, db: Session = Depends(get_db), diff --git a/app/api/endpoints/coupon.py b/app/api/endpoints/coupon.py index 7eeb52c..0f5ff4c 100644 --- a/app/api/endpoints/coupon.py +++ b/app/api/endpoints/coupon.py @@ -19,7 +19,7 @@ from datetime import datetime, timezone router = APIRouter() -@router.post("/", response_model=ResponseModel) +@router.post("", response_model=ResponseModel) async def create_coupon( coupon: CouponCreate, db: Session = Depends(get_db), diff --git a/app/api/endpoints/order.py b/app/api/endpoints/order.py index 656d97d..0d1cc45 100644 --- a/app/api/endpoints/order.py +++ b/app/api/endpoints/order.py @@ -113,7 +113,7 @@ async def pre_order( price_info = calculate_price(request, current_user, db) return success_response(data=price_info) -@router.post("/", response_model=ResponseModel) +@router.post("", response_model=ResponseModel) async def create_shipping_order( order: OrderCreate, db: Session = Depends(get_db), diff --git a/app/api/endpoints/station.py b/app/api/endpoints/station.py index 00768a3..331cd2c 100644 --- a/app/api/endpoints/station.py +++ b/app/api/endpoints/station.py @@ -10,7 +10,7 @@ from app.core.response import success_response, error_response, ResponseModel router = APIRouter() -@router.post("/", response_model=ResponseModel) +@router.post("", response_model=ResponseModel) async def create_station( station: StationCreate, db: Session = Depends(get_db), @@ -23,7 +23,7 @@ async def create_station( db.refresh(db_station) return success_response(data=StationInfo.model_validate(db_station)) -@router.get("/", response_model=ResponseModel) +@router.get("", response_model=ResponseModel) async def get_stations( community_id: Optional[int] = None, skip: int = 0, diff --git a/app/api/endpoints/user.py b/app/api/endpoints/user.py index 4879738..0e80daf 100644 --- a/app/api/endpoints/user.py +++ b/app/api/endpoints/user.py @@ -22,6 +22,7 @@ from app.models.community import CommunityDB from app.models.user_auth import UserAuthDB, UserAuthCreate, UserAuthInfo from app.core.qcloud import qcloud_manager from app.models.merchant import MerchantDB +from app.models.address import AddressDB, AddressInfo router = APIRouter() @@ -127,10 +128,23 @@ async def get_user_info( # 获取用户基本信息 user_info = UserInfo.model_validate(current_user) + + # 返回用户的默认地址,需要 join 出社区名称 + default_address = db.query(AddressDB, CommunityDB.name.label('community_name')).join( + CommunityDB, + AddressDB.community_id == CommunityDB.id + ).filter( + AddressDB.user_id == current_user.userid, + AddressDB.is_default == True + ).first() + if default_address: + user_info = AddressInfo.model_validate(default_address) + return success_response(data={ **user_info.model_dump(), - "coupon_count": coupon_count + "coupon_count": coupon_count, + "default_address": default_address }) @router.post("/phone-login", response_model=ResponseModel)