| Line 2... |
Line 2... |
| 2 |
Created on 29-Mar-2010
|
2 |
Created on 29-Mar-2010
|
| 3 |
|
3 |
|
| 4 |
@author: ashish
|
4 |
@author: ashish
|
| 5 |
'''
|
5 |
'''
|
| 6 |
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem,\
|
6 |
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem,\
|
| 7 |
AdditionalInfo, Payment, Shipment, TransactionTrail, Billing
|
7 |
AdditionalInfo, Payment, Shipment, TransactionTrail, Billing, ItemInfo
|
| 8 |
from shop2020.thriftpy.model.v1.order.ttypes import Transaction as T_Transaction,\
|
8 |
from shop2020.thriftpy.model.v1.order.ttypes import Transaction as T_Transaction,\
|
| 9 |
TransactionServiceException
|
9 |
TransactionServiceException
|
| 10 |
import datetime
|
10 |
import datetime
|
| 11 |
from shop2020.utils.OrderStatus import status_transaction_init,\
|
11 |
from shop2020.utils.OrderStatus import status_transaction_init,\
|
| 12 |
status_shipment_shipped, status_shipment_delivered
|
12 |
status_shipment_shipped, status_shipment_delivered
|
| Line 29... |
Line 29... |
| 29 |
if not orderinfo:
|
29 |
if not orderinfo:
|
| 30 |
raise TransactionServiceException(101, "Orderinfo missing from the transaction")
|
30 |
raise TransactionServiceException(101, "Orderinfo missing from the transaction")
|
| 31 |
transaction = get_new_transaction()
|
31 |
transaction = get_new_transaction()
|
| 32 |
for line_item in orderinfo.lineitems:
|
32 |
for line_item in orderinfo.lineitems:
|
| 33 |
litem = LineItem()
|
33 |
litem = LineItem()
|
| - |
|
34 |
if line_item.item.id:
|
| 34 |
litem.item_id = line_item.item
|
35 |
litem.item_id = line_item.item.id
|
| - |
|
36 |
item_info = ItemInfo()
|
| - |
|
37 |
item_info.price = line_item.item.price
|
| - |
|
38 |
item_info.weight = line_item.item.weight
|
| - |
|
39 |
litem.item_info = item_info
|
| 35 |
litem.added_on = to_py_date(line_item.addedOn)
|
40 |
litem.added_on = to_py_date(line_item.addedOn)
|
| 36 |
transaction.lineitems.append(litem)
|
41 |
transaction.lineitems.append(litem)
|
| 37 |
if line_item.additionalInfo:
|
42 |
if line_item.additionalInfo:
|
| 38 |
for k,v in line_item.additionalInfo.iteritems():
|
43 |
for k,v in line_item.additionalInfo.iteritems():
|
| 39 |
additional_info = AdditionalInfo()
|
44 |
additional_info = AdditionalInfo()
|
| 40 |
additional_info.key = k
|
45 |
additional_info.key = k
|
| 41 |
additional_info.value = v
|
46 |
additional_info.value = v
|
| 42 |
litem.additional_info.append(additional_info)
|
47 |
litem.additional_info.append(additional_info)
|
| - |
|
48 |
if t_transaction.shoppingCartid:
|
| - |
|
49 |
transaction.shopping_cart_id = t_transaction.shoppingCartid
|
| - |
|
50 |
transaction.customer_id = t_transaction.customer_id
|
| - |
|
51 |
transaction.expected_delivery_time = to_py_date(t_transaction.expectedDeliveryTime)
|
| - |
|
52 |
transaction.status = t_transaction.transactionStatus
|
| - |
|
53 |
transaction.status_message = t_transaction.statusDescription
|
| - |
|
54 |
transaction.createdOn = to_py_date(t_transaction.createdOn)
|
| 43 |
|
55 |
|
| - |
|
56 |
#add payment info
|
| - |
|
57 |
#transaction.payments=[]
|
| - |
|
58 |
if t_transaction.paymentInfo:
|
| - |
|
59 |
if not t_transaction.paymentInfo.payments:
|
| - |
|
60 |
raise TransactionServiceException(108, "no payments found")
|
| - |
|
61 |
|
| - |
|
62 |
for k,v in t_transaction.paymentInfo.payments.iteritems():
|
| - |
|
63 |
payment = Payment()
|
| - |
|
64 |
payment.merchant_tx_id = v.merchant_tx_id
|
| - |
|
65 |
payment.bank_tx_id = v.bank_tx_id
|
| - |
|
66 |
payment.mode = v.mode
|
| - |
|
67 |
payment.amount = v.amount
|
| - |
|
68 |
payment.payment_id = v.id
|
| - |
|
69 |
payment.status = v.status
|
| - |
|
70 |
payment.status_message = v.description
|
| - |
|
71 |
payment.start_time = to_py_date(v.submissionTimestamp)
|
| - |
|
72 |
payment.finish_time = to_py_date(v.completionTimestamp)
|
| - |
|
73 |
transaction.payments.append(payment)
|
| 44 |
session.commit()
|
74 |
session.commit()
|
| 45 |
return transaction.id
|
75 |
return transaction.id
|
| 46 |
|
76 |
|
| 47 |
|
77 |
|
| 48 |
def get_transaction(transaction_id):
|
78 |
def get_transaction(transaction_id):
|
| Line 270... |
Line 300... |
| 270 |
raise TransactionServiceException(108, "no lineitems, hence no billing with transaction %d"%(transaction_id))
|
300 |
raise TransactionServiceException(108, "no lineitems, hence no billing with transaction %d"%(transaction_id))
|
| 271 |
billings = []
|
301 |
billings = []
|
| 272 |
for lineitem in transaction.lineitems:
|
302 |
for lineitem in transaction.lineitems:
|
| 273 |
billings.append(lineitem.billing)
|
303 |
billings.append(lineitem.billing)
|
| 274 |
return billings
|
304 |
return billings
|
| 275 |
return transaction.shipments
|
- |
|
| 276 |
|
305 |
return transaction.shipments
|
| - |
|
306 |
|
| - |
|
307 |
def get_transactions_for_shopping_cart_id(shopping_cart_id):
|
| - |
|
308 |
transactions = Transaction.query.filter_by(shopping_cart_id=shopping_cart_id).all()
|
| - |
|
309 |
if not transactions:
|
| - |
|
310 |
raise TransactionServiceException(108, "transactions for this shopping cart")
|
| - |
|
311 |
return transactions
|
| - |
|
312 |
|
| 277 |
|
313 |
|