Subversion Repositories SmartDukaan

Rev

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

Rev 358 Rev 483
Line 3... Line 3...
3
 
3
 
4
@author: ashish
4
@author: ashish
5
'''
5
'''
6
from shop2020.model.v1.order.impl import DataService
6
from shop2020.model.v1.order.impl import DataService
7
from shop2020.model.v1.order.impl.DataAccessors import create_transaction,\
7
from shop2020.model.v1.order.impl.DataAccessors import create_transaction,\
8
    get_transaction, get_all_transactions, get_transactions_for_shipment_status,\
8
create_order, get_new_transaction, get_transactions_for_customer, get_transaction_status,\
9
    get_transactions_for_customer, get_transactions_for_customer_shipment,\
9
 get_line_items_for_order, get_transaction, get_transactions_for_shopping_cart_id,\
10
    get_transaction_status, change_transaction_status, set_shipping_tracker_info,\
10
 change_transaction_status, get_orders_for_customer,get_orders_for_transaction, get_order,\
11
    change_shipping_status, set_shipping_date, set_delivery_date, get_line_items,\
-
 
12
    get_shipments, get_billings, set_billing,\
-
 
13
    get_transactions_for_shopping_cart_id, get_alerts, set_alert, get_extra_info,\
11
 get_all_orders, change_order_status, get_alerts, set_alert
14
    set_extra_info
-
 
15
from shop2020.model.v1.order.impl.Convertors import to_t_transaction,\
12
from shop2020.model.v1.order.impl.Convertors import to_t_transaction,\
16
    to_t_lineitem, to_t_shipment, to_t_billing, to_t_alert, to_t_extra_item_info
13
    to_t_lineitem, to_t_alert, to_t_order, to_t_lineitem
17
from shop2020.thriftpy.model.v1.order.ttypes import Transaction, OrderInfo,\
14
from shop2020.thriftpy.model.v1.order.ttypes import Transaction, OrderStatus,\
18
    LineItem, ShipmentInfo, BillingInfo
15
    LineItem, Order
19
from shop2020.utils import OrderStatus
16
from shop2020.utils import OrderStatus
20
from shop2020.utils.Utils import to_py_date, get_status_fdate_tdate
17
from shop2020.utils.Utils import to_py_date, get_status_fdate_tdate
21
from shop2020.utils.OrderStatus import get_t_status, get_c_status
18
from shop2020.utils.OrderStatus import get_t_status, get_c_status
22
 
19
 
23
 
20
 
24
class OrderServiceHandler:
21
class OrderServiceHandler:
25
    
22
    
26
    def __init__(self):
23
    def __init__(self):
27
        '''
24
        """
28
        Constructor
25
        Constructor
29
        '''
26
        """
30
        DataService.initialize()
27
        DataService.initialize()
31
        
28
        
32
    def createTransaction(self, transaction):
29
    def createTransaction(self, transaction):
33
        """
30
        """
34
        Parameters:
31
        Parameters:
Line 43... Line 40...
43
        Parameters:
40
        Parameters:
44
         - id
41
         - id
45
        """
42
        """
46
        transaction = get_transaction(id)
43
        transaction = get_transaction(id)
47
        return to_t_transaction(transaction)
44
        return to_t_transaction(transaction)
48
 
-
 
49
    def getAllTransactions(self, status, from_date, to_date, warehouse_id):
45
    def getTransactionsForCustomer(self, customerId, from_date, to_date, status):
50
        """
46
        """
51
        Parameters:
47
        Parameters:
52
         - status
48
         - customerId
53
         - from_date
49
         - from_date
54
         - to_date
50
         - to_date
-
 
51
         - status
55
        """
52
        """
56
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
53
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
57
        
54
                
58
        transactions = get_all_transactions(current_status, current_from_date, current_to_date, warehouse_id)
55
        transactions = get_transactions_for_customer(customerId, current_from_date, current_to_date, current_status)
59
        t_transaction = []
56
        t_transaction = []
60
        for transaction in transactions:
57
        for transaction in transactions:
61
            t_transaction.append(to_t_transaction(transaction))
58
            t_transaction.append(to_t_transaction(transaction))
62
        return t_transaction
59
        return t_transaction
-
 
60
 
-
 
61
 
-
 
62
    def getTransactionsForShoppingCartId(self, shoppingCartId):
-
 
63
        """
-
 
64
        Parameters:
-
 
65
            - shoppingCartId
-
 
66
        """
-
 
67
        transactions = get_transactions_for_shopping_cart_id(shoppingCartId)
-
 
68
        t_transaction = []
-
 
69
        for transaction in transactions:
-
 
70
            t_transaction.append(to_t_transaction(transaction))
-
 
71
        return t_transaction
-
 
72
        
63
    
73
    
-
 
74
    def getTransactionStatus(self, transactionId):
-
 
75
        """
