Subversion Repositories SmartDukaan

Rev

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

Rev 3092 Rev 3133
Line 33... Line 33...
33
from shop2020.thriftpy.model.v1.order.ttypes import Transaction as T_Transaction,\
33
from shop2020.thriftpy.model.v1.order.ttypes import Transaction as T_Transaction,\
34
    TransactionServiceException, TransactionStatus, OrderStatus
34
    TransactionServiceException, TransactionStatus, OrderStatus
35
from shop2020.utils.Utils import to_py_date, to_java_date
35
from shop2020.utils.Utils import to_py_date, to_java_date
36
from shop2020.model.v1 import order
36
from shop2020.model.v1 import order
37
from shop2020.clients.LogisticsClient import LogisticsClient
37
from shop2020.clients.LogisticsClient import LogisticsClient
38
from shop2020.clients.InventoryClient import InventoryClient
38
from shop2020.clients.CatalogClient import CatalogClient
39
from shop2020.clients.UserClient import UserClient
39
from shop2020.clients.UserClient import UserClient
40
from shop2020.clients.HelperClient import HelperClient
40
from shop2020.clients.HelperClient import HelperClient
41
from shop2020.utils.EmailAttachmentSender import mail, get_attachment_part
41
from shop2020.utils.EmailAttachmentSender import mail, get_attachment_part
42
from shop2020.clients.WarehouseClient import WarehouseClient
42
from shop2020.clients.WarehouseClient import WarehouseClient
43
from shop2020.thriftpy.model.v1.catalog.ttypes import BillingType
43
from shop2020.thriftpy.model.v1.catalog.ttypes import BillingType
Line 184... Line 184...
184
            order.logistics_provider_id = logistics_info.providerId
184
            order.logistics_provider_id = logistics_info.providerId
185
            order.airwaybill_no = logistics_info.airway_billno
185
            order.airwaybill_no = logistics_info.airway_billno
186
            order.tracking_id = order.airwaybill_no
186
            order.tracking_id = order.airwaybill_no
187
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
187
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
188
            
188
            
189
            catalog_client = InventoryClient().get_client()
189
            catalog_client = CatalogClient().get_client()
190
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
190
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
191
 
191
 
192
            item_pricing = catalog_client.getItemPricing(item_id, order.warehouse_id)
192
            item_pricing = catalog_client.getItemPricing(item_id, order.warehouse_id)
193
            order.lineitems[0].transfer_price = item_pricing.transferPrice
193
            order.lineitems[0].transfer_price = item_pricing.transferPrice
194
    elif new_status == TransactionStatus.COD_IN_PROCESS:
194
    elif new_status == TransactionStatus.COD_IN_PROCESS:
Line 209... Line 209...
209
            order.logistics_provider_id = logistics_info.providerId
209
            order.logistics_provider_id = logistics_info.providerId
210
            order.airwaybill_no = logistics_info.airway_billno
210
            order.airwaybill_no = logistics_info.airway_billno
211
            order.tracking_id = order.airwaybill_no
211
            order.tracking_id = order.airwaybill_no
212
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
212
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
213
            
213
            
214
            catalog_client = InventoryClient().get_client()
214
            catalog_client = CatalogClient().get_client()
215
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
215
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
216
 
216
 
217
            item_pricing = catalog_client.getItemPricing(item_id, order.warehouse_id)
217
            item_pricing = catalog_client.getItemPricing(item_id, order.warehouse_id)
218
            order.lineitems[0].transfer_price = item_pricing.transferPrice        
218
            order.lineitems[0].transfer_price = item_pricing.transferPrice        
219
        
219
        
Line 714... Line 714...
714
    from_user = 'cnc.center@shop2020.in'
714
    from_user = 'cnc.center@shop2020.in'
715
    from_pwd = '5h0p2o2o'
715
    from_pwd = '5h0p2o2o'
716
    
716
    
717
    subject = "Pickup request"
717
    subject = "Pickup request"
718
    try:
