update
This commit is contained in:
parent
05f44c6dfe
commit
4f074561d0
@ -16,6 +16,9 @@ from sqlalchemy import func
|
|||||||
from sqlalchemy.orm import joinedload
|
from sqlalchemy.orm import joinedload
|
||||||
from app.models.merchant_product import OperationType, DeliveryType, DeliveryTimeType
|
from app.models.merchant_product import OperationType, DeliveryType, DeliveryTimeType
|
||||||
from app.models.merchant import MerchantInfo
|
from app.models.merchant import MerchantInfo
|
||||||
|
from app.models.address import AddressDB, AddressInfo
|
||||||
|
from app.api.deps import get_current_user
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@router.post("", response_model=ResponseModel)
|
@router.post("", response_model=ResponseModel)
|
||||||
@ -120,25 +123,36 @@ async def list_merchant_products(
|
|||||||
@router.get("/{product_id}", response_model=ResponseModel)
|
@router.get("/{product_id}", response_model=ResponseModel)
|
||||||
async def get_product(
|
async def get_product(
|
||||||
product_id: int,
|
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(
|
product = db.query(MerchantProductDB).filter(
|
||||||
MerchantProductDB.id == product_id
|
MerchantProductDB.id == product_id
|
||||||
).first()
|
).first()
|
||||||
|
|
||||||
|
if not product:
|
||||||
|
return error_response(code=404, message="产品不存在")
|
||||||
|
|
||||||
product_info = MerchantProductInfo.model_validate(product)
|
product_info = MerchantProductInfo.model_validate(product)
|
||||||
|
|
||||||
merchant = MerchantInfo.model_validate(product.merchant)
|
merchant = MerchantInfo.model_validate(product.merchant)
|
||||||
|
|
||||||
|
|
||||||
result = {
|
result = {
|
||||||
**product_info.model_dump(),
|
**product_info.model_dump(),
|
||||||
"gift_points" : int(float(product.gift_points_rate) / 10 * float(product.sale_price)),
|
"gift_points" : int(float(product.gift_points_rate) / 10 * float(product.sale_price)),
|
||||||
"merchant": merchant.model_dump()
|
"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)
|
return success_response(data=result)
|
||||||
|
|
||||||
|
|||||||
BIN
jobs.sqlite
BIN
jobs.sqlite
Binary file not shown.
Loading…
Reference in New Issue
Block a user