-
 
76
        Parameters:
-
 
77
         - transactionId
-
 
78
        """
-
 
79
        return get_t_status(get_transaction_status(transactionId))
64
     
80
    
-
 
81
    def changeTransactionStatus(self, transactionId, status, description):
-
 
82
        """
-
 
83
        Parameters:
-
 
84
         - transactionId
-
 
85
         - status
-
 
86
         - description
-
 
87
        """
-
 
88
        return change_transaction_status(transactionId, get_c_status(status), description)
-
 
89
 
-
 
90
    def getOrdersForTransaction(self, transactionId):
-
 
91
        """
-
 
92
        Parameters:
-
 
93
         - transactionId
-
 
94
        """
-
 
95
        orders = get_orders_for_transaction(transactionId)
-
 
96
        t_orders = []
-
 
97
        for order in orders:
-
 
98
            t_orders.append(to_t_order(order))
-
 
99
        return t_orders
-
 
100
    
-
 
101
    
65
    def getTransactionsForShipmentStatus(self, status, from_date, to_date):
102
    def getAllOrders(self, status, from_date, to_date, warehouse_id):
66
        """
103
        """
67
        Parameters:
104
        Parameters:
68
         - status
105
         - status
69
         - from_date
106
         - from_date
70
         - to_date
107
         - to_date
-
 
108
         - warehouse_id
71
        """
109
        """
72
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
110
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
-
 
111
        
73
            
112
        
74
        transactions = get_transactions_for_shipment_status(current_status, current_from_date, current_to_date)
113
        orders = get_all_orders(current_status, current_from_date, current_to_date, warehouse_id)
75
        t_transaction = []
114
        t_orders = []
76
        for transaction in transactions:
115
        for order in orders:
77
            t_transaction.append(to_t_transaction(transaction))
116
            t_orders.append(to_t_order(order))
78
        return t_transaction
117
        return t_orders
-
 
118
        
-
 
119
    def changeOrderStatus(self, orderId, status, description):
-
 
120
        """
-
 
121
        Parameters:
-
 
122
         - orderId
-
 
123
         - status
-
 
124
         - description
-
 
125
         - 
-
 
126
        """
-
 
127
        return change_order_status(self, orderId, status, description)
79
 
128
 
80
    def getTransactionsForCustomer(self, customerId, from_date, to_date, status):
129
    def getOrdersForCustomer(self, customerId, from_date, to_date, status):
81
        """
130
        """
82
        Parameters:
131
        Parameters:
83
         - customerId
132
         - customerId
84
         - from_date
133
         - from_date
85
         - to_date
134
         - to_date
86
         - status
135
         - status
87
        """
136
        """
88
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
137
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
89
                
138
        
90
        transactions = get_transactions_for_customer(customerId, current_from_date, current_to_date, current_status)
139
        orders = get_orders_for_customer(customerId, current_from_date, current_to_date, current_status)
-
 
140
        t_orders = []
-
 
141
        for order in orders:
-
 
142
            t_orders.append(to_t_order(order))
-
 
143
        return t_orders
-
 
144
    
-
 
145
    def getOrder(self, id):
-
 
146
        """
-
 
147
        Parameters:
-
 
148
         - id
-
 
149
        """
-
 
150
        return to_t_order(get_order(id))
-
 
151
        
-
 
152
    def getLineItemsForOrder(self, orderId):
-
 
153
        """
-
 
154
        Parameters:
-
 
155
         - orderId
-
 
156
        """
-
 
157
        lineitems = get_line_items_for_order(orderId)
91
        t_transaction = []
158
        t_lineitems = []
92
        for transaction in transactions:
159
        for lineitem in lineitems:
93
            t_transaction.append(to_t_transaction(transaction))
160
            t_lineitems.append(to_t_lineitem(lineitem))
94
        return t_transaction
161
        return t_lineitems
-
 
162
 
-
 
163
    def getAlerts(self, orderId, valid):
-
 
164
        """
-
 
165
        Parameters:
-
 
166
         - orderId
-
 
167
         - valid
-
 
168
        """
-
 
169
        alerts = get_alerts(orderId, valid)
-
 
170
        
-
 
171
        t_alerts = []
-
 
172
        
-
 
173
        for alert in alerts:
-
 
174
            t_alerts.append(to_t_alert(alert)) 
-
 
175
        
-
 
176
        return t_alerts
-
 
177
 
-
 
178
    def setAlert(self, orderId, unset, type, comment):
-
 
179
        """
-
 
180
        Parameters:
-
 
181
         - orderId
-
 
182
         - unset
-
 
183
         - type
-
 
184
         - comment
-
 
