com.softslate.commerce.businessobjects.customer
Interface CustomerProcessor

All Superinterfaces:
BusinessObject
All Known Implementing Classes:
BasicCustomerProcessor

public interface CustomerProcessor
extends BusinessObject

Interface for business logic methods having to do with customer accounts and related objects. Created in the Struts layer in response to requests for information about an exisiting customer account, or to create new accounts.

When the application needs to create an instance that implements CustomerProcessor, BusinessObjectFactory finds the name of the Java class to instantiate from the "customerProcessorImplementer" setting in the appComponents.properties file.

The default "customerProcessorImplementer" is BasicCustomerProcessor.

Author:
David Tobey

Method Summary
 java.util.Map addCustomer(java.util.Map parameters)
           
 void deleteCustomer(java.util.Map parameters)
           
 java.util.Map editCustomer(java.util.Map parameters)
           
 void editDeleteCustomers(java.util.Map parameters)
           
 Customer loadCustomerFromID(java.util.Map parameters)
           
 java.util.Map loadCustomerLostPassword(java.util.Map parameters)
          Loads the Customer property of this CustomerProcesor from the database given a Map containing the userName.
 java.util.Map loadCustomersAndCount(java.util.Map parameters)
           
 java.util.Collection loadDownloadFiles()
          Loads the set of download files that the customer has purchased from the database.
 Order loadOrderDetails(java.util.Map parameters)
          Loads all of the database information corresponding to a given order number for a given customer.
 java.util.Map loadOrderHistory()
          Loads a customer's order history from the database.
 java.util.Map loadPreviousOrder(java.util.Map parameters)
          Loads a previously placed order for a customer from the database, assigning it as the customer's current cart.
 java.util.Map loadSavedCart(java.util.Map parameters)
          Loads a saved cart for a customer from the database, assigning it as the customer's current cart.
 java.util.Collection loadSavedCarts()
          Loads a customer's list of saved carts from the database.
 java.util.Map processAutoLogin(java.util.Map parameters)
          Processes an automatic login given a user's autoLoginToken.
 java.util.Map processLogin(java.util.Map parameters)
          Processes a login attempt given a user name and password.
 java.util.Map processRegister(java.util.Map parameters)
          Processes a request to register or add a new customer account into the system.
 java.util.Map saveCart(java.util.Map parameters)
          Saves an Order in the database as a saved cart, with a status of "Saved", which a customer can pick up later.
 java.util.Map updateAddresses(java.util.Map parameters)
          Updates a customer's address information.
 java.util.Map updateCustomer(java.util.Map parameters)
          Updates a customer's account information.
 
Methods inherited from interface com.softslate.commerce.businessobjects.core.BusinessObject
initialize
 

Method Detail

processRegister

java.util.Map processRegister(java.util.Map parameters)
                              throws java.lang.Exception
Processes a request to register or add a new customer account into the system. The incoming Map should have at least two keys: userName and decryptedPassword, which will be used for the new account. If successful, the customer property of the current User will be populated with the new account's information. If an account already exists with the same userName, the returned Map will contain a key named "resultCode" whose value is "errors.userAlreadyLoggedIn". This code is used in the Struts layer to look up the error message.

Parameters:
parameters - A Map containing the user name and password for the new customer account.
Returns:
A Map with a key named "resultCode", equal to "0" if the result is successful.
Throws:
java.lang.Exception

processLogin

java.util.Map processLogin(java.util.Map parameters)
                           throws java.lang.Exception
Processes a login attempt given a user name and password. The incoming Map must have two keys: userName and password. If the login attempt succeeds, the Customer property of the current User will be populated with the database information for the customer account. If the user name and password don't match an account in the database, the returned Map will contain a key named "resultCode" whose value is "errors.invalidLogin". This code is used in the Struts layer to look up the error message.

Parameters:
parameters - A Map containing the user name and password for the customer attempting to log in.
Returns:
A Map with a key named "resultCode", equal to "0" if the result is successful.
Throws:
java.lang.Exception

processAutoLogin

java.util.Map processAutoLogin(java.util.Map parameters)
                               throws java.lang.Exception
Processes an automatic login given a user's autoLoginToken. The incoming Map must have the key: autoLoginToken. If the login succeeds, the Customer property of the current User will be populated with the database information for the customer account. If the autoLoginToken doesn't match an account in the database, the returned Map will contain a key named "resultCode" whose value is "errors.invalidLogin".

Parameters:
parameters - A Map containing the autoLoginToken for the customer.
Returns:
A Map with a key named "resultCode", equal to "0" if the result is successful.
Throws:
java.lang.Exception

updateAddresses

java.util.Map updateAddresses(java.util.Map parameters)
                              throws java.lang.Exception
Updates a customer's address information. The incoming Map should contain keys corresponding to the delivery address properties of CustomerAddress, and the billing address properties of Customer. The Customer property of the current user, and the first CustomerAddress in the customerAddressCollection of the Customer are modified with the incoming address information. Then the database records for the customer and the customer address are updated in sscCustomer and sscCustomerAddress.

