update
This commit is contained in:
parent
f3cfdb9fec
commit
397b848bb9
@ -39,39 +39,40 @@ async def get_dashboard_info(
|
||||
yesterday_user_count = len([user for user in users if user.create_time.date() == datetime.now().date() - timedelta(days=1)])
|
||||
|
||||
# 查询已下单用户数
|
||||
all_orders = db.query(ShippingOrderDB).all()
|
||||
completed_orders = [order for order in all_orders if order.status == OrderStatus.COMPLETED or order.status == OrderStatus.UNPAID]
|
||||
|
||||
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 or order.status == OrderStatus.UNPAID]))
|
||||
has_paid_user_count = len(set([order.userid for order in completed_orders if order.status == OrderStatus.COMPLETED and order.final_amount > 0]))
|
||||
|
||||
orders = db.query(ShippingOrderDB).filter(ShippingOrderDB.status != OrderStatus.CANCELLED).all()
|
||||
has_order_user_count = len(set([order.userid for order in orders]))
|
||||
has_order_completed_user_count = len(set([order.userid for order in orders if order.status == OrderStatus.COMPLETED or order.status == OrderStatus.UNPAID]))
|
||||
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)
|
||||
order_count = len(completed_orders)
|
||||
|
||||
# 今日新增配送订单数
|
||||
today_order_count = len([order for order in orders if order.create_time.date() == datetime.now().date()])
|
||||
today_order_count = len([order for order in completed_orders if order.completed_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)])
|
||||
yesterday_order_count = len([order for order in completed_orders if order.completed_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])
|
||||
order_completed_count = len(completed_orders)
|
||||
|
||||
#需要支付的订单数量
|
||||
need_pay_order_count = len([order for order in orders if order.final_amount > 0])
|
||||
order_unpaid_count = len([order for order in orders if order.status == OrderStatus.UNPAID])
|
||||
order_pay_count = len([order for order in orders if order.status == OrderStatus.COMPLETED and order.final_amount > 0])
|
||||
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_pay_count = len([order for order in completed_orders if order.status == OrderStatus.COMPLETED and order.final_amount > 0])
|
||||
pay_rate = order_unpaid_count / need_pay_order_count if need_pay_order_count > 0 else 0
|
||||
|
||||
# 已支付的订单数量
|
||||
order_amount = sum([order.original_amount_with_additional_fee for order in orders if order.status != OrderStatus.CANCELLED])
|
||||
completed_order_amount = sum([order.original_amount_with_additional_fee for order in orders if order.status == OrderStatus.COMPLETED])
|
||||
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])
|
||||
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])
|
||||
|
||||
# 今日订单金额
|
||||
today_order_amount = sum([order.original_amount_with_additional_fee for order in orders if order.create_time.date() == datetime.now().date()])
|
||||
today_order_amount = sum([order.original_amount_with_additional_fee for order in completed_orders if order.completed_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)])
|
||||
yesterday_order_amount = sum([order.original_amount_with_additional_fee for order in completed_orders if order.completed_time.date() == datetime.now().date() - timedelta(days=1)])
|
||||
|
||||
return success_response(data={
|
||||
"total_community_count": total_community_count,
|
||||
@ -80,6 +81,7 @@ async def get_dashboard_info(
|
||||
"has_order_completed_user_count": has_order_completed_user_count,
|
||||
"has_paid_user_count": has_paid_user_count,
|
||||
"order_count": order_count,
|
||||
"need_pay_order_count": need_pay_order_count,
|
||||
"order_completed_count": order_completed_count,
|
||||
"order_pay_count": order_pay_count,
|
||||
"order_unpaid_count": order_unpaid_count,
|
||||
|
||||
BIN
jobs.sqlite
BIN
jobs.sqlite
Binary file not shown.
Loading…
Reference in New Issue
Block a user