185
        """
-
 
186
        set_alert(orderId, unset, type, comment)
95
 
187
 
96
    
188
    
-
 
189
if __name__ == "__main__":
-
 
190
    order = OrderServiceHandler()
-
 
191
    t = order.getTransaction(4)
-
 
192
    print t
-
 
193
    
-
 
194
    '''
-
 
195
    these methods commented right now. may be used later
97
    def getTransactionsForCustomerAndShipmentStatus(self, customerId, from_date, to_date, status):
196
    def getAllTransactions(self, status, from_date, to_date, warehouse_id):
98
        """
197
        """
99
        Parameters:
198
        Parameters:
100
         - customerId
199
         - status
101
         - from_date
200
         - from_date
102
         - to_date
201
         - to_date
103
         - status
-
 
104
        """
202
        """
105
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
203
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
106
      
204
        
107
        transactions = get_transactions_for_customer_shipment(customerId, current_from_date, current_to_date, current_status)
205
        transactions = get_all_transactions(current_status, current_from_date, current_to_date, warehouse_id)
108
        t_transaction = []
206
        t_transaction = []
109
        for transaction in transactions:
207
        for transaction in transactions:
110
            t_transaction.append(to_t_transaction(transaction))
208
            t_transaction.append(to_t_transaction(transaction))
111
        return t_transaction
209
        return t_transaction
112
    
210
 
113
    def getTransactionsForShoppingCartId(self, shoppingCartId):
211
    def getTransactionsForShipmentStatus(self, status, from_date, to_date):
114
        """
212
        """
115
        Parameters:
213
        Parameters:
-
 
214
         - status
116
            - shoppingCartId
215
         - from_date
-
 
216
         - to_date
117
        """
217
        """
-
 
218
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
-
 
219
            
118
        transactions = get_transactions_for_shopping_cart_id(shoppingCartId)
220
        transactions = get_transactions_for_shipment_status(current_status, current_from_date, current_to_date)
119
        t_transaction = []
221
        t_transaction = []
120
        for transaction in transactions:
222
        for transaction in transactions:
121
            t_transaction.append(to_t_transaction(transaction))
223
            t_transaction.append(to_t_transaction(transaction))
122
        return t_transaction
224
        return t_transaction
123
        pass
-
 
124
        
-
 
125
    
225
 
126
    def getTransactionStatus(self, transactionId):
-
 
127
        """
-
 
128
        Parameters:
-
 
129
         - transactionId
-
 
130
        """
-
 
131
        return get_t_status(get_transaction_status(transactionId))
-
 
132
    
-
 
133
    def changeTransactionStatus(self, transactionId, status, description):
226
    def getTransactionsForCustomerAndShipmentStatus(self, customerId, from_date, to_date, status):
134
        """
227
        """
135
        Parameters:
228
        Parameters:
136
         - transactionId
229
         - customerId
-
 
230
         - from_date
-
 
231
         - to_date
137
         - status
232
         - status
138
         - description
-
 
139
        """
233
        """
140
        return change_transaction_status(transactionId, get_c_status(status), description)
234
        current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)
141
    
235
      
-
 
236
        transactions = get_transactions_for_customer_shipment(customerId, current_from_date, current_to_date, current_status)
-
 
237
        t_transaction = []
-
 
238
        for transaction in transactions:
-
 
239
            t_transaction.append(to_t_transaction(transaction))
-
 
240
        return t_transaction
-
 
241
 
142
    def getOrderInfo(self, transactionId):
242
    def getOrderInfo(self, transactionId):
143
        """
243
        """
144
            Get and set individual objects in it
244
            Get and set individual objects in it
145
        *
245
        *
146
        
246
        
Line 226... Line 326...
226
         - shippingId
326
         - shippingId
227
         - status
327
         - status
228
         - description
328
         - description
229
        """
329
        """
230
        return change_shipping_status(transactionId, shippingId, get_c_status(status), description)
330
        return change_shipping_status(transactionId, shippingId, get_c_status(status), description)
231
    
331
 
232
    def getAlerts(self, transactionId, valid):
332
    def getAlerts(self, transactionId, valid):
233
        """
333
        """
234
        Parameters:
334
        Parameters:
235
         - transactionId
335
         - transactionId
236
         - valid
336
         - valid
Line 273... Line 373...
273
         - colour
373
         - colour
274
         - vendor
374
         - vendor
275
        """
375
        """
276
        set_extra_info(transaction_id, sku_id, model, vendor, colour)
376
        set_extra_info(transaction_id, sku_id, model, vendor, colour)
277
 
377
 
-
 
378
    '''
278
    
379
    
279
if __name__ == "__main__":
-
 
280
    order = OrderServiceHandler()
-
 
281
    t = order.getTransaction(4)
-
 
282
    print t
-
 
283
380