Parameters:
parameters - A Map containing the address information for the current user, which is to be used to update the account.
Returns:
A Map with a key named "resultCode", equal to "0" if the result is successful.
Throws:
java.lang.Exception

updateCustomer

java.util.Map updateCustomer(java.util.Map parameters)
                             throws java.lang.Exception
Updates a customer's account information. The incoming Map should contain keys corresponding to the properties of Customer. The Customer property of the current user is modified with the account information contained in the incoming Map. Then the database record for the customer is updated. Used to process a changed user name and password.

If the incoming user name is already used by a different customer, the returned Map will contain a key named "resultCode" whose value is "errors.userNameNotUnique". This code is used in the Struts layer to look up the error message.

Parameters:
parameters - A Map containing the account information for the current user, which is to be used to update the account.
Returns:
A Map with a key named "resultCode", equal to "0" if the result is successful.
Throws:
java.lang.Exception

loadCustomerLostPassword

java.util.Map loadCustomerLostPassword(java.util.Map parameters)
                                       throws java.lang.Exception
Loads the Customer property of this CustomerProcesor from the database given a Map containing the userName. Used in the lost password form, when a customer must be retrieved from database without a password.

If the application is set to use one-way encryption for customer passwords, this method will generate a random password and update the customer's record with it.

If the customer corresponding to the user name in the Map does not exist in the database, the returned Map will contain a key named "resultCode" whose value is "errors.userNameNotFound". This code is used in the Struts layer to look up the error message.

Parameters:
parameters - A Map containing the user name of a given customer.
Returns:
A Map with a key named "resultCode", equal to "0" if the result is successful.
Throws:
java.lang.Exception

loadOrderHistory

java.util.Map loadOrderHistory()
                               throws java.lang.Exception
Loads a customer's order history from the database. If successful, the Customer property of the current User will have its orderHistory property populated with information from the database about all of the customer's previous orders in the store.

Returns:
A Map with a key named "resultCode", equal to "0" if the result is successful.
Throws:
java.lang.Exception

loadOrderDetails

Order loadOrderDetails(java.util.Map parameters)
                       throws java.lang.Exception
Loads all of the database information corresponding to a given order number for a given customer. Used to retrieve the order details for a customer viewing his or her order history.

Parameters:
parameters - A Map containing a key named orderNumber with the order number of a given order.
Returns:
An Order populated with information from the database.
Throws:
java.lang.Exception

loadDownloadFiles

java.util.Collection loadDownloadFiles()
                                       throws java.lang.Exception
Loads the set of download files that the customer has purchased from the database. The set of files is determined by querying the sscProductSetting table for download files associated with products that the customer has purchased previously.

Returns:
A Collection of Maps, one for each file available for download by the customer.
Throws:
java.lang.Exception

saveCart

java.util.Map saveCart(java.util.Map parameters)
                       throws java.lang.Exception
Saves an Order in the database as a saved cart, with a status of "Saved", which a customer can pick up later.

Parameters:
parameters - A Map containing arguments, by default null.
Returns:
A Map with a key named "resultCode", equal to "0" if the result is successful.
Throws:
java.lang.Exception

loadSavedCarts

java.util.Collection loadSavedCarts()
                                    throws java.lang.Exception
Loads a customer's list of saved carts from the database. Saved carts are stored as incomplete orders in the sscOrder database table with a status of "Saved".

Returns:
A Collection of Order objects representing the customer's saved carts.
Throws:
java.lang.Exception

loadSavedCart

java.util.Map loadSavedCart(java.util.Map parameters)
                            throws java.lang.Exception
Loads a saved cart for a customer from the database, assigning it as the customer's current cart. Saved carts are stored as incomplete orders in the sscOrder database table with a status of "Saved".

Parameters:
parameters - A Map containing a key named orderID with the order id of a given order.
Returns:
A Map object containing the results of the reprocessing of the order, or null, if the refreshSaved Carts setting is false.
Throws:
java.lang.Exception

loadPreviousOrder

java.util.Map loadPreviousOrder(java.util.Map parameters)
                                throws java.lang.Exception
Loads a previously placed order for a customer from the database, assigning it as the customer's current cart.

Parameters:
parameters - A Map containing a key named orderID with the order id of a given order.
Returns:
A Map object containing the results of the reprocessing of the order, or null, if the refreshReorders setting is false
Throws:
java.lang.Exception

loadCustomersAndCount

java.util.Map loadCustomersAndCount(java.util.Map parameters)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

addCustomer

java.util.Map addCustomer(java.util.Map parameters)
                          throws java.lang.Exception
Throws:
java.lang.Exception

loadCustomerFromID

Customer loadCustomerFromID(java.util.Map parameters)
                            throws java.lang.Exception
Throws:
java.lang.Exception

editCustomer

java.util.Map editCustomer(java.util.Map parameters)
                           throws java.lang.Exception
Throws:
java.lang.Exception

editDeleteCustomers

void editDeleteCustomers(java.util.Map parameters)
                         throws java.lang.Exception
Throws:
java.lang.Exception

deleteCustomer

void deleteCustomer(java.util.Map parameters)
                    throws java.lang.Exception
Throws:
java.lang.Exception


Copyright © SoftSlate, LLC 2003–2005