def put(self): """ Place an order and make a payment. --- tags: - orders consumes: - application/json parameters: - in: body name: body required: true description: Json object for an order schema: type: object properties: customerEmailAddress: type: string default: [email protected] orderItems: type: array items: type: object properties: description: type: string default: Test Item price: type: float default: 10.00 totalPriceBeforeVat: type: float default: 10.00 totalVat: type: float default: 2.10 totalPrice: type: float default: 12.10 """ try: order = Order(request.get_json()) order.validate() except DataError as e: return {'Error': str(e)}, 400 # Process order try: order_service = OrdersService() order = order_service.create_order(order) return {'orderId': order.order_id, 'orderStatus': order.order_status}, 201 except OrderError: return {'Order Failed Reason': 'Error saving order'}, 500 except Exception as e: app.logger.error('Unhandled error: {0}'.format(str(e))) return {'Order Failed Reason': 'Unhandled exception'}, 500
def __init__(self, data): self.order = Order() self.order.ws_name = data['ws_name'] self.order.product_name = data['product_name'] self.order.sizeNcolor = data['sizeNcolor'] self.order.updated_time = data['updated_time'] self.order.created_time = data['created_time'] self.order.status = data['status'] self.order.price = data['price'] self.order.count = data['count'] self.order.phone = data['phone'] self.order.oos = data['oos'] self.order.order_id = data['order_id']
def save(self, order): """ Save order to database, all orders must be associated with a customer :param order: The order to save :returns order: Returns the order, with order_id and other meta-data applied """ order = Order(order) order_id = str(uuid.uuid4()).upper()[:8] order.order_id = order_id order.order_date = datetime.now() order.order_status = OrderStatus.SUCCESS.name try: self.orders_table.put_item(Item=order.to_primitive()) except TypeError as e: error_message = "Error occurred attempting to Save order. Exception {0}, Order {1}".format( str(e), order.to_primitive() ) raise OrderStoreError(error_message) # Get the item which will demonstrate it was successfully created return self.get(order.customer_email_address, order.order_id)
from app.models.orders import Order order_1 = Order("Steve", "10/03/2021", 3, "Lord of the Rings", "Book about hobbits", "J.R.R. Tolkein") order_2 = Order("Jenny", " 02/02/2021", 1, "Harry Potter", "Book about magic", "J.K. Rowling") orders = [order_1, order_2]