Subversion Repositories SmartDukaan

Rev

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

Rev 4905 Rev 4910
Line 8... Line 8...
8
    create_order, get_new_transaction, get_transactions_for_customer, get_transaction_status,\
8
    create_order, get_new_transaction, get_transactions_for_customer, get_transaction_status,\
9
    get_line_items_for_order, get_transaction, get_transactions_for_shopping_cart_id,\
9
    get_line_items_for_order, get_transaction, get_transactions_for_shopping_cart_id,\
10
    change_transaction_status, get_orders_for_customer,get_orders_for_transaction, get_order,\
10
    change_transaction_status, get_orders_for_customer,get_orders_for_transaction, get_order,\
11
    get_returnable_orders_for_customer, get_cancellable_orders_for_customer, get_orders_by_billing_date,\
11
    get_returnable_orders_for_customer, get_cancellable_orders_for_customer, get_orders_by_billing_date,\
12
    get_all_orders, change_order_status, get_alerts, add_alert, add_billing_details,\
12
    get_all_orders, change_order_status, get_alerts, add_alert, add_billing_details,\
13
    mark_orders_as_manifested, close_session, accept_order, mark_orders_as_picked_up,\
13
    close_session, accept_order, mark_orders_as_picked_up,\
14
    mark_orders_as_delivered, mark_orders_as_failed,\
14
    mark_orders_as_delivered, mark_orders_as_rto,\
15
    order_outofstock, batch_orders, update_non_delivery_reason, enqueue_transaction_info_email,\
15
    order_outofstock, batch_orders, update_non_delivery_reason, enqueue_transaction_info_email,\
16
    get_undelivered_orders, get_order_for_customer, get_valid_order_count,\
16
    get_undelivered_orders, get_order_for_customer, get_valid_order_count,\
17
    get_cust_count_with_successful_txn, get_valid_orders_amount_range,\
17
    get_cust_count_with_successful_txn, get_valid_orders_amount_range,\
18
    get_valid_orders, toggle_doa_flag, request_pickup_number, authorize_pickup,\
18
    get_valid_orders, toggle_doa_flag, request_pickup_number, authorize_pickup,\
19
    receive_return, validate_doa, reship_order, refund_order, get_return_orders,\
19
    receive_return, validate_doa, reship_order, refund_order, get_return_orders,\
Line 30... Line 30...
30
    mark_order_return_request_received, mark_order_return_request_authorized, add_invoice_number, get_reshipped_order_ids, \
30
    mark_order_return_request_received, mark_order_return_request_authorized, add_invoice_number, get_reshipped_order_ids, \
31
    validate_return_product, get_orders_for_provider_for_status, save_ebs_settlement_summary, get_ebs_settlement_date, \
31
    validate_return_product, get_orders_for_provider_for_status, save_ebs_settlement_summary, get_ebs_settlement_date, \
32
    save_payment_settlements, mark_ebs_settlement_uploaded, get_billed_orders_for_vendor, get_settlement_for_paymentId, \
32
    save_payment_settlements, mark_ebs_settlement_uploaded, get_billed_orders_for_vendor, get_settlement_for_paymentId, \
33
    get_settlements_by_date, get_slipped_sipping_date_orders, mark_order_as_lost_in_transit,\
33
    get_settlements_by_date, get_slipped_sipping_date_orders, mark_order_as_lost_in_transit,\
34
    get_cancelled_orders, mark_order_as_delivered, mark_return_orders_as_picked_up, update_orders_as_PORaised,\
34
    get_cancelled_orders, mark_order_as_delivered, mark_return_orders_as_picked_up, update_orders_as_PORaised,\
35
    get_orders_not_met_expected_delivery_date, get_orders_where_vendor_not_paid
35
    get_orders_not_met_expected_delivery_date, get_orders_where_vendor_not_paid,\
-
 
36
    mark_orders_as_local_connected, mark_orders_as_destinationCityReached,\
-
 
37
    mark_orders_as_firstDeliveryAttempted, get_non_delivered_orders_by_courier, get_orders_not_local_connected,\