718
    try:
719
        catalog_client = InventoryClient().get_client()
719
        catalog_client = CatalogClient().get_client()
720
        warehouse = catalog_client.getWarehouse(order.warehouse_id)
720
        warehouse = catalog_client.getWarehouse(order.warehouse_id)
721
        
721
        
722
        logistics_client = LogisticsClient().get_client()
722
        logistics_client = LogisticsClient().get_client()
723
        provider = logistics_client.getProvider(order.logistics_provider_id)
723
        provider = logistics_client.getProvider(order.logistics_provider_id)
724
        to_addr = provider.details[DeliveryType.PREPAID].email
724
        to_addr = provider.details[DeliveryType.PREPAID].email
Line 768... Line 768...
768
    from_user = 'help@shop2020.in'
768
    from_user = 'help@shop2020.in'
769
    from_pwd = '5h0p2o2o'
769
    from_pwd = '5h0p2o2o'
770
    subject = 'Pickup details'
770
    subject = 'Pickup details'
771
    filename = "/tmp/" +  str(order.id) +".pdf" 
771
    filename = "/tmp/" +  str(order.id) +".pdf" 
772
    try:
772
    try:
773
        catalog_client = InventoryClient().get_client()
773
        catalog_client = CatalogClient().get_client()
774
        warehouse = catalog_client.getWarehouse(order.warehouse_id)
774
        warehouse = catalog_client.getWarehouse(order.warehouse_id)
775
        
775
        
776
        logistics_client = LogisticsClient().get_client()
776
        logistics_client = LogisticsClient().get_client()
777
        provider = logistics_client.getProvider(order.logistics_provider_id)
777
        provider = logistics_client.getProvider(order.logistics_provider_id)
778
        provider_name = provider.name
778
        provider_name = provider.name
Line 940... Line 940...
940
        order.statusDescription = "Refunded"
940
        order.statusDescription = "Refunded"
941
    elif order.status in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW]:
941
    elif order.status in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW]:
942
        __create_cancellation(order)
942
        __create_cancellation(order)
943
        try:
943
        try:
944
            #Reduce the reservation count for all lineitems.
944
            #Reduce the reservation count for all lineitems.
945
            catalog_client = InventoryClient().get_client()
945
            catalog_client = CatalogClient().get_client()
946
            for lineitem in order.lineitems:
946
            for lineitem in order.lineitems:
947
                catalog_client.reduceReservationCount(lineitem.item_id, order.warehouse_id, lineitem.quantity);
947
                catalog_client.reduceReservationCount(lineitem.item_id, order.warehouse_id, lineitem.quantity);
948
        except:
948
        except:
949
            print "Unable to reduce reservation count"
949
            print "Unable to reduce reservation count"
950
        order.status = status_transition[order.status]
950
        order.status = status_transition[order.status]
Line 1015... Line 1015...
1015
        new_order.accepted_timestamp = current_time
1015
        new_order.accepted_timestamp = current_time
1016
        new_order.billing_timestamp = current_time    
1016
        new_order.billing_timestamp = current_time    
1017
        new_order.status = OrderStatus.BILLED
1017
        new_order.status = OrderStatus.BILLED
1018
        new_order.statusDescription = 'Order Billed'
1018
        new_order.statusDescription = 'Order Billed'
1019
    else:       
1019
    else:       
1020
        catalog_client = InventoryClient().get_client()
1020
        catalog_client = CatalogClient().get_client()
1021
        catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, new_order.lineitems[0].quantity)
1021
        catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, new_order.lineitems[0].quantity)
1022
 
1022
 
1023
        item_pricing = catalog_client.getItemPricing(item_id, order.warehouse_id)
1023
        item_pricing = catalog_client.getItemPricing(item_id, order.warehouse_id)
1024
        new_order.lineitems[0].transfer_price = item_pricing.transferPrice
1024
        new_order.lineitems[0].transfer_price = item_pricing.transferPrice
1025
    
1025