from abc import ABC,abstractmethod from typing import List, Dict from .archive_orders import fetch_response from .aggregators import get_platform_order_counts, get_platform_revenue,get_total_order_count,get_total_revenue_count from .orders import count_orders_by_day from .order_states_timestamp import count_orders_by_state_and_day from .items_of_orders_timestamp import count_items_ordered from .revenue import revenue_counts_by_day import json def display_order_counts(data): order_counts = get_platform_order_counts(data) order_count_dict = { entry["name"]: entry["order_count"] for entry in order_counts } print("number_of_order_aggregator_wise:") print(order_count_dict) return {"number_of_order_aggregator_wise":order_count_dict} def display_revenue(data): revenue = get_platform_revenue(data) revenue_dict = {entry["name"]: entry["revenue"] for entry in revenue} print("revenue_aggregator_wise:") print(revenue_dict) return {"revenue_aggregator_wise":revenue_dict} def display_total_order_count(data): total_order_count = get_total_order_count(data) print('total_orders:',total_order_count) return {"total_orders":total_order_count} def display_total_revenue_count(data): total_revenue_count = get_total_revenue_count(data) print('total_revenue:',total_revenue_count) return {"total_revenue":total_revenue_count} def display_daywise_order_counts(data): order_counts1 = count_orders_by_day(data) print("number_of_order_daywise:",order_counts1) return {"number_of_order_daywise":order_counts1} def display_daywise_order_states(data): order_state_count = count_orders_by_state_and_day(data) print(order_state_count) return order_state_count def display_items_ordered_counts(data): item_order_count = count_items_ordered(data) print("number_of_times_item_ordered:", item_order_count) return{"number_of_times_item_ordered":item_order_count} def display_daywise_revenue(data): revenue_daywise = revenue_counts_by_day(data) print("revenue_daywise:", revenue_daywise) return {"revenue_daywise": revenue_daywise} def final_counts(data): number_of_order_aggregator_wise=display_order_counts(data) revenue_aggregator_wise=display_revenue(data) total_orders=display_total_order_count(data) total_revenue=display_total_revenue_count(data) number_of_order_daywise=display_daywise_order_counts(data) order_state_count=display_daywise_order_states(data) number_of_times_item_ordered=display_items_ordered_counts(data) revenue_daywise = display_daywise_revenue(data) final_dict = number_of_order_aggregator_wise | revenue_aggregator_wise | total_orders | total_revenue | number_of_order_daywise | order_state_count | number_of_times_item_ordered | revenue_daywise return final_dict