public void addToConveyorBelt( int orderNum ) { OrderItem oi = new OrderItem(orderNum); conveyorBelt.add(oi); // here it fails }
@Override public void apply(int position, PreparedStatement statement, StatementContext ctx) throws SQLException { statement.setString(position, value.toString()); } };
public OrderRepresentation(DateTimeZone tenantZone, Order order) { this.slug = order.getSlug(); if (order.getCreationDate() != null) { this.creationDate = new DateTime(order.getCreationDate().getTime(), tenantZone); } if (order.getUpdateDate() != null) { this.updateDate = new DateTime(order.getUpdateDate().getTime(), tenantZone); } this.currency = order.getCurrency(); this.numberOfItems = order.getNumberOfItems(); this.itemsTotal = order.getItemsTotal(); this.shipping = order.getShipping(); this.grandTotal = order.getGrandTotal(); this.status = order.getStatus(); this.additionalInformation = order.getAdditionalInformation(); this.data = order.getOrderData(); if (order.getBillingAddress() != null) { this.setBillingAddress(new AddressRepresentation(order.getBillingAddress())); } if (order.getDeliveryAddress() != null) { this.setDeliveryAddress(new AddressRepresentation(order.getDeliveryAddress())); } if (order.getCustomer() != null) { this.setCustomer(new CustomerRepresentation(order.getCustomer())); } }
public OrderItem apply(Map<String, Object> map) { if (map == null) { return null; } OrderItem orderItem = new OrderItem(); orderItem.setId(UUID.fromString((String) map.get("id"))); orderItem.setOrderId(UUID.fromString((String) map.get("order_id"))); if (map.containsKey("purchasable_id") && map.get("purchasable_id") != null) { // There might not be a purchasable id orderItem.setPurchasableId(UUID.fromString((String) map.get("purchasable_id"))); } orderItem.setType((String) map.get("type")); orderItem.setTitle((String) map.get("title")); orderItem.setMerchant((String) map.get("merchant")); orderItem.setQuantity(((Integer) map.get("quantity")).longValue()); orderItem.setUnitPrice(BigDecimal.valueOf((Double) map.get("unit_price"))); orderItem.setItemTotal(BigDecimal.valueOf((Double) map.get("item_total"))); if (map.containsKey("vat_rate") && map.get("vat_rate") != null) { // There might not be a VAT rate orderItem.setVatRate(BigDecimal.valueOf((Double) map.get("vat_rate"))); } if (map.containsKey("data") && map.get("data") != null) { // There might not be data orderItem.addData((Map<String, Object>) map.get("data")); } return orderItem; } }).filter(Predicates.notNull()).toList();
protected void fillOrderSummary(ResultSet resultSet, OrderSummary order) throws SQLException order.setId((UUID) resultSet.getObject("id")); order.setTenantId((UUID) resultSet.getObject("tenant_id")); order.setSlug(resultSet.getString("slug")); order.setBillingAddressId((UUID) resultSet.getObject("billing_address_id")); order.setDeliveryAddressId((UUID) resultSet.getObject("delivery_address_id")); order.setCustomerId((UUID) resultSet.getObject("customer_id")); order.setCreationDate(resultSet.getTimestamp("creation_date")); order.setUpdateDate(resultSet.getTimestamp("update_date")); order.setNumberOfItems(resultSet.getLong("number_of_items")); order.setCurrency(Currency.getInstance(resultSet.getString("currency"))); order.setItemsTotal(resultSet.getBigDecimal("items_total")); order.setItemsTotalExcl(resultSet.getBigDecimal("items_total_excl")); order.setShipping(resultSet.getBigDecimal("shipping")); order.setShippingExcl(resultSet.getBigDecimal("shipping_excl")); order.setGrandTotal(resultSet.getBigDecimal("grand_total")); order.setGrandTotalExcl(resultSet.getBigDecimal("grand_total_excl")); order.setStatus(OrderSummary.Status.valueOf(resultSet.getString("status"))); order.setAdditionalInformation(resultSet.getString("additional_information")); order.setOrderData(data); } catch (IOException e) { logger.error("Failed to deserialize order data", e);
@Override public Order create(@Valid Order order) throws EntityAlreadyExistsException, InvalidEntityException { this.dao.begin(); String slug = String.format("%08d", lastOrderNumber() + 1); order.setSlug(slug); order.setId(UUID.randomUUID()); this.dao.createEntity(order, ORDER_TABLE_NAME, getTenant()); this.dao.createOrder(order); for (OrderItem item : order.getOrderItems()) { item.setId(UUID.randomUUID()); item.setOrderId(order.getId()); } this.dao.insertOrderItems(order.getOrderItems()); this.dao.commit(); return order; }
@Override public void onEvent(Event event, Object source, Object data) { // Update stocks for bought products Order order = (Order) source; List<OrderItem> items = order.getOrderItems(); for (OrderItem item : items) { UUID itemId = item.getPurchasableId(); if (itemId == null) { return; } Long quantity = item.getQuantity(); try { Product product = productStore.get().findById(itemId); if (product.getStock() != null) { productStore.get().updateStock(itemId, -quantity.intValue()); } else if (product.getParentId() != null) { Product parent = productStore.get().findById(product.getParentId()); productStore.get().updateStock(product.getParentId(), -quantity.intValue()); } } catch (EntityDoesNotExistException e) { // Ignore, there is just no stock to update } } } }
@Override public void update(@Valid Order order) throws EntityDoesNotExistException, InvalidEntityException { this.dao.begin(); Order originalOrder = this.findBySlug(order.getSlug()); if (originalOrder == null) { this.dao.commit(); throw new EntityDoesNotExistException(); } order.setId(originalOrder.getId()); Integer updatedRows = this.dao.updateOrder(order); this.dao.commit(); if (updatedRows <= 0) { throw new StoreException("No rows was updated when updating order"); } }
@Override public void onEvent(Event event, Object source, Object data) { final Order order = (Order) source; Map<String, Object> payload = Maps.newHashMap(); payload.put("customer", order.getCustomer().getEmail()); payload.put("order", order.getSlug()); webhooks.notifyHook(new OrderPaid(), payload); } }
@Override public void delete(@Valid Order entity) throws EntityDoesNotExistException { Integer updatedRows = 0; this.dao.begin(); updatedRows += this.dao.deleteEntityEntityById(ORDER_TABLE_NAME, entity.getId()); updatedRows += this.dao.detachChildren(entity.getId()); updatedRows += this.dao.deleteEntityAndChildrenById(entity.getId()); this.dao.commit(); if (updatedRows <= 0) { throw new EntityDoesNotExistException("No rows was updated when trying to delete order"); } }
@Override public void dropOrder(UUID orderId) throws CheckoutException { Order order = orderStore.get().findById(orderId); if (order == null) { throw new RegularCheckoutException("Order with id [" + orderId.toString() + "] does not exist."); } try { order.setStatus(Order.Status.CANCELLED); orderStore.get().update(order); } catch (EntityDoesNotExistException | InvalidEntityException e) { throw new CheckoutException(e); } }
@Override public Map<Integer, List<Order>> getOrdersForCustomer(Company company) { List<Order> orders = orderDao.findAll(company); Map<Integer, List<Order>> map = new HashMap<>(); for(Order order: orders){ int customerId = order.getCustomerId(); if(!map.containsKey(customerId)){ map.put(customerId, new ArrayList<Order>()); } map.get(customerId).add(order); } return map; }
public OrderItemWebObject apply(OrderItem orderItem) { return new OrderItemWebObject().withOrderItem(orderItem, order.getCurrency(), locale); } }).toList());
public OrderSummary map(int index, ResultSet resultSet, StatementContext ctx) throws SQLException { OrderSummary order = new OrderSummary(); fillOrderSummary(resultSet, order); return order; } }
public boolean apply(@Nullable Order input) { return !Arrays.asList(Order.Status.NONE, Order.Status.PAYMENT_PENDING).contains(input.getStatus()); } };
public void addToConveyorBelt(int orderNum) { OrderItem oi = new OrderItem(orderNum); conveyorBelt.add(oi); }
@Override public synchronized InvoiceNumber getOrCreateInvoiceNumber(Order order) throws InvoicingException { this.dao.begin(); InvoiceNumber existing = this.dao.findForOrderId(order.getId()); if (existing != null) { this.dao.commit(); return existing; } DateTime dateTime = new DateTime(); int weekOfYear = dateTime.getWeekOfWeekyear(); int year = dateTime.getYearOfCentury(); String prefix = String.format("%02d%02d", year, weekOfYear); Integer previousCountForPrefix = this.dao.getCountForPrefix(prefix); String number = prefix + String.format("%03d", ++previousCountForPrefix); InvoiceNumber generated = new InvoiceNumber(order.getId(), number, new Date()); this.dao.createInvoiceNumber(generated); this.dao.commit(); return generated; }
Orders orders = new Orders(); orders.addItem(new OrderItem()); ... session = getSession(); session.save(object); session.flush()
RendererRegistry registry = new RendererRegistry(); registry.register(OrderItem.class, new DefaultRenderer<OrderItem>(OrderItem.class)); Renderer<Film> filmRenderer = new AgeLimitedRenderer<Film>(Film.class); registry.register(Film.class, filmRenderer); registry.register(AdultFilm.class, filmRenderer); registry.register(Beer.class, new CountableRenderer<Beer>(Beer.class)); System.out.println(registry.renderItem(new OrderItem())); System.out.println(registry.renderItem(new Beer())); System.out.println(registry.renderItem(new Film())); System.out.println(registry.renderItem(new AdultFilm()));