From d56793afe380937276ad955efa546b8ed110389e Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sun, 13 Apr 2025 23:03:39 +0800 Subject: [PATCH] update --- app/api/endpoints/dashboard.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/api/endpoints/dashboard.py b/app/api/endpoints/dashboard.py index 0cbe802..61c0bf4 100644 --- a/app/api/endpoints/dashboard.py +++ b/app/api/endpoints/dashboard.py @@ -41,6 +41,7 @@ async def get_dashboard_info( # 查询已下单用户数 all_orders = db.query(ShippingOrderDB).all() completed_orders = [order for order in all_orders if order.status == OrderStatus.COMPLETED] + unpaid_orders = [order for order in all_orders if order.status == OrderStatus.UNPAID] #获取订单数超过 2 个的用户数量 repeat_user_count = 0 @@ -58,7 +59,7 @@ async def get_dashboard_info( has_order_user_count = len(set([order.userid for order in all_orders if order.status != OrderStatus.CANCELLED])) has_order_completed_user_count = len(set([order.userid for order in completed_orders if order.status == OrderStatus.COMPLETED])) has_paid_user_count = len(set([order.userid for order in completed_orders if order.status == OrderStatus.COMPLETED and order.final_amount > 0])) - + has_unpaid_user_count = len(set([order.userid for order in unpaid_orders])) order_count = len(completed_orders) # 今日新增配送订单数 @@ -71,7 +72,7 @@ async def get_dashboard_info( #需要支付的订单数量 need_pay_order_count = len([order for order in completed_orders if order.final_amount > 0]) - order_unpaid_count = len([order for order in completed_orders if order.status == OrderStatus.UNPAID and order.final_amount > 0]) + order_unpaid_count = len(unpaid_orders) order_pay_count = len([order for order in completed_orders if order.status == OrderStatus.COMPLETED and order.final_amount > 0]) pay_rate = order_pay_count / need_pay_order_count if need_pay_order_count > 0 else 0 @@ -79,7 +80,7 @@ async def get_dashboard_info( order_amount = sum([order.original_amount_with_additional_fee for order in completed_orders]) completed_order_amount = sum([order.original_amount_with_additional_fee for order in completed_orders if order.status == OrderStatus.COMPLETED]) pay_amount = sum([order.final_amount for order in completed_orders if order.status == OrderStatus.COMPLETED and order.final_amount > 0]) - unpaid_amount = sum([order.original_amount_with_additional_fee for order in completed_orders if order.status == OrderStatus.UNPAID]) + unpaid_amount = sum([order.original_amount_with_additional_fee for order in unpaid_orders]) # 今日订单金额 today_order_amount = sum([order.original_amount_with_additional_fee for order in completed_orders if order.completed_time.date() == datetime.now().date()]) @@ -94,6 +95,7 @@ async def get_dashboard_info( "has_order_user_count": has_order_user_count, "has_order_completed_user_count": has_order_completed_user_count, "has_paid_user_count": has_paid_user_count, + "has_unpaid_user_count": has_unpaid_user_count, "order_count": order_count, "need_pay_order_count": need_pay_order_count, "order_completed_count": order_completed_count,