/** * Construct page. * * @param params page parameters */ public ResultPage(final PageParameters params) { super(params); add(new StandardFooter(FOOTER)).add(new StandardHeader(HEADER)); final String orderNum = params.get("orderNum").toString(); final CustomerOrder customerOrder = checkoutServiceFacade.findByGuid(orderNum); final boolean isPaymentSuccessful = checkoutServiceFacade.isOrderPaymentSuccessful(customerOrder); if (isPaymentSuccessful) { cleanCart(); } add( new Label( "paymentResult", getLocalizer() .getString(isPaymentSuccessful ? "paymentWasOk" : "paymentWasFailed", this))); add(new ServerSideJs("serverSideJs")); add(new HeaderMetaInclude("headerInclude")); }
/** * Construct payment form verification view, that shows deliveries, items in deliveries and * prices. * * @param id component id * @param orderGuid order guid */ public ShoppingCartPaymentVerificationView( final String id, final String orderGuid, final boolean enableProductLinks) { super(id); final CustomerOrder customerOrder = checkoutServiceFacade.findByGuid(orderGuid); final Total grandTotal = checkoutServiceFacade.getOrderTotal(customerOrder); final String selectedLocale = getLocale().getLanguage(); final Set<String> allPromos = checkoutServiceFacade.getOrderPromoCodes(customerOrder); for (final CustomerOrderDelivery delivery : customerOrder.getDelivery()) { allPromos.addAll(checkoutServiceFacade.getOrderShippingPromoCodes(delivery)); } for (final CustomerOrderDet orderDet : customerOrder.getOrderDetail()) { allPromos.addAll(checkoutServiceFacade.getOrderItemPromoCodes(orderDet)); } final String deliveryAddress = customerOrder.getShippingAddress(); final String billingAddress = customerOrder.getBillingAddress(); final Pair<String, String> imageSize = categoryServiceFacade.getThumbnailSizeConfig(0L, ShopCodeContext.getShopId()); add( new ListView<CustomerOrderDelivery>( DELIVERY_LIST, new ArrayList<CustomerOrderDelivery>(customerOrder.getDelivery())) { @Override protected void populateItem( ListItem<CustomerOrderDelivery> customerOrderDeliveryListItem) { final CustomerOrderDelivery delivery = customerOrderDeliveryListItem.getModelObject(); final CarrierSla sla = delivery.getCarrierSla(); final String slaName = getI18NSupport() .getFailoverModel(sla.getDisplayName(), sla.getName()) .getValue(selectedLocale); final List<CustomerOrderDeliveryDet> deliveryDet = new ArrayList<CustomerOrderDeliveryDet>(delivery.getDetail()); final Total total = checkoutServiceFacade.getOrderDeliveryTotal(customerOrder, delivery); customerOrderDeliveryListItem .add(new Label(DELIVERY_CODE, delivery.getDeliveryNum())) .add( new ListView<CustomerOrderDeliveryDet>(ITEM_LIST, deliveryDet) { @Override protected void populateItem( ListItem<CustomerOrderDeliveryDet> customerOrderDeliveryDetListItem) { final CustomerOrderDeliveryDet det = customerOrderDeliveryDetListItem.getModelObject(); final ProductSkuDecorator productSkuDecorator = getDecoratorFacade() .decorate( productServiceFacade.getProductSkuBySkuCode( det.getProductSkuCode()), getWicketUtil().getHttpServletRequest().getContextPath(), true); final String width = imageSize.getFirst(); final String height = imageSize.getSecond(); final String lang = getLocale().getLanguage(); final String defaultImageRelativePath = productSkuDecorator.getDefaultImage(width, height, lang); final BigDecimal itemTotal = det.getPrice() .multiply(det.getQty()) .setScale(Constants.DEFAULT_SCALE, BigDecimal.ROUND_HALF_UP); final LinksSupport links = getWicketSupportFacade().links(); customerOrderDeliveryDetListItem .add( links .newProductSkuLink(ITEM_NAME_LINK, productSkuDecorator.getId()) .add( new Label( ITEM_NAME_LINK_NAME, productSkuDecorator.getName(selectedLocale))) .setVisible(enableProductLinks)) .add( new Label(ITEM_NAME, productSkuDecorator.getName(selectedLocale)) .setVisible(!enableProductLinks)) .add(new Label(ITEM_CODE, det.getProductSkuCode())) .add(new Label(ITEM_PRICE, det.getPrice().toString())) .add(new Label(ITEM_QTY, det.getQty().toString())) .add(new Label(ITEM_TOTAL, itemTotal.toString())) .add( new ContextImage(DEFAULT_IMAGE, defaultImageRelativePath) .add( new AttributeModifier(BaseComponent.HTML_WIDTH, width), new AttributeModifier(BaseComponent.HTML_HEIGHT, height))); } }) .add(new Label(DELIVERY_SUB_TOTAL, total.getSubTotal().toString())) .add(new Label(DELIVERY_SUB_TOTAL_TAX, total.getSubTotalTax().toString())) .add(new Label(DELIVERY_SUB_TOTAL_AMOUNT, total.getSubTotalAmount().toString())) .add(new Label(DELIVERY_COST, total.getDeliveryCost().toString())) .add(new Label(DELIVERY_COST_TAX, total.getDeliveryTax().toString())) .add(new Label(DELIVERY_COST_AMOUNT, total.getDeliveryCostAmount().toString())) .add(new Label(DELIVERY_METHOD, slaName)) .add(new Label(DELIVERY_ADDRESS, deliveryAddress)); } }); add(new Label(DELIVERY_GRAND_TOTAL, grandTotal.getTotal().toString())); add(new Label(BILLING_ADDRESS, billingAddress)); add(new Label(DELIVERY_GRAND_TAX, grandTotal.getTotalTax().toString())); add( new PriceView( DELIVERY_GRAND_AMOUNT, new Pair<BigDecimal, BigDecimal>( grandTotal.getListTotalAmount(), grandTotal.getTotalAmount()), customerOrder.getCurrency(), StringUtils.join(allPromos, ", "), true, true)); }