fix userinfo bug
This commit is contained in:
parent
97df73f729
commit
cd07bd04ba
@ -116,8 +116,8 @@ async def login(
|
||||
|
||||
@router.get("/info", response_model=ResponseModel)
|
||||
async def get_user_info(
|
||||
current_user: UserDB = Depends(get_current_user),
|
||||
db: Session = Depends(get_db)
|
||||
db: Session = Depends(get_db),
|
||||
current_user: UserDB = Depends(get_current_user)
|
||||
):
|
||||
"""获取用户信息"""
|
||||
# 查询用户未使用的优惠券数量
|
||||
@ -126,10 +126,7 @@ async def get_user_info(
|
||||
UserCouponDB.status == CouponStatus.UNUSED
|
||||
).count()
|
||||
|
||||
# 获取用户基本信息
|
||||
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
|
||||
@ -138,14 +135,29 @@ async def get_user_info(
|
||||
AddressDB.is_default == True
|
||||
).first()
|
||||
|
||||
if default_address:
|
||||
user_info = AddressInfo.model_validate(default_address)
|
||||
# 构建返回数据
|
||||
user_info = UserInfo.model_validate(current_user)
|
||||
user_data = user_info.model_dump()
|
||||
|
||||
return success_response(data={
|
||||
**user_info.model_dump(),
|
||||
"coupon_count": coupon_count,
|
||||
"default_address": default_address
|
||||
})
|
||||
# 处理默认地址
|
||||
if default_address:
|
||||
address_data = {
|
||||
"id": default_address.AddressDB.id,
|
||||
"community_id": default_address.AddressDB.community_id,
|
||||
"community_name": default_address.community_name,
|
||||
"community_building_id": default_address.AddressDB.community_building_id,
|
||||
"community_building_name": default_address.AddressDB.community_building_name,
|
||||
"address_detail": default_address.AddressDB.address_detail,
|
||||
"name": default_address.AddressDB.name,
|
||||
"phone": default_address.AddressDB.phone,
|
||||
"gender": default_address.AddressDB.gender,
|
||||
"is_default": default_address.AddressDB.is_default
|
||||
}
|
||||
user_data['default_address'] = AddressInfo(**address_data)
|
||||
|
||||
user_data['coupon_count'] = coupon_count
|
||||
|
||||
return success_response(data=user_data)
|
||||
|
||||
@router.post("/phone-login", response_model=ResponseModel)
|
||||
async def phone_login(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user