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)
|
@router.get("/info", response_model=ResponseModel)
|
||||||
async def get_user_info(
|
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
|
UserCouponDB.status == CouponStatus.UNUSED
|
||||||
).count()
|
).count()
|
||||||
|
|
||||||
# 获取用户基本信息
|
# 获取用户默认地址
|
||||||
user_info = UserInfo.model_validate(current_user)
|
|
||||||
|
|
||||||
# 返回用户的默认地址,需要 join 出社区名称
|
|
||||||
default_address = db.query(AddressDB, CommunityDB.name.label('community_name')).join(
|
default_address = db.query(AddressDB, CommunityDB.name.label('community_name')).join(
|
||||||
CommunityDB,
|
CommunityDB,
|
||||||
AddressDB.community_id == CommunityDB.id
|
AddressDB.community_id == CommunityDB.id
|
||||||
@ -138,14 +135,29 @@ async def get_user_info(
|
|||||||
AddressDB.is_default == True
|
AddressDB.is_default == True
|
||||||
).first()
|
).first()
|
||||||
|
|
||||||
|
# 构建返回数据
|
||||||
|
user_info = UserInfo.model_validate(current_user)
|
||||||
|
user_data = user_info.model_dump()
|
||||||
|
|
||||||
|
# 处理默认地址
|
||||||
if default_address:
|
if default_address:
|
||||||
user_info = AddressInfo.model_validate(default_address)
|
address_data = {
|
||||||
|
"id": default_address.AddressDB.id,
|
||||||
return success_response(data={
|
"community_id": default_address.AddressDB.community_id,
|
||||||
**user_info.model_dump(),
|
"community_name": default_address.community_name,
|
||||||
"coupon_count": coupon_count,
|
"community_building_id": default_address.AddressDB.community_building_id,
|
||||||
"default_address": default_address
|
"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)
|
@router.post("/phone-login", response_model=ResponseModel)
|
||||||
async def phone_login(
|
async def phone_login(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user