Subversion Repositories SmartDukaan

Rev

Rev 104 | Rev 194 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 104 Rev 132
Line 3... Line 3...
3
 
3
 
4
@author: ashish
4
@author: ashish
5
'''
5
'''
6
 
6
 
7
from shop2020.thriftpy.model.v1.order.ttypes import Transaction as T_Transaction,\
7
from shop2020.thriftpy.model.v1.order.ttypes import Transaction as T_Transaction,\
-
 
8
    Item as T_Item, LineItem as T_LineItem, PaymentInfo, Payment, BillingInfo,\
8
    Item as T_Item, LineItem as T_LineItem
9
    ShipmentInfo, Item, OrderInfo as T_OrderInfo
9
from shop2020.thriftpy.model.v1.order.ttypes import Billing as T_Billing
10
from shop2020.thriftpy.model.v1.order.ttypes import Billing as T_Billing
10
from shop2020.thriftpy.model.v1.order.ttypes import Shipment as T_Shipment
11
from shop2020.thriftpy.model.v1.order.ttypes import Shipment as T_Shipment
11
from shop2020.utils.Utils import to_java_date
12
from shop2020.utils.Utils import to_java_date
12
from shop2020.utils import OrderStatus
13
from shop2020.utils import OrderStatus
13
from shop2020.model.v1.order.impl.DataService import Billing
14
from shop2020.model.v1.order.impl.DataService import Billing
Line 17... Line 18...
17
    t_transaction = T_Transaction()
18
    t_transaction = T_Transaction()
18
    t_transaction.id = transaction.id
19
    t_transaction.id = transaction.id
19
    t_transaction.createdOn = to_java_date(transaction.createdOn)
20
    t_transaction.createdOn = to_java_date(transaction.createdOn)
20
    t_transaction.transactionStatus = OrderStatus.get_t_status(transaction.status)
21
    t_transaction.transactionStatus = OrderStatus.get_t_status(transaction.status)
21
    t_transaction.statusDescription = transaction.status_details
22
    t_transaction.statusDescription = transaction.status_details
-
 
23
    t_transaction.expectedDeliveryTime = to_java_date(transaction.expected_delivery_time)
-
 
24
    t_transaction.customer_id = transaction.customer_id
-
 
25
    t_transaction.shoppingCartid = transaction.shopping_cart_id
-
 
26
    t_transaction.orderInfo = to_t_order_info(transaction.lineitems)
-
 
27
    t_transaction.shipmentInfo = to_t_shipment_info(transaction.shipments)
-
 
28
    t_transaction.billingInfo = to_t_billing_info(transaction.lineitems)
-
 
29
    t_transaction.paymentInfo = to_t_payment_info(transaction.payments)
-
 
30
    #populate order info
22
        
31
        
23
    return t_transaction
32
    return t_transaction
24
 
33
 
-
 
34
def to_t_payment_info(payments):
-
 
35
    t_payment_info = PaymentInfo()
-
 
36
    if payments:
-
 
37
        payment_map = {}
-
 
38
        for payment in payments:
-
 
39
            t_payment_info.id = payment.id
-
 
40
            t_payment = Payment()
-
 
41
            t_payment.merchant_tx_id = payment.merchant_tx_id
-
 
42
            t_payment.bank_tx_id = payment.bank_tx_id
-
 
43
            t_payment.mode = payment.mode
-
 
44
            t_payment.amount = payment.amount
-
 
45
            t_payment.status = payment.status
-
 
46
            t_payment.description = payment.status_message
-
 
47
            t_payment.submissionTimestamp = payment.start_time
-
 
48
            t_payment.completionTimestamp = payment.finish_time
-
 
49
            payment_map[t_payment.submissionTimestamp] = t_payment
-
 
50
        t_payment_info.payments = payment_map
-
 
51
        
-
 
52
    return t_payment_info
-
 
53
 
-
 
54
def to_t_billing_info(lineitems):
-
 
55
    t_billing_info = BillingInfo()
-
 
56
    if lineitems:
-
 
57
        billed_items = []
-
 
58
        billings = []
-
 
59
        for item in lineitems:
-
 
60
            #each item has a billing
-
 
61
            t_billing_info.id = item.transaction.id 
-
 
62
            billing = item.billing
-
 
63
            if billing:
-
 
64
                if billed_items.count(billing.id) == 0:
-
 
