This commit is contained in:
aaron 2025-03-23 23:40:22 +08:00
parent 4115793c4a
commit 0b34c4c69e
2 changed files with 27 additions and 1 deletions

View File

@ -29,6 +29,13 @@ async def get_dashboard_info(
# 总用户数
total_user_count = db.query(UserDB).count()
# 今日新增用户数
users = db.query(UserDB).all()
today_user_count = len([user for user in users if user.create_time.date() == datetime.now().date()])
# 昨日新增用户数
yesterday_user_count = len([user for user in users if user.create_time.date() == datetime.now().date() - timedelta(days=1)])
# 查询已下单用户数
orders = db.query(ShippingOrderDB).filter(ShippingOrderDB.status != OrderStatus.CANCELLED).all()
has_order_user_count = len(set([order.userid for order in orders]))
@ -36,6 +43,13 @@ async def get_dashboard_info(
has_paid_user_count = len(set([order.userid for order in orders if order.status == OrderStatus.COMPLETED and order.final_amount > 0]))
order_count = len(orders)
# 今日新增配送订单数
today_order_count = len([order for order in orders if order.create_time.date() == datetime.now().date()])
# 昨日新增配送订单数
yesterday_order_count = len([order for order in orders if order.create_time.date() == datetime.now().date() - timedelta(days=1)])
order_completed_count = len([order for order in orders if order.status == OrderStatus.COMPLETED or order.status == OrderStatus.UNPAID])
#需要支付的订单数量
@ -50,6 +64,12 @@ async def get_dashboard_info(
pay_amount = sum([order.final_amount for order in orders if order.status == OrderStatus.COMPLETED and order.final_amount > 0])
unpaid_amount = sum([order.original_amount_with_additional_fee for order in orders if order.status == OrderStatus.UNPAID])
# 今日订单金额
today_order_amount = sum([order.original_amount_with_additional_fee for order in orders if order.create_time.date() == datetime.now().date()])
# 昨日订单金额
yesterday_order_amount = sum([order.original_amount_with_additional_fee for order in orders if order.create_time.date() == datetime.now().date() - timedelta(days=1)])
return success_response(data={
"total_community_count": total_community_count,
"total_user_count": total_user_count,
@ -64,7 +84,13 @@ async def get_dashboard_info(
"order_amount": order_amount,
"pay_amount": pay_amount,
"unpaid_amount": unpaid_amount,
"completed_order_amount": completed_order_amount
"completed_order_amount": completed_order_amount,
"today_user_count": today_user_count,
"yesterday_user_count": yesterday_user_count,
"today_order_count": today_order_count,
"yesterday_order_count": yesterday_order_count,
"today_order_amount": today_order_amount,
"yesterday_order_amount": yesterday_order_amount
})
@router.get("/deliveryman")

Binary file not shown.