diff --git a/app/api/endpoints/dashboard.py b/app/api/endpoints/dashboard.py index d08bae6..36aab82 100644 --- a/app/api/endpoints/dashboard.py +++ b/app/api/endpoints/dashboard.py @@ -42,6 +42,9 @@ 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]])) + 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])) @@ -77,6 +80,7 @@ async def get_dashboard_info( return success_response(data={ "total_community_count": total_community_count, "total_user_count": total_user_count, + "repeat_user_count": repeat_user_count, "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, diff --git a/jobs.sqlite b/jobs.sqlite index 2d927b6..fc0d66f 100644 Binary files a/jobs.sqlite and b/jobs.sqlite differ