From a9927af68d97188cde268d3bf5c681d86d26dba2 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Tue, 8 Apr 2025 10:56:20 +0800 Subject: [PATCH] update --- app/api/endpoints/dashboard.py | 14 ++++++++++++-- jobs.sqlite | Bin 24576 -> 24576 bytes 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/api/endpoints/dashboard.py b/app/api/endpoints/dashboard.py index 36aab82..53cf60b 100644 --- a/app/api/endpoints/dashboard.py +++ b/app/api/endpoints/dashboard.py @@ -42,9 +42,19 @@ async def get_dashboard_info( all_orders = db.query(ShippingOrderDB).all() completed_orders = [order for order in all_orders if order.status == OrderStatus.COMPLETED] - #复购用户数(用户完成订单数超过 2 单) - repeat_user_count = len(set([order.userid for order in completed_orders if order.userid in [order.userid for order in all_orders if order.status == OrderStatus.COMPLETED]])) + #获取订单数超过 2 个的用户数量 + repeat_user_count = 0 + user_order_count = {} + for order in completed_orders: + if order.userid in user_order_count: + user_order_count[order.userid] += 1 + else: + user_order_count[order.userid] = 1 + for user, count in user_order_count.items(): + if count > 2: + repeat_user_count += 1 + 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])) diff --git a/jobs.sqlite b/jobs.sqlite index fc0d66f81fa96107ce096f788b30272aa8cff409..1e1cb7b7e5d0c89182e9dea2245bda6b340de285 100644 GIT binary patch delta 19 bcmZoTz}Rqrae_4C*NHODj9)h