From 4f074561d03a98c39ace9bf2df79ee3028492c91 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Tue, 25 Mar 2025 14:26:07 +0800 Subject: [PATCH] update --- app/api/endpoints/merchant_product.py | 20 +++++++++++++++++--- jobs.sqlite | Bin 24576 -> 24576 bytes 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/api/endpoints/merchant_product.py b/app/api/endpoints/merchant_product.py index 76ee101..d8f6d6b 100644 --- a/app/api/endpoints/merchant_product.py +++ b/app/api/endpoints/merchant_product.py @@ -16,6 +16,9 @@ from sqlalchemy import func from sqlalchemy.orm import joinedload from app.models.merchant_product import OperationType, DeliveryType, DeliveryTimeType from app.models.merchant import MerchantInfo +from app.models.address import AddressDB, AddressInfo +from app.api.deps import get_current_user + router = APIRouter() @router.post("", response_model=ResponseModel) @@ -120,25 +123,36 @@ async def list_merchant_products( @router.get("/{product_id}", response_model=ResponseModel) async def get_product( product_id: int, - db: Session = Depends(get_db) + db: Session = Depends(get_db), + current_user: UserDB = Depends(get_current_user) ): """获取产品详情""" product = db.query(MerchantProductDB).filter( MerchantProductDB.id == product_id ).first() + if not product: + return error_response(code=404, message="产品不存在") + product_info = MerchantProductInfo.model_validate(product) merchant = MerchantInfo.model_validate(product.merchant) + result = { **product_info.model_dump(), "gift_points" : int(float(product.gift_points_rate) / 10 * float(product.sale_price)), "merchant": merchant.model_dump() } - if not product: - return error_response(code=404, message="产品不存在") + # 获取默认地址 + default_address = db.query(AddressDB).filter( + AddressDB.user_id == current_user.userid, + AddressDB.is_default == True + ).first() + + if default_address: + result["default_address"] = AddressInfo.model_validate(default_address) return success_response(data=result) diff --git a/jobs.sqlite b/jobs.sqlite index 3dbd7e732ff514ef01efb3a1b9ee50beb431606c..7042328f7bf64b3f00ea0401ea918e654e15bbea 100644 GIT binary patch delta 19 acmZoTz}Rqrae_2s^F$eE#^#L)3*rGt6$dr| delta 19 acmZoTz}Rqrae_2s@kAMC#^Q|$3*rGsB?lG&