File size: 2,849 Bytes
360b354
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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