-
 
38
    get_doas_not_picked_up, get_return_orders_not_picked_up, get_orders_not_picked_up, get_rto_orders
36
 
39
 
37
from shop2020.model.v1.order.impl.Convertors import to_t_transaction,\
40
from shop2020.model.v1.order.impl.Convertors import to_t_transaction,\
38
    to_t_alert, to_t_order, to_t_lineitem, to_t_payment_settlement
41
    to_t_alert, to_t_order, to_t_lineitem, to_t_payment_settlement
39
from shop2020.thriftpy.model.v1.order.ttypes import Transaction, OrderStatus,\
42
from shop2020.thriftpy.model.v1.order.ttypes import Transaction, OrderStatus,\
40
    LineItem, Order, TransactionServiceException
43
    LineItem, Order, TransactionServiceException
Line 400... Line 403...
400
        try:
403
        try:
401
            return order_outofstock(orderId)
404
            return order_outofstock(orderId)
402
        finally:
405
        finally:
403
            close_session()
406
            close_session()
404
    
407
    
405
    def markOrdersAsManifested(self, warehouseId, providerId, cod):
408
    def markOrdersAsShippedFromWarehouse(self, warehouseId, providerId, cod, orderIds):
406
        """
409
        """
407
        Depending on the third parameter, marks either all prepaid or all cod orders BILLED by the
410
        Depending on the third parameter, marks either all prepaid or all cod orders BILLED by the
408
        given warehouse and were picked up by the given provider as MANIFESTED.
411
        given warehouse and were picked up by the given provider as SHIPPED_FROM_WH.
409
        
412
        
410
        Parameters:
413
        Parameters:
411
         - warehouseId
414
         - warehouseId
412
         - providerId
415
         - providerId
413
         - cod
416
         - cod
414
        """
417
        """
415
        try:
418
        try:
416
            return mark_orders_as_manifested(warehouseId, providerId, cod)
419
            return mark_orders_as_shipped_from_warehouse(warehouseId, providerId, cod, orderIds)
417
        finally:
420
        finally:
418
            close_session()
421
            close_session()
419
 
422
 
420
    def markOrdersAsShippedFromWarehouse(self, warehouseId, providerId, cod, orderIds):
423
    def markOrdersAsPickedUp(self, providerId, pickupDetails):
421
        """
424
        """
422
        Depending on the third parameter, marks either all prepaid or all cod orders MANIFESTED by the
425
        Marks all SHIPPED_FROM_WH orders of the previous day for a provider as SHIPPED_TO_LOGISTICS.
423
        given warehouse and were picked up by the given provider as SHIPPED_FROM_WH.
426
        Raises an exception if we encounter report for an AWB number that we did not ship.
424
        
427
        
425
        Parameters:
428
        Parameters:
426
         - warehouseId
-
 
427
         - providerId
429
         - providerId
428
         - cod
430
         - pickupDetails
429
        """
431
        """
430
        try:
432
        try:
431
            return mark_orders_as_shipped_from_warehouse(warehouseId, providerId, cod, orderIds)
433
            mark_orders_as_picked_up(providerId, pickupDetails)
432
        finally:
434
        finally:
433
            close_session()
435
            close_session()
434
 
436
 
435
    def markOrdersAsPickedUp(self, providerId, pickupDetails):
437
    def getOrdersNotPickedUp(self, providerId):
436
        """
438
        """
437
        Marks all SHIPPED_FROM_WH orders of the previous day for a provider as SHIPPED_TO_LOGISTICS.
-
 
438
        Returns a list of orders that were shipped from warehouse but did not appear in the pick-up report.
439
        Returns a list of orders that were shipped from warehouse but did not appear in the pick-up report.
439
        Raises an exception if we encounter report for an AWB number that we did not ship.
-
 
440
        
440
        
441
        Parameters:
441
        Parameters:
442
         - providerId
442
         - providerId
443
         - pickupDetails
-
 
444
        """
443
        """
445
        try:
