Subversion Repositories SmartDukaan

Rev

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

Rev 738 Rev 743
Line 10... Line 10...
10
import datetime
10
import datetime
11
from elixir import *
11
from elixir import *
12
from shop2020.utils.Utils import to_py_date
12
from shop2020.utils.Utils import to_py_date
13
from sqlalchemy.sql.expression import and_
13
from sqlalchemy.sql.expression import and_
14
from shop2020.model.v1 import order
14
from shop2020.model.v1 import order
-
 
15
from shop2020.clients.LogisticsClient import LogisticsClient
15
 
16
 
16
def get_new_transaction():
17
def get_new_transaction():
17
    transaction = Transaction()
18
    transaction = Transaction()
18
    transaction.createdOn = datetime.datetime.now()
19
    transaction.createdOn = datetime.datetime.now()
19
    transaction.status = TransactionStatus.INIT
20
    transaction.status = TransactionStatus.INIT
Line 126... Line 127...
126
        for order in transaction.orders:
127
        for order in transaction.orders:
127
            order.status = OrderStatus.PAYMENT_FAILED
128
            order.status = OrderStatus.PAYMENT_FAILED
128
    elif new_status == TransactionStatus.IN_PROCESS:
129
    elif new_status == TransactionStatus.IN_PROCESS:
129
        for order in transaction.orders:
130
        for order in transaction.orders:
130
            order.status = OrderStatus.SUBMITTED_FOR_PROCESSING
131
            order.status = OrderStatus.SUBMITTED_FOR_PROCESSING
-
 
132
            #After we got payment success, we will set logistics info also 
-
 
133
            logistics_client = LogisticsClient().get_client()
-
 
134
            #FIXME line item is only one now. If multiple will come, need to fix.
-
 
135
            logistics_info = logistics_client.getLogisticsInfo(order.customer_pincode, order.lineitems[0].item_id)
-
 
136
            
-
 
137
            order.warehouse_id = logistics_info.warehouseId
-
 
138
            order.logistics_provider_id = logistics_info.providerId
-
 
139
            order.airwaybill_no = logistics_info.airway_billno
-
 
140
            order.tracking_id = order.airwaybill_no
-
 
141
            order.expected_delivery_time = datetime.datetime.now() + 24*60*60*1000*logistics_info.deliveryTime
-
 
142
                
131
    session.commit()
143
    session.commit()
132
    return True
144
    return True
133
 
145
 
134
 
146
 
135
def get_order(order_id):
147
def get_order(order_id):