65
                    billed_items.append(billing.id)
-
 
66
                    billings.append(to_t_billing(billing))
-
 
67
        t_billing_info.billings = billings
-
 
68
    return t_billing_info
-
 
69
 
-
 
70
def to_t_order_info(lineitems):
-
 
71
    t_order_info = T_OrderInfo()
-
 
72
    if lineitems:
-
 
73
        line_item_list = []
-
 
74
        for lineitem in lineitems:
-
 
75
            t_order_info.id = lineitem.transaction.id
-
 
76
            line_item_list.append(to_t_lineitem(lineitem))
-
 
77
        t_order_info.lineitems = line_item_list
-
 
78
    return t_order_info
-
 
79
 
-
 
80
def to_t_shipment_info(shipments):
-
 
81
    shipment_info = ShipmentInfo()
-
 
82
    if shipments:
-
 
83
        shipment_list = []
-
 
84
        for shipment in shipments:
-
 
85
            shipment_info.id = shipment.transaction.id
-
 
86
            shipment_list.append(to_t_shipment(shipment))
-
 
87
        shipment_info.shipments = shipment_list
-
 
88
    return shipment_info
-
 
89
 
25
def to_t_billing(billing):
90
def to_t_billing(billing):
26
    t_billing = T_Billing()
91
    t_billing = T_Billing()
27
    t_billing.id = billing.id
92
    t_billing.id = billing.id
28
    t_billing.billNumber = billing.bill_number
93
    t_billing.billNumber = billing.bill_number
29
    t_billing.generatedBy = billing.generated_by
94
    t_billing.generatedBy = billing.generated_by
-
 
95
    try:
30
    t_billing.generatedTimestamp = to_java_date(billing.created_on)
96
        t_billing.generatedTimestamp = to_java_date(billing.created_on)
-
 
97
    except:
-
 
98
        print "date not found"
31
    t_billing.lineItem = to_t_lineitem(billing.line_item)
99
    t_billing.lineItem = to_t_lineitem(billing.line_item)
-
 
100
    return t_billing
32
    
101
 
33
def to_t_lineitem(lineitem):
102
def to_t_lineitem(lineitem):
34
    t_line_item = T_LineItem()
103
    t_line_item = T_LineItem()
35
    t_line_item.id = lineitem.id
104
    t_line_item.id = lineitem.id
-
 
105
    if lineitem.item_info:
36
    t_line_item.item = lineitem.item_id
106
        t_line_item.item = to_t_item_info(lineitem.item_info)
-
 
107
    
37
    t_line_item.addedOn = to_java_date(lineitem.added_on)
108
    t_line_item.addedOn = to_java_date(lineitem.added_on)
38
    t_line_item.additionalInfo = {}
109
    t_line_item.additionalInfo = {}
39
    if lineitem.additional_info:
110
    if lineitem.additional_info:
40
        for k,v in lineitem.additional_info.iteritems():
111
        for k,v in lineitem.additional_info.iteritems():
41
            t_line_item.additionalInfo[k] = v
112
            t_line_item.additionalInfo[k] = v
42
    return t_line_item
113
    return t_line_item
43
 
114
 
-
 
115
def to_t_item_info(item_info):
-
 
116
    t_item = Item()
-
 
117
    t_item.id = item_info.line_item.item_id
-
 
118
    t_item.price = item_info.price
-
 
119
    t_item.weight = item_info.weight
-
 
120
    return t_item
-
 
121
    
44
def to_t_shipment(shipment):
122
def to_t_shipment(shipment):
45
    t_shipment = T_Shipment()
123
    t_shipment = T_Shipment()
46
    t_shipment.id = shipment.id
124
    t_shipment.id = shipment.id
47
    t_shipment.address = shipment.address
125
    t_shipment.address = shipment.address
48
    t_shipment.airwayBillNo = shipment.airway_bill_no
126
    t_shipment.airwayBillNo = shipment.airway_bill_no
Line 64... Line 142...
64
    t_shipment.lineItems = []
142
    t_shipment.lineItems = []
65
    if shipment.line_items:
143
    if shipment.line_items:
66
        for line_item in shipment.line_items:
144
        for line_item in shipment.line_items:
67
            t_shipment.lineItems.append(to_t_lineitem(line_item))
145
            t_shipment.lineItems.append(to_t_lineitem(line_item))
68
    return t_shipment
146
    return t_shipment
-
 
147