444
        try:
446
            orders_not_picked_up = mark_orders_as_picked_up(providerId, pickupDetails)
445
            orders_not_picked_up = get_orders_not_picked_up(providerId)
447
            return [to_t_order(order) for order in orders_not_picked_up]
446
            return [to_t_order(order) for order in orders_not_picked_up]
448
        finally:
447
        finally:
449
            close_session()
448
            close_session()
450
 
449
 
451
    def markOrdersAsDelivered(self, providerId, deliveredOrders):
450
    def markOrdersAsDelivered(self, providerId, deliveredOrders):
Line 474... Line 473...
474
            mark_order_as_delivered(orderId, to_py_date(deliveryTimestamp), receiver)
473
            mark_order_as_delivered(orderId, to_py_date(deliveryTimestamp), receiver)
475
        finally:
474
        finally:
476
            close_session()
475
            close_session()
477
 
476
 
478
 
477
 
479
    def markOrdersAsFailed(self, providerId, returnedOrders):
478
    def markAsRTOrders(self, providerId, returnedOrders):
480
        """
479
        """
481
        Mark all orders with AWBs in the given map as failed. Also sets the delivery timestamp.
480
        Mark all orders with AWBs in the given map as RTO. Also sets the delivery timestamp.
482
        Raises an exception if we encounter report for an AWB number that we did not ship.
481
        Raises an exception if we encounter report for an AWB number that we did not ship.
483
        
482
        
484
        Parameters:
483
        Parameters:
485
         - providerId
484
         - providerId
486
         - returnedOrders
485
         - returnedOrders
487
        """
486
        """
488
        try:
487
        try:
489
            mark_orders_as_failed(providerId, returnedOrders)
488
            mark_orders_as_rto(providerId, returnedOrders)
-
 
489
        finally:
-
 
490
            close_session()
-
 
491
 
-
 
492
    def getRTOrders(self, providerId):
-
 
493
        """
-
 
494
        Returns a list of orders that were returned by courier.
-
 
495
        
-
 
496
        Parameters:
-
 
497
         - providerId
-
 
498
        """
-
 
499
        try:
-
 
500
            rto_orders = get_rto_orders(providerId)
-
 
501
            return [to_t_order(order) for order in rto_orders]
490
        finally:
502
        finally:
491
            close_session()
503
            close_session()
492
 
504
 
493
    def updateNonDeliveryReason(self, providerId, undeliveredOrders):
505
    def updateNonDeliveryReason(self, providerId, undeliveredOrders):
494
        """
506
        """
Line 497... Line 509...
497
        Parameters:
509
        Parameters:
498
         - providerId
510
         - providerId
499
         - undelivered_orders
511
         - undelivered_orders
500
        """
512
        """
501
        try:
513
        try:
502
            orders_not_delivered = update_non_delivery_reason(providerId, undeliveredOrders)
514
            update_non_delivery_reason(providerId, undeliveredOrders)
-
 
515
        finally:
-
 
516
            close_session()
-
 
517
 
-
 
518
    def getNonDeliveredOrdersbyCourier(self, providerId):
-
 
519
        """
-
 
520
        Returns a list of orders that were picked up or shipped four days ago but did not get delivered.
-
 
521
        
-
 
522
        Parameters:
-
 
523
         - providerId
-
 
524
        """
-
 
525
        try:
-
 
526
            orders_not_delivered = get_non_delivered_orders_by_courier(providerId)
503
            return [to_t_order(order) for order in orders_not_delivered]
527
            return [to_t_order(order) for order in orders_not_delivered]
504
        finally:
528
        finally:
505
            close_session()
529
            close_session()
506
 
530
 
-
 
531
    def markOrdersAsLocalConnected(self, providerId, local_connected_orders):
-
 
532
        """
-
 
533
        Mark all orders with AWBs in the given map as local connected. Also sets the local connected timestamp.
-
 
534
        
-
 
535
        Parameters:
-
 
536
         - providerId
-
 
537
         - local_connected_orders
-
 
538
        """
