Subversion Repositories SmartDukaan

Rev

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

Rev 699 Rev 738
Line 6... Line 6...
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
    LineItem as T_LineItem, Order as T_Order, Alert as T_Alert, OrderStatus
8
    LineItem as T_LineItem, Order as T_Order, Alert as T_Alert, OrderStatus
9
from shop2020.utils.Utils import to_java_date
9
from shop2020.utils.Utils import to_java_date
10
from shop2020.model.v1.order.impl.DataService import Alerts
10
from shop2020.model.v1.order.impl.DataService import Alerts
11
    
-
 
12
from shop2020.utils.OrderStatus import get_t_status
-
 
13
 
11
 
14
def to_t_transaction(transaction):
12
def to_t_transaction(transaction):
15
    t_transaction = T_Transaction()
13
    t_transaction = T_Transaction()
16
    t_transaction.id = transaction.id
14
    t_transaction.id = transaction.id
17
    t_transaction.createdOn = to_java_date(transaction.createdOn)
15
    t_transaction.createdOn = to_java_date(transaction.createdOn)
Line 36... Line 34...
36
    t_order.expected_delivery_time = to_java_date(order.expected_delivery_time)
34
    t_order.expected_delivery_time = to_java_date(order.expected_delivery_time)
37
    t_order.customer_id = order.customer_id
35
    t_order.customer_id = order.customer_id
38
    t_order.customer_name = order.customer_name
36
    t_order.customer_name = order.customer_name
39
    t_order.customer_mobilenumber = order.customer_mobilenumber
37
    t_order.customer_mobilenumber = order.customer_mobilenumber
40
    t_order.customer_pincode = order.customer_pincode
38
    t_order.customer_pincode = order.customer_pincode
-
 
39
    t_order.customer_address1 = order.customer_address1
41
    t_order.customer_address = order.customer_address
40
    t_order.customer_address2 = order.customer_address2
42
    t_order.customer_city = order.customer_city
41
    t_order.customer_city = order.customer_city
43
    t_order.customer_state = order.customer_state
42
    t_order.customer_state = order.customer_state
44
    t_order.customer_email = order.customer_email    
43
    t_order.customer_email = order.customer_email    
45
    t_order.status = order.status 
44
    t_order.status = order.status 
46
    t_order.statusDescription = order.statusDescription
45
    t_order.statusDescription = order.statusDescription
Line 89... Line 88...
89
        t_alert.time_unset = to_java_date(alert.time_unset)
88
        t_alert.time_unset = to_java_date(alert.time_unset)
90
    except:
89
    except:
91
        pass
90
        pass
92
    t_alert.order_id = alert.order_id
91
    t_alert.order_id = alert.order_id
93
    t_alert.type = alert.type
92
    t_alert.type = alert.type
94
    return t_alert
-
 
95
 
-
 
96
 
-
 
