Rev 358 | Rev 494 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
'''Created on 29-Mar-2010@author: ashish'''from shop2020.model.v1.order.impl import DataServicefrom shop2020.model.v1.order.impl.DataAccessors import create_transaction,\create_order, get_new_transaction, get_transactions_for_customer, get_transaction_status,\get_line_items_for_order, get_transaction, get_transactions_for_shopping_cart_id,\change_transaction_status, get_orders_for_customer,get_orders_for_transaction, get_order,\get_all_orders, change_order_status, get_alerts, set_alertfrom shop2020.model.v1.order.impl.Convertors import to_t_transaction,\to_t_lineitem, to_t_alert, to_t_order, to_t_lineitemfrom shop2020.thriftpy.model.v1.order.ttypes import Transaction, OrderStatus,\LineItem, Orderfrom shop2020.utils import OrderStatusfrom shop2020.utils.Utils import to_py_date, get_status_fdate_tdatefrom shop2020.utils.OrderStatus import get_t_status, get_c_statusclass OrderServiceHandler:def __init__(self):"""Constructor"""DataService.initialize()def createTransaction(self, transaction):"""Parameters:- transaction"""return create_transaction(transaction)def getTransaction(self, id):"""Get transaction methods.Parameters:- id"""transaction = get_transaction(id)return to_t_transaction(transaction)def getTransactionsForCustomer(self, customerId, from_date, to_date, status):"""Parameters:- customerId- from_date- to_date- status"""current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)transactions = get_transactions_for_customer(customerId, current_from_date, current_to_date, current_status)t_transaction = []for transaction in transactions:t_transaction.append(to_t_transaction(transaction))return t_transactiondef getTransactionsForShoppingCartId(self, shoppingCartId):"""Parameters:- shoppingCartId"""transactions = get_transactions_for_shopping_cart_id(shoppingCartId)t_transaction = []for transaction in transactions:t_transaction.append(to_t_transaction(transaction))return t_transactiondef getTransactionStatus(self, transactionId):"""Parameters:- transactionId"""return get_t_status(get_transaction_status(transactionId))def changeTransactionStatus(self, transactionId, status, description):"""Parameters:- transactionId- status- description"""return change_transaction_status(transactionId, get_c_status(status), description)def getOrdersForTransaction(self, transactionId):"""Parameters:- transactionId"""orders = get_orders_for_transaction(transactionId)t_orders = []for order in orders:t_orders.append(to_t_order(order))return t_ordersdef getAllOrders(self, status, from_date, to_date, warehouse_id):"""Parameters:- status- from_date- to_date- warehouse_id"""current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)orders = get_all_orders(current_status, current_from_date, current_to_date, warehouse_id)t_orders = []for order in orders:t_orders.append(to_t_order(order))return t_ordersdef changeOrderStatus(self, orderId, status, description):"""Parameters:- orderId- status- description-"""return change_order_status(self, orderId, status, description)def getOrdersForCustomer(self, customerId, from_date, to_date, status):"""Parameters:- customerId- from_date- to_date- status"""current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)orders = get_orders_for_customer(customerId, current_from_date, current_to_date, current_status)t_orders = []for order in orders:t_orders.append(to_t_order(order))return t_ordersdef getOrder(self, id):"""Parameters:- id"""return to_t_order(get_order(id))def getLineItemsForOrder(self, orderId):"""Parameters:- orderId"""lineitems = get_line_items_for_order(orderId)t_lineitems = []for lineitem in lineitems:t_lineitems.append(to_t_lineitem(lineitem))return t_lineitemsdef getAlerts(self, orderId, valid):"""Parameters:- orderId- valid"""alerts = get_alerts(orderId, valid)t_alerts = []for alert in alerts:t_alerts.append(to_t_alert(alert))return t_alertsdef setAlert(self, orderId, unset, type, comment):"""Parameters:- orderId- unset- type- comment"""set_alert(orderId, unset, type, comment)if __name__ == "__main__":order = OrderServiceHandler()t = order.getTransaction(4)print t'''these methods commented right now. may be used laterdef getAllTransactions(self, status, from_date, to_date, warehouse_id):"""Parameters:- status- from_date- to_date"""current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)transactions = get_all_transactions(current_status, current_from_date, current_to_date, warehouse_id)t_transaction = []for transaction in transactions:t_transaction.append(to_t_transaction(transaction))return t_transactiondef getTransactionsForShipmentStatus(self, status, from_date, to_date):"""Parameters:- status- from_date- to_date"""current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)transactions = get_transactions_for_shipment_status(current_status, current_from_date, current_to_date)t_transaction = []for transaction in transactions:t_transaction.append(to_t_transaction(transaction))return t_transactiondef getTransactionsForCustomerAndShipmentStatus(self, customerId, from_date, to_date, status):"""Parameters:- customerId- from_date- to_date- status"""current_status, current_from_date, current_to_date = get_status_fdate_tdate(status, from_date, to_date)transactions = get_transactions_for_customer_shipment(customerId, current_from_date, current_to_date, current_status)t_transaction = []for transaction in transactions:t_transaction.append(to_t_transaction(transaction))return t_transactiondef getOrderInfo(self, transactionId):"""Get and set individual objects in it*Parameters:- transactionId"""lineitems = get_line_items(transactionId)order_info = OrderInfo()order_info.lineitems = []for lineitem in lineitems:order_info.lineitems.append(to_t_lineitem(lineitem))order_info.id = lineitem.transaction.idreturn order_infodef getShippingInfo(self, transactionId):"""Parameters:- transactionId"""shipments = get_shipments(transactionId)shipment_info = ShipmentInfo()shipment_info.shipments = []for shipment in shipments:shipment_info.shipments.append(to_t_shipment(shipment))shipment_info.id = shipment.idreturn shipment_infodef getBillingInfo(self, transactionId):"""Parameters:- transactionId"""billings = get_billings(transactionId)billing_info = BillingInfo()billing_info.billings = []if billings:for billing in billings:billing_info.billings.append(to_t_billing(billing))billing_info.id = billing.line_item.transaction.idreturn billing_infodef addBilling(self, transactionId, billing):"""Parameters:- tranactionId- billing"""return set_billing(transactionId, billing)def setShippingTracker(self, transactionId, shippingId, trackingId, airwayBillNo, provider):"""Parameters:- transactionId- shippingId- trackingId- airwayBillNo- provider"""return set_shipping_tracker_info(transactionId, shippingId, trackingId, airwayBillNo, provider)def setShippingDate(self, transactionId, shippingId, timestamp):"""Parameters:- transactionId- shippingId- timestamp"""return set_shipping_date(transactionId, shippingId, to_py_date(timestamp))def setDeliveryDate(self, transactionId, shippingid, timestamp):"""Parameters:- transactionId- shippingid- timestamp"""return set_delivery_date(transactionId, shippingid, timestamp)def changeShippingStatus(self, transactionId, shippingId, status, description):"""Parameters:- transactionId- shippingId- status- description"""return change_shipping_status(transactionId, shippingId, get_c_status(status), description)def getAlerts(self, transactionId, valid):"""Parameters:- transactionId- valid"""alerts = get_alerts(transactionId, valid)t_alerts = []for alert in alerts:t_alerts.append(to_t_alert(alert))return t_alertsdef setAlert(self, transactionId, unset, type, comment):"""Parameters:- transactionId- unset- type- comment"""set_alert(transactionId, unset, type, comment)def getExtraInfo(self, transaction_id):"""Parameters:- transaction_id"""extra_info = get_extra_info(transaction_id)return to_t_extra_item_info(extra_info, transaction_id)def setExtraInfo(self, transaction_id, sku_id, model, colour, vendor):"""Parameters:- transaction_id- sku_id- model- colour- vendor"""set_extra_info(transaction_id, sku_id, model, vendor, colour)'''