fix userinfo bug

This commit is contained in:
aaron 2025-02-13 10:50:04 +08:00
parent 97df73f729
commit cd07bd04ba

View File

@ -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()
# 构建返回数据
user_info = UserInfo.model_validate(current_user)
user_data = user_info.model_dump()
# 处理默认地址
if default_address:
user_info = AddressInfo.model_validate(default_address)
return success_response(data={
**user_info.model_dump(),
"coupon_count": coupon_count,
"default_address": 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(