97
"""
-
 
98
def to_t_transaction(transaction):
-
 
99
    t_transaction = T_Transaction()
-
 
100
    t_transaction.id = transaction.id
-
 
101
    t_transaction.warehouse_id = transaction.warehouse_id
-
 
102
    t_transaction.createdOn = to_java_date(transaction.createdOn)
-
 
103
    t_transaction.transactionStatus = OrderStatus.get_t_status(transaction.status)
-
 
104
    t_transaction.statusDescription = transaction.status_message
-
 
105
    t_transaction.expectedDeliveryTime = to_java_date(transaction.expected_delivery_time)
-
 
106
    t_transaction.customer_id = transaction.customer_id
-
 
107
    t_transaction.shoppingCartid = transaction.shopping_cart_id
-
 
108
    t_transaction.orderInfo = to_t_order_info(transaction.lineitems)
-
 
109
    t_transaction.shipmentInfo = to_t_shipment_info(transaction.shipments)
-
 
110
    t_transaction.billingInfo = to_t_billing_info(transaction.lineitems)
-
 
111
    t_transaction.paymentInfo = to_t_payment_info(transaction.payments)
-
 
112
    
-
 
113
    #populate order info
-
 
114
        
-
 
115
    return t_transaction
-
 
116
 
-
 
117
def to_t_payment_info(payments):
-
 
118
    t_payment_info = PaymentInfo()
-
 
119
    if payments:
-
 
120
        payment_map = {}
-
 
121
        for payment in payments:
-
 
122
            t_payment_info.id = payment.id
-
 
123
            t_payment = Payment()
-
 
124
            t_payment.merchant_tx_id = payment.merchant_tx_id
-
 
125
            t_payment.bank_tx_id = payment.bank_tx_id
-
 
126
            t_payment.mode = payment.mode
-
 
127
            t_payment.amount = payment.amount
-
 
128
            t_payment.status = payment.status
-
 
129
            t_payment.description = payment.status_message
-
 
130
            t_payment.submissionTimestamp = to_java_date(payment.start_time)
-
 
131
            t_payment.completionTimestamp = to_java_date(payment.finish_time)
-
 
132
            payment_map[t_payment.submissionTimestamp] = t_payment
-
 
133
        t_payment_info.payments = payment_map
-
 
134
        
-
 
135
    return t_payment_info
-
 
136
 
-
 
137
def to_t_billing_info(lineitems):
-
 
138
    t_billing_info = BillingInfo()
-
 
139
    if lineitems:
-
 
140
        billed_items = []
-
 
141
        billings = []
-
 
142
        for item in lineitems:
-
 
143
            #each item has a billing
-
 
144
            t_billing_info.id = item.transaction.id 
-
 
145
            billing = item.billing
-
 
146
            if billing:
-
 
147
                if billed_items.count(billing.id) == 0:
-
 
148
                    billed_items.append(billing.id)
-
 
149
                    billings.append(to_t_billing(billing))
-
 
150
        t_billing_info.billings = billings
-
 
151
    return t_billing_info
-
 
152
 
-
 
153
def to_t_order_info(lineitems):
-
 
154
    t_order_info = T_OrderInfo()
-
 
155
    if lineitems:
-
 
156
        line_item_list = []
-
 
157
        for lineitem in lineitems:
-
 
158
            t_order_info.id = lineitem.transaction.id
-
 
159
            line_item_list.append(to_t_lineitem(lineitem))
-
 
160
        t_order_info.lineitems = line_item_list
-
 
161
    return t_order_info
-
 
162
 
-
 
163
def to_t_shipment_info(shipments):
-
 
164
    shipment_info = ShipmentInfo()
-
 
165
    if shipments:
-
 
166
        shipment_list = []
-
 
167
        for shipment in shipments:
-
 
168
            shipment_info.id = shipment.transaction.id
-
 
169
            shipment_list.append(to_t_shipment(shipment))
-
 
170
        shipment_info.shipments = shipment_list
-
 
171
    return shipment_info
-
 
172
 
-
 
173
def to_t_billing(billing):
-
 
174
    t_billing = T_Billing()
-
 
175
    t_billing.id = billing.id
-
 
176
    t_billing.billNumber = billing.bill_number
-
 
177
    t_billing.generatedBy = billing.generated_by
-
 
178
    try:
-
 
179
        t_billing.generatedTimestamp = to_java_date(billing.created_on)
-
 
180
    except:
-
 
181
        print "date not found"
-
 
182
    t_billing.lineItem = []
-
 
183
    if billing.line_item:
-
 
184
        for item in billing.line_item:
-
 
185
            t_billing.lineItem.append(to_t_lineitem(item))
-
 
186
    
-
 
187
    return t_billing
-
 
188
 
-
 
189
def to_t_lineitem(lineitem):
-
 
190
    t_line_item = T_LineItem()
-
 
191
    try:
-
 
192
        t_line_item.id = lineitem.id
-
 
193
    except:
-
 
194
        t_line_item.id = 0
-
 
195
    if lineitem.item_info:
-
 
196
        t_line_item.item = to_t_item_info(lineitem.item_info)
-
 
197
    
-
 
198
    t_line_item.addedOn = to_java_date(lineitem.added_on)
-
 
199
    t_line_item.additionalInfo = {}
-
 
200
    if lineitem.additional_info:
-
 
201
        for k,v in lineitem.additional_info.iteritems():
-
 
202
            t_line_item.additionalInfo[k] = v
-
 
203
    return t_line_item
-
 
204
 
-
 
205
def to_t_item_info(item_info):
-
 
206
    t_item = Item()
-
 
207
    t_item.id = item_info.line_item.item_id
-
 
208
    t_item.price = item_info.price
-
 
209
    t_item.weight = item_info.weight
-
 
210
    return t_item
-
 
211
    
-
 
212
def to_t_shipment(shipment):
-
 
213
    t_shipment = T_Shipment()
-
 
214
    t_shipment.id = shipment.id
-
 
215
    t_shipment.address = shipment.address
-
 
216
    t_shipment.airwayBillNo = shipment.airway_bill_no
-
 
217
    try:
-
 
218
        t_shipment.deliveryTimestamp = to_java_date(shipment.delivery_time)
-
 
219
    except:
-
 
220
        print "no delivery timestamp"
-
 
221
    t_shipment.insurance = shipment.insurance_value
-
 
222
    t_shipment.provider = shipment.provider
-
 
223
    t_shipment.value = shipment.declared_value
-
 
224
    try:
-
 
225
        t_shipment.shipmentTimestamp = to_java_date(shipment.shipment_time)
-
 
226
    except:
-
 
227
        print "no shipment timestamp"
-
 
228
    t_shipment.status = get_t_status(shipment.status)
-
 
229
    t_shipment.weight = shipment.weight
-
 
230
    t_shipment.trackingId = shipment.tracking_id
-
 
231
    
-
 
232
    t_shipment.lineItems = []
-
 
233
    if shipment.lineitems:
-
 
234
        for line_item in shipment.lineitems:
-
 
235
            t_shipment.lineItems.append(to_t_lineitem(line_item))
-
 
236
    return t_shipment
-
 
237
 
-
 
238
def to_t_alert(alert):
-
 
239
    t_alert = T_Alert()
-
 
240
    t_alert.id = alert.id
-
 
241
    t_alert.comment = alert.comment
-
 
242
    try:
-
 
243
        t_alert.time_set = to_java_date(alert.time_set)
-
 
244
    except:
-
 
245
        pass
-
 
246
    try:
-
 
247
        t_alert.time_unset = to_java_date(alert.time_unset)
-
 
248
    except:
-
 
249
        pass
-
 
250
    t_alert.transaction_id = alert.transaction_id
-
 
251
    t_alert.type = alert.type
-
 
252
    return t_alert
-
 
253
 
-
 
254
def to_t_extra_item_info(extra_item_info, transaction_id):
-
 
255
    
-
 
256
    extra_order_info = T_ExtraOrderInfo()
-
 
257
    if not extra_item_info:
-
 
258
        extra_order_info.id = 2
-
 
259
        extra_order_info.model_name = "N 72"
-
 
260
        extra_order_info.sku_id = 34
-
 
261
        extra_order_info.transaction_id = transaction_id
-
 
262
        extra_order_info.vendor_info = "Nokia"
-
 
263
        extra_order_info.colour = "Black"
-
 
264
        return extra_order_info
-
 
265
    
-
 
266
    extra_order_info.id = extra_item_info.id
-
 
267
    extra_order_info.model_name = extra_item_info.model
-
 
268
    extra_order_info.vendor_info = extra_item_info.vendor
-
 
269
    extra_order_info.transaction_id = extra_item_info.transaction_id
-
 
270
    extra_order_info.sku_id = extra_item_info.sku_id
-
 
271
    return extra_order_info
-
 
272
"""
-
 
273
93
    return t_alert
-
 
94
274
95