[Yanel-commits] rev 55854 - public/yanel/contributions/realms/konakart-yanel-realm/res-types/overview/src/java/org/wyona/yanel/resources/konakart/overview

michi at wyona.com michi at wyona.com
Wed Jan 5 13:26:19 CET 2011


Author: michi
Date: 2011-01-05 13:26:18 +0100 (Wed, 05 Jan 2011)
New Revision: 55854

Modified:
   public/yanel/contributions/realms/konakart-yanel-realm/res-types/overview/src/java/org/wyona/yanel/resources/konakart/overview/KonakartOverviewSOAPInfResource.java
Log:
multi store finally finished

Modified: public/yanel/contributions/realms/konakart-yanel-realm/res-types/overview/src/java/org/wyona/yanel/resources/konakart/overview/KonakartOverviewSOAPInfResource.java
===================================================================
--- public/yanel/contributions/realms/konakart-yanel-realm/res-types/overview/src/java/org/wyona/yanel/resources/konakart/overview/KonakartOverviewSOAPInfResource.java	2011-01-05 11:00:46 UTC (rev 55853)
+++ public/yanel/contributions/realms/konakart-yanel-realm/res-types/overview/src/java/org/wyona/yanel/resources/konakart/overview/KonakartOverviewSOAPInfResource.java	2011-01-05 12:26:18 UTC (rev 55854)
@@ -65,7 +65,7 @@
         SharedResource shared = new SharedResource();
         KKEngIf kkEngine = shared.getKonakartEngineImpl();
         KKEngIf kkEngineBranch = null; // Will be initialized later (if in multi-store mode)
-        boolean multistore = false; // Will have to be checked after reading delivery address
+        //boolean multistore = false; // Will have to be checked after reading delivery address
         String sessionId = shared.getSessionId(getEnvironment().getRequest().getSession(true));
         int customerId = shared.getCustomerId(getEnvironment().getRequest().getSession(true));
         int languageId = shared.getLanguageId(getContentLanguage());
@@ -197,43 +197,6 @@
                 trail[0].setCustomerNotified(true);
 
                 orderDefault.setStatusTrail(trail);