-
 
539
        try:
-
 
540
            mark_orders_as_local_connected(providerId, local_connected_orders)
-
 
541
        finally:
-
 
542
            close_session()
-
 
543
 
-
 
544
    def getOrdersNotLocalConnected(self, providerId):
-
 
545
        """
-
 
546
        Returns a list of orders that were picked up or shipped but pending local connection.
-
 
547
        
-
 
548
        Parameters:
-
 
549
         - providerId
-
 
550
        """
-
 
551
        try:
-
 
552
            orders_pending_local_connection = get_orders_not_local_connected(providerId)
-
 
553
            return [to_t_order(order) for order in orders_pending_local_connection]
-
 
554
        finally:
-
 
555
            close_session()
-
 
556
 
-
 
557
    def markOrdersAsDestinationCityReached(self, providerId, destination_city_reached_orders):
-
 
558
        """
-
 
559
        Mark all orders with AWBs in the given map as reached destination city. Also sets the reached destination timestamp.
-
 
560
        
-
 
561
        Parameters:
-
 
562
         - providerId
-
 
563
         - destination_city_reached_orders
-
 
564
        """
-
 
565
        try:
-
 
566
            mark_orders_as_destinationCityReached(providerId, destination_city_reached_orders)
-
 
567
        finally:
-
 
568
            close_session()
-
 
569
 
-
 
570
    def markOrdersAsFirstDeliveryAttempted(self, providerId, first_atdl_orders):
-
 
571
        """
-
 
572
        Mark all orders with AWBs in the given map as first delivery attempt made. Also sets the first delivery attempted timestamp.
-
 
573
        
-
 
574
        Parameters:
-
 
575
         - providerId
-
 
576
         - first_atdl_orders
-
 
577
        """
-
 
578
        try:
-
 
579
            mark_orders_as_firstDeliveryAttempted(providerId, first_atdl_orders)
-
 
580
        finally:
-
 
581
            close_session()
-
 
582
 
507
    def getUndeliveredOrdersExpectedDeliveryDateNotMet(self):
583
    def getUndeliveredOrdersExpectedDeliveryDateNotMet(self):
508
        """
584
        """
509
        Returns the list of orders whose expected delivery date has passed but have not been
585
        Returns the list of orders whose expected delivery date has passed but have not been
510
        delivered yet.
586
        delivered yet.
511
        Returns an empty list if no such orders exist.
587
        Returns an empty list if no such orders exist.
Line 730... Line 806...
730
            close_session()    
806
            close_session()    
731
   
807
   
732
    def markDoasAsPickedUp(self, providerId, pickupDetails):
808
    def markDoasAsPickedUp(self, providerId, pickupDetails):
733
        """
809
        """
734
        Marks all DOA_PICKUP_AUTHORIZED orders of the previous day for a provider as DOA_RETURN_IN_TRANSIT.
810
        Marks all DOA_PICKUP_AUTHORIZED orders of the previous day for a provider as DOA_RETURN_IN_TRANSIT.
735
        Returns a list of orders that were authorized for pickup but did not appear in the pick-up report.
-
 
736
        
811
        
737
        Parameters:
812
        Parameters:
738
         - providerId
813
         - providerId
739
         - pickupDetails
814
         - pickupDetails
740
        """
815
        """
741
        try:
816
        try:
-
 
817
            mark_doas_as_picked_up(providerId, pickupDetails)
-
 
818
        finally:
-
 
819
            close_session()
-
 
820
 
-
 
821
    def getDoasNotPickedUp(self, providerId):
-
 
822
        """
-
 
823
        Returns a list of orders that were authorized for pickup but did not appear in the pick-up report.
-
 
824
        
-
 
825
        Parameters:
-
 
826
         - providerId
-
 
827
        """
-
 
828
        try:
742
            orders_not_picked_up = mark_doas_as_picked_up(providerId, pickupDetails)
829
            orders_not_picked_up = get_doas_not_picked_up(providerId)
743
            return [to_t_order(order) for order in orders_not_picked_up]
