diff --git a/app/api/endpoints/dashboard.py b/app/api/endpoints/dashboard.py index e2c6cdc..7260565 100644 --- a/app/api/endpoints/dashboard.py +++ b/app/api/endpoints/dashboard.py @@ -8,6 +8,7 @@ from sqlalchemy.orm import Session from datetime import datetime, timedelta from app.core.response import success_response, error_response, ResponseModel from typing import Optional +from app.models.user_auth import UserAuthDB router = APIRouter() # 获取基础信息 @@ -57,19 +58,20 @@ async def get_deliveryman_dashboard_info( db: Session = Depends(get_db) ): # 获取配送员信息 - query = db.query(UserDB).filter(UserDB.roles.contains(UserRole.DELIVERYMAN)) + query = db.query(UserDB, UserAuthDB.name.label('auth_name')).join(UserAuthDB, UserDB.userid == UserAuthDB.user_id).filter(UserDB.roles.contains(UserRole.DELIVERYMAN)) if community_id: query = query.filter(UserDB.community_id == community_id) deliverymans = query.all() result = [] for deliveryman in deliverymans: - orders = db.query(ShippingOrderDB).filter(ShippingOrderDB.deliveryman_user_id == deliveryman.userid, ShippingOrderDB.status.in_([OrderStatus.COMPLETED, OrderStatus.UNPAID])).all() - today_orders = db.query(ShippingOrderDB).filter(ShippingOrderDB.deliveryman_user_id == deliveryman.userid, ShippingOrderDB.status.in_([OrderStatus.COMPLETED, OrderStatus.UNPAID]), ShippingOrderDB.completed_time >= datetime.now().date()).all() + orders = db.query(ShippingOrderDB).filter(ShippingOrderDB.deliveryman_user_id == deliveryman.UserDB.userid, ShippingOrderDB.status.in_([OrderStatus.COMPLETED, OrderStatus.UNPAID])).all() + today_orders = db.query(ShippingOrderDB).filter(ShippingOrderDB.deliveryman_user_id == deliveryman.UserDB.userid, ShippingOrderDB.status.in_([OrderStatus.COMPLETED, OrderStatus.UNPAID]), ShippingOrderDB.completed_time >= datetime.now().date()).all() result.append({ - "deliveryman_id": deliveryman.userid, - "deliveryman_name": deliveryman.nickname, - "deliveryman_community_name": deliveryman.community.name, + "deliveryman_id": deliveryman.UserDB.userid, + "deliveryman_name": deliveryman.UserDB.nickname, + "deliveryman_auth_name": deliveryman.auth_name, + "deliveryman_community_name": deliveryman.UserDB.community.name, "order_count": len(orders), "order_amount": sum([order.original_amount_with_additional_fee for order in orders]), "today_order_count": len(today_orders), diff --git a/app/api/endpoints/user.py b/app/api/endpoints/user.py index 98ede7d..4f70349 100644 --- a/app/api/endpoints/user.py +++ b/app/api/endpoints/user.py @@ -91,6 +91,13 @@ async def get_user_info( community = db.query(CommunityDB).filter(CommunityDB.id == current_user.community_id).first() if community: user_data['community_name'] = community.name + + # 获取认证信息 + auth_record = db.query(UserAuthDB).filter(UserAuthDB.user_id == current_user.userid).first() + if auth_record: + user_data['auth_name'] = auth_record.name + else: + user_data['auth_name'] = current_user.nickname # 处理默认地址 if default_address: diff --git a/jobs.sqlite b/jobs.sqlite index 248dc39..f64fb8b 100644 Binary files a/jobs.sqlite and b/jobs.sqlite differ