-        
-                // INFO: Check whether ZIP corresponds to a specific store id and hence enable Multi-Store
-                String storeId = getBranchStoreId(devaddr.getPostcode());
-                multistore = storeId != null;
-                if(multistore) {
-                    log.warn("DEBUG: Multi-store seems to be enabled: " + devaddr.getPostcode() + ", " + storeId);
-                    kkEngineBranch = shared.getKonakartEngineImpl(storeId);
-                } else {
-                    log.warn("DEBUG: Multi-store seems to be disabled.");
-                }
-
-                OrderIf orderBranch = null; // INFO: Branch order object for multi-store mode
-                if(multistore) {
-                    log.warn("DEBUG: Trying to create branch order ...");
-                    orderBranch = kkEngineBranch.createOrder(sessionId, items, languageId);
-                    if (orderBranch != null) {
-                        orderBranch.setShippingQuote(shipping);
-                        // TODO: Something goes wrong here ...
-                        orderBranch = kkEngineBranch.getOrderTotals(orderBranch, languageId);
-
-                        fixOrderTotals(orderBranch, shipping);
-                        setOrderAddressFields(orderBranch, shipping, devaddr, defaddr);
-                        orderBranch.setStatusTrail(trail); // TODO: Add a branch specific trail
-
-                        orderBranch.setPaymentMethod("Pluscard");
-
-                        int idBranch = kkEngineBranch.saveOrder(sessionId, orderBranch, languageId);
-                        log.warn("DEBUG: Branch order has been created: " + kkEngineBranch.getStore().getStoreId());
-
-                        // TODO: ...
-                        //kkEngine.changeOrderStatus(sessionId, idBranch, orderBranch.getStatus(), true, "New order.");
-                        //kkEngine.changeOrderStatus(sessionId, idBranch, orderBranch.getStatus(), false, "Payment details: " + payment_info_kk);
-                    } else {
-                        log.error("Was not able to create order to branch store: " + storeId);
-                    }
-                }
-
             } catch(Exception e) {
                 process = false;
                 log.error(e, e);
@@ -280,10 +243,6 @@
             if(process) {
                 try {
                     orderDefault.setPaymentMethod("Pluscard");
-                    if(multistore) {
-                        log.warn("TODO: Multi-store ...");
-                        // TODO: orderBranch.setPaymentMethod("Pluscard");
-                    }
                     payment_info_kk = num_suffix + " (" + valid + ")";
                     payment_info_mail = "6004512-" + num_prefix;
                 } catch(Exception e) {
@@ -324,10 +283,6 @@
             if(process) {
                 try {
                     orderDefault.setPaymentMethod("Creditcard");
-                    if(multistore) {
-                        log.warn("TODO: Multi-store ..."); 
-                        // TODO: orderBranch.setPaymentMethod("Creditcard");
-                    }
                     String snum = number.replace("[^0-9]+", "");
                     payment_info_kk = type + ": " + num_suffix + " (" + valid + ")";
                     String cvc = (String) session.getAttribute("checkout-card-data-cvc");
@@ -343,22 +298,114 @@
 
         if(process) {
             try {
-                int id = kkEngine.saveOrder(sessionId, orderDefault, languageId);
-                int idBranch = 0;
+                int orderId = kkEngine.saveOrder(sessionId, orderDefault, languageId);
 
-                // Save to another store (multi-store mode)?
-                if(multistore) {
+                // Status updates
+                kkEngine.changeOrderStatus(sessionId, orderId, orderDefault.getStatus(), true, "New order."); 
+                if(remarks != null) {
                     try {
-                        log.warn("TODO: Multi-store ..."); 
-                        //TODO: idBranch = kkEngineBranch.saveOrder(sessionId, orderBranch, languageId);
-                    } catch(Exception e) {
-                        log.error("Unable to save order to branch!");
+                        kkEngine.changeOrderStatus(sessionId, orderId, orderDefault.getStatus(), true, "Remarks: " + remarks); 
+                    } catch(Exception e) { 
                         log.error(e, e);
                     }
                 }
+                if(payment_info_kk != null) {
+                   kkEngine.changeOrderStatus(sessionId, orderId, orderDefault.getStatus(), false, "Payment details: " + payment_info_kk);
+                }
+
+                // INFO: Check whether ZIP corresponds to a specific store id and hence enable Multi-Store
+                String storeId = getBranchStoreId(devaddr.getPostcode());
+                boolean multistore = storeId != null;
+                if(multistore) {
+                    log.warn("DEBUG: Multi-store seems to be enabled: " + devaddr.getPostcode() + ", " + storeId);
+                    kkEngineBranch = shared.getKonakartEngineImpl(storeId);
+                } else {
+                    log.warn("DEBUG: Multi-store seems to be disabled.");
+                }
+                if(multistore) {
+                    OrderIf orderBranch = null; // INFO: Branch order object for multi-store mode
+                    log.warn("DEBUG: Trying to create branch order ...");
+
+                    org.wyona.yarep.core.Repository konakartRepo = getRealm().getRepository("konakart-repository");
+                    org.wyona.yarep.core.Node ordersNode = konakartRepo.getNode("/orders/");
+                    String language = "en"; // TODO: Not used actually (see implementation ...)
+                    //String orderId = "" + orderDefault.getId();
+                    //String orderId = orderDefault.getOrderNumber();
+                    if (ordersNode.hasNode(orderId + "_" + language)) {
+                        org.wyona.yarep.core.Node orderNode = ordersNode.getNode(orderId + "_" + language);
+                        log.warn("DEBUG: Switch store ID '" + storeId + "' of order: " + orderId);
+                        orderNode.setProperty("store-id", storeId);
+                    } else {
+                        log.error("No such order with ID: " + orderId);
+                    }
+
+/*
+
+        dispatchOrder(OrderIf order) {
+            String storeId = "Zurich1"; // This should be retrieved from the DB lookup above
+
+            BasePeer.executeStatement("update orders set store_id='" + storeId + "' where orders_id=" + order.getId());
+
+            BasePeer.executeStatement("update orders_products set store_id='" + storeId + "' where orders_id=" + order.getId());
+
+            BasePeer.executeStatement("update orders_products_attributes set store_id='" + storeId + "' where orders_id=" + order.getId());
+
+            BasePeer.executeStatement("update orders_status_history set store_id='" + storeId + "' where orders_id=" + order.getId());
+
+            BasePeer.executeStatement("update orders_total set store_id='" + storeId + "' where orders_id=" + order.getId());
+        }
+*/
+ 
+
+                    // TODO: Add products to this store and append to category
+                    for (OrderProductIf orderProduct : orderDefault.getOrderProducts()) {
+                        com.konakart.appif.ProductIf productDefault = orderProduct.getProduct();
+                        // INFO: Please note that the ID of an order-product is not the same as the ID of an actual product
+                        log.warn("DEBUG: Order product ID: " + orderProduct.getId() + ", Product ID: " + productDefault.getId());
+                        log.warn("DEBUG: Category ID of product: " + productDefault.getCategoryId());
+/*
+                        int language = 2;
+                        com.konakart.appif.CategoryIf[] categories = kkEngine.getCategoriesPerProduct(productDefault.getId(), language);
+*/
+                        for (String shopId : kkEngine.getStoreIds()) {
+                            log.warn("DEBUG: Store ID: " + shopId);
+                        }
+/*
+                        AdminStore[] = KKAdminIf.getStores();
+                        AdminStore = ...
+                        AdminProducts = kkAdminIf.searchForProducts(...);
+                        AdminProduct = ...
+                        //kkEngineBranch
+*/
+                    }
+
+/*
+                    orderBranch = kkEngineBranch.createOrder(sessionId, items, languageId);
+                    if (orderBranch != null) {
+                        orderBranch.setShippingQuote(shipping);
+                        // TODO: Something goes wrong here ...
+                        orderBranch = kkEngineBranch.getOrderTotals(orderBranch, languageId);
+
+                        fixOrderTotals(orderBranch, shipping);
+                        setOrderAddressFields(orderBranch, shipping, devaddr, defaddr);
+                        orderBranch.setStatusTrail(trail); // TODO: Add a branch specific trail
+
+                        orderBranch.setPaymentMethod("Pluscard");
+
+                        int idBranch = kkEngineBranch.saveOrder(sessionId, orderBranch, languageId);
+                        log.warn("DEBUG: Branch order has been created: " + kkEngineBranch.getStore().getStoreId());
+
+                        // TODO: ...
+                        //kkEngine.changeOrderStatus(sessionId, idBranch, orderBranch.getStatus(), true, "New order.");
+                        //kkEngine.changeOrderStatus(sessionId, idBranch, orderBranch.getStatus(), false, "Payment details: " + payment_info_kk);
+                    } else {
+                        log.error("Was not able to create order to branch store: " + storeId);
+                    }
+*/
+                } // INFO: End multistore
                 
                 Element prElem = (Element) rootElement.appendChild(doc.createElementNS(KONAKART_NAMESPACE, "process"));
-                prElem.setAttribute("orderid", "" + id);
+                prElem.setAttribute("orderid", "" + orderId);
 
                 // Print date
                 Date today = new Date();
@@ -367,36 +414,11 @@
                 Element dateElem = (Element) rootElement.appendChild(doc.createElementNS(KONAKART_NAMESPACE, "date"));
                 dateElem.appendChild(doc.createTextNode(formattedDate));
 
-                sendMailToCustomer(id, orderDefault, customer);
-                sendMailToOwner(id, orderDefault, customer, payment_info_mail);
+                sendMailToCustomer(orderId, orderDefault, customer);
+                sendMailToOwner(orderId, orderDefault, customer, payment_info_mail);
                 // Let Konakart send the order confirmation...
-                // kkEngine.sendOrderConfirmationEmail(sessionId, id, "Order #" + id, languageId);
+                // kkEngineBranch.sendOrderConfirmationEmail(sessionId, id, "Order #" + id, languageId);
 
-                // Status updates
-                kkEngine.changeOrderStatus(sessionId, id, orderDefault.getStatus(), true, "New order."); 
-                if(multistore) {
-                    log.warn("TODO: Multi-store ...");
-                    // TODO: kkEngineBranch.changeOrderStatus(sessionId, idBranch, orderBranch.getStatus(), true, "New order.");
-                }
-                if(remarks != null) {
-                    try {
-                        kkEngine.changeOrderStatus(sessionId, id, orderDefault.getStatus(), true, "Remarks: " + remarks); 
-                        if(multistore) {
-                            log.warn("TODO: Multi-store ...");
-                            // TODO: kkEngineBranch.changeOrderStatus(sessionId, idBranch, orderBranch.getStatus(), true, "Remarks: " + remarks);
-                        }
-                    } catch(Exception e) { 
-                        log.error(e, e);
-                    }
-                }
-                if(payment_info_kk != null) {
-                   kkEngine.changeOrderStatus(sessionId, id, orderDefault.getStatus(), false, "Payment details: " + payment_info_kk);
-                   if(multistore) {
-                       log.warn("TODO: Multi-store ...");
-                       // TODO: kkEngineBranch.changeOrderStatus(sessionId, idBranch, orderBranch.getStatus(), false, "Payment details: " + payment_info_kk);
-                   }
-                }
-
             } catch(Exception e) {
                 process = false;
                 log.error(e, e);



More information about the Yanel-commits mailing list