830
            return [to_t_order(order) for order in orders_not_picked_up]
744
        finally:
831
        finally:
745
            close_session()
832
            close_session()
746
    
833
 
747
    def markReturnOrdersAsPickedUp(self, providerId, pickupDetails):
834
    def markReturnOrdersAsPickedUp(self, providerId, pickupDetails):
748
        """
835
        """
749
        Marks all RET_PICKUP_CONFIRMED orders of the previous day for a provider as RET_RETURN_IN_TRANSIT.
836
        Marks all RET_PICKUP_CONFIRMED orders of the previous day for a provider as RET_RETURN_IN_TRANSIT.
750
        Returns a list of orders that were authorized for pickup but did not appear in the pick-up report.
-
 
751
        
837
        
752
        Parameters:
838
        Parameters:
753
         - providerId
839
         - providerId
754
         - pickupDetails
840
         - pickupDetails
755
        """
841
        """
756
        try:
842
        try:
-
 
843
            mark_return_orders_as_picked_up(providerId, pickupDetails)
-
 
844
        finally:
-
 
845
            close_session()
-
 
846
 
-
 
847
    def getReturnOrdersNotPickedUp(self, providerId):
-
 
848
        """
-
 
849
        Returns a list of orders that were authorized for pickup but did not appear in the pick-up report.
-
 
850
        
-
 
851
        Parameters:
-
 
852
         - providerId
-
 
853
        """
-
 
854
        try:
757
            orders_not_picked_up = mark_return_orders_as_picked_up(providerId, pickupDetails)
855
            orders_not_picked_up = get_return_orders_not_picked_up(providerId)
758
            return [to_t_order(order) for order in orders_not_picked_up]
856
            return [to_t_order(order) for order in orders_not_picked_up]
759
        finally:
857
        finally:
760
            close_session()
858
            close_session()
761
    
859
 
762
    def receiveReturn(self, orderId, receiveCondition):
860
    def receiveReturn(self, orderId, receiveCondition):
763
        """
861
        """
764
        If the order status is DOA_PICKUP_CONFIRMED or DOA_RETURN_IN_TRANSIT, marks the order status as DOA_RECEIVED_PRESTINE and returns true.
862
        If the order status is DOA_PICKUP_CONFIRMED or DOA_RETURN_IN_TRANSIT, marks the order status as DOA_RECEIVED_PRESTINE and returns true.
765
        If the order is in any other state, it returns false.
863
        If the order is in any other state, it returns false.
766
        Throws an exception if the order with the given id couldn't be found.
864
        Throws an exception if the order with the given id couldn't be found.
Line 1195... Line 1293...
1195
        try:
1293
        try:
1196
            return to_t_order(get_order_for_awb(awb))
1294
            return to_t_order(get_order_for_awb(awb))
1197
        finally:
1295
        finally:
1198
            close_session()
1296
            close_session()
1199
 
1297
 
1200
    def getOrdersForProviderForStatus(self, provider_id, order_status):
1298
    def getOrdersForProviderForStatus(self, provider_id, order_status_list):
1201
        """
1299
        """
1202
        Parameters:
1300
        Parameters:
1203
         - provider id
1301
         - provider id
1204
         - order status
1302
         - order status
1205
        """
1303
        """
1206
        try:
1304
        try:
1207
            orders_of_provider_by_status = get_orders_for_provider_for_status(provider_id, order_status)
1305
            orders_of_provider_by_status = get_orders_for_provider_for_status(provider_id, order_status_list)
1208
            return [to_t_order(order) for order in orders_of_provider_by_status if order != None]
1306
            return [to_t_order(order) for order in orders_of_provider_by_status if order != None]
1209
        finally:
1307
        finally:
1210
            close_session()
1308
            close_session()
1211
    
1309
    
1212
    def getBilledOrdersForVendor(self, vendorId, billingDateFrom, billingDateTo):
1310
    def getBilledOrdersForVendor(self, vendorId, billingDateFrom, billingDateTo):