Rev 132 | Rev 304 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
'''Created on 25-Mar-2010@author: ashish'''import urlparsefrom shop2020.thriftpy.config.ttypes import ConfigExceptionfrom thrift.transport import TSocketfrom thrift.transport.TTransport import TFramedTransportfrom thrift.protocol.TBinaryProtocol import TBinaryProtocolfrom shop2020.thriftpy.config import Configurationfrom shop2020.thriftpy.model.v1.catalog import InventoryServicefrom shop2020.thriftpy.model.v1.catalog.ttypes import Item, status, Warehousefrom shop2020.config.client.ConfigClient import ConfigClientimport datetimefrom shop2020.utils.Utils import to_java_datefrom shop2020.thriftpy.model.v1.order import TransactionServicefrom shop2020.thriftpy.model.v1.order.ttypes import Transaction, PaymentInfo,\Payment, PaymentStatus, OrderInfo, LineItem, Item, TransactionStatus,\ShipmentInfo, Shipment, ShipmentStatusclass TransactionClient:file_path = '/tmp/config.properties'def __init__(self):config_client = ConfigClient()self.host = config_client.get_property("transaction_service_hostname")self.port = config_client.get_property("transaction_service_port")self.start_client()def start_client(self):try:self.transport = TSocket.TSocket(self.host, self.port)self.transport = TFramedTransport(self.transport)self.protocol = TBinaryProtocol(self.transport)self.client = TransactionService.Client(self.protocol)self.transport.open()except:raise ConfigException(101, 'unable to load the client')def createTransaction(self, transaction):self.client.createTransaction(transaction)if __name__ == '__main__':transaction_client = TransactionClient()transaction = Transaction()transaction.shoppingCartid = 2transaction.customer_id = 4transaction.createdOn = to_java_date(datetime.datetime.now())transaction.expectedDeliveryTime = to_java_date(datetime.datetime.now())payment_info = PaymentInfo()payment_info.paymentspayment_info.payments = {}payment = Payment()payment.merchant_tx_id = "123"payment.bank_tx_id = "ICIC0001"payment.mode = "CARD"payment.amount = 23.5payment.status = PaymentStatus.SUCCESSpayment.submissionTimestamp = to_java_date(datetime.datetime.now())payment.completionTimestamp = to_java_date(datetime.datetime.now())payment.description = "Sample payment"payment_info.payments[to_java_date(datetime.datetime.now())] = paymenttransaction.paymentInfo = payment_infoorder_info = OrderInfo()order_info.lineitems = []line_item = LineItem()line_item.addedOn = to_java_date(datetime.datetime.now())line_item.item = Item()line_item.item.id = 23line_item.item.price = 2.40line_item.item.weight = 2.42order_info.lineitems.append(line_item)transaction.orderInfo = order_infotransaction.statusDescription = "INIT phase"transaction.transactionStatus = TransactionStatus.INITshipping_info = ShipmentInfo()shipping_info.shipments = []shipment = Shipment()shipment.weight = 2.42shipment.lineitems = order_info.lineitems;shipment.insurance = 2;shipment.value = 2.40shipment.status = ShipmentStatus.YET_TO_SHIPshipping_info.shipments.append(shipment)transaction.shipmentInfo = shipping_infotransaction_client.createTransaction(transaction)