com.logicboxes.foundation.sfnb.user
Class Customer

java.lang.Object
  extended by com.logicboxes.foundation.sfnb.user.Customer

public class Customer
extends java.lang.Object


Constructor Summary
Customer()
           
 
Method Summary
 int addCustomer(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String customerUserName, java.lang.String customerPassword, java.lang.String name, java.lang.String company, java.lang.String address1, java.lang.String address2, java.lang.String address3, java.lang.String city, java.lang.String state, java.lang.String country, java.lang.String zip, java.lang.String telNoCc, java.lang.String telNo, java.lang.String altTelNoCc, java.lang.String altTelNo, java.lang.String faxNoCc, java.lang.String faxNo, java.lang.String customerLangPref)
          Deprecated. 
 int authenticateCustomer(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String username, java.lang.String passwd)
          Authenticates customer using his username and password
 java.util.HashMap authenticateCustomerId(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String userLoginId)
          This method authenticates LoginID that is generated by 'login' method of Customer class.
 java.util.HashMap authenticateLoginID(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String loginID)
          This method authenticates loginID generated by generateLoginID method of Customer class.
 void changePassword(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, int customerId, java.lang.String newPasswd)
          Changes the password for the specified customer.
 java.lang.String createTemporaryPassword(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, int customerId)
          Creates new password for a customer who has forgotten the password.
 void delete(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, int customerId)
          Deletes a customer if there are no active orders.
 java.lang.String generateLoginID(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String ipAddress)
          This method generates LoginID for the Customer.
 int getCustomerId(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String customerUsername)
          This function returns the Customer id of an existing Customer.
 java.util.HashMap getDetailsByCustomerEmail(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String username, java.util.Vector option)
          Returns complete details by using customer's email address
 java.util.HashMap getDetailsByCustomerId(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, int customerId, java.util.Vector option)
          Returns complete details by using customerId for the specified Customer
 java.util.HashMap list(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, int[] customerId, int[] resellerId, java.lang.String username, java.lang.String name, java.lang.String company, java.lang.String city, java.lang.String country, java.lang.String[] customerStatus, java.lang.String creationDtStart, java.lang.String creationDtEnd, java.lang.String totalReceiptStart, java.lang.String totalReceiptEnd, int noOfRecords, int pageNo, java.lang.String[] orderBy)
          Lists all the customers under a particular reseller
 java.util.HashMap login(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String ipAddress, java.lang.String headers)
          This method generates loginID, which can be authenticated using authenticateCustomerId method.
 void mod(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, int customerId, java.lang.String userName, java.lang.String name, java.lang.String company, java.lang.String langpref, java.lang.String address1, java.lang.String address2, java.lang.String address3, java.lang.String city, java.lang.String state, java.lang.String country, java.lang.String zip, java.lang.String telNoCc, java.lang.String telNo, java.lang.String altTelNoCc, java.lang.String altTelNo, java.lang.String faxNoCc, java.lang.String faxNo, java.lang.String mobileNoCc, java.lang.String mobileNo)
          Used to modify the details of Customer
 void modDetails(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, int customerId, java.lang.String customerUserName, java.lang.String name, java.lang.String company, java.lang.String langpref, java.lang.String address1, java.lang.String address2, java.lang.String address3, java.lang.String city, java.lang.String state, java.lang.String country, java.lang.String zip, java.lang.String telNoCc, java.lang.String telNo, java.lang.String altTelNoCc, java.lang.String altTelNo, java.lang.String faxNoCc, java.lang.String faxNo)
          Deprecated. 
 boolean sendTemporaryPassword(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String emailAddr)
          Sends new temporary password to customer's email address.
 int signUp(java.lang.String SERVICE_USERNAME, java.lang.String SERVICE_PASSWORD, java.lang.String SERVICE_ROLE, java.lang.String SERVICE_LANGPREF, int SERVICE_PARENTID, java.lang.String userName, java.lang.String passwd, java.lang.String name, java.lang.String company, java.lang.String address1, java.lang.String address2, java.lang.String address3, java.lang.String city, java.lang.String stateName, java.lang.String country, java.lang.String zip, java.lang.String telNoCc, java.lang.String telNo, java.lang.String altTelNoCc, java.lang.String altTelNo, java.lang.String faxNoCc, java.lang.String faxNo, java.lang.String langpref, java.lang.String mobileNoCc, java.lang.String mobileNo)
          Adds new customer
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Customer

public Customer()
Method Detail

sendTemporaryPassword

public boolean sendTemporaryPassword(java.lang.String SERVICE_USERNAME,
                                     java.lang.String SERVICE_PASSWORD,
                                     java.lang.String SERVICE_ROLE,
                                     java.lang.String SERVICE_LANGPREF,
                                     int SERVICE_PARENTID,
                                     java.lang.String emailAddr)
Sends new temporary password to customer's email address. New password is created for security reasons . This temporary password is valid for 3 days and customer will have two valid passwords. Customer can change original password by loging through temporary password.

Parameters:
emailAddr - customers emailaddress to which new password will be sent if the customer forgets password.
Returns:
true/false depends on temporary password being sent or not
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

createTemporaryPassword

public java.lang.String createTemporaryPassword(java.lang.String SERVICE_USERNAME,
                                                java.lang.String SERVICE_PASSWORD,
                                                java.lang.String SERVICE_ROLE,
                                                java.lang.String SERVICE_LANGPREF,
                                                int SERVICE_PARENTID,
                                                int customerId)
Creates new password for a customer who has forgotten the password. New password is created for security reasons . This temporary password is valid for 3 days and customer will have two valid passwords. Customer can change original password by loging through temporary password.

Parameters:
customerId - customer Id for which new password will be created
Returns:
string temporary password
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

getCustomerId

public int getCustomerId(java.lang.String SERVICE_USERNAME,
                         java.lang.String SERVICE_PASSWORD,
                         java.lang.String SERVICE_ROLE,
                         java.lang.String SERVICE_LANGPREF,
                         int SERVICE_PARENTID,
                         java.lang.String customerUsername)
This function returns the Customer id of an existing Customer.

Parameters:
customerUsername - username for which customerId is to be returned
Returns:
int Customer Id. Customer id of an existing Customer
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

getDetailsByCustomerId

public java.util.HashMap getDetailsByCustomerId(java.lang.String SERVICE_USERNAME,
                                                java.lang.String SERVICE_PASSWORD,
                                                java.lang.String SERVICE_ROLE,
                                                java.lang.String SERVICE_LANGPREF,
                                                int SERVICE_PARENTID,
                                                int customerId,
                                                java.util.Vector option)
Returns complete details by using customerId for the specified Customer

Parameters:
customerId - numeric customerId assigned to the customer.
option - the various details that are required for the Customer.

Valid entries are:

All Profile Others

Returns:
HashMap A HashMap with the following information:

customerid=123 name=Customer company=FAPI parentkey=1 emailaddr=customer@fapi.com address1=Somewhere address2= address3= city=Someplace state= country=SH zip=12345 telnocc=123 telno=135435456 faxnocc= faxno= langpref=en customerstatus=Active totalreceipts=20

Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

getDetailsByCustomerEmail

public java.util.HashMap getDetailsByCustomerEmail(java.lang.String SERVICE_USERNAME,
                                                   java.lang.String SERVICE_PASSWORD,
                                                   java.lang.String SERVICE_ROLE,
                                                   java.lang.String SERVICE_LANGPREF,
                                                   int SERVICE_PARENTID,
                                                   java.lang.String username,
                                                   java.util.Vector option)
Returns complete details by using customer's email address

Parameters:
username - string email address of the customer.
option - the various details that are required for the Customer. Valid entries are:

All Profile Others

Returns:
A HashMap with the following information:

customerid=123 name=Customer company=FAPI parentkey=1 emailaddr=customer@fapi.com address1=Somewhere address2= address3= city=Someplace state= country=SH zip=12345 telnocc=123 telno=135435456 faxnocc= faxno= langpref=en customerstatus=Active totalreceipts=20

Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

authenticateCustomer

public int authenticateCustomer(java.lang.String SERVICE_USERNAME,
                                java.lang.String SERVICE_PASSWORD,
                                java.lang.String SERVICE_ROLE,
                                java.lang.String SERVICE_LANGPREF,
                                int SERVICE_PARENTID,
                                java.lang.String username,
                                java.lang.String passwd)
Authenticates customer using his username and password

Parameters:
username - username to be authenticate
passwd - password to be authenticate (password should be min 6 digit)
Returns:
customerID if authentication successful otherwise throws exception
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

authenticateCustomerId

public java.util.HashMap authenticateCustomerId(java.lang.String SERVICE_USERNAME,
                                                java.lang.String SERVICE_PASSWORD,
                                                java.lang.String SERVICE_ROLE,
                                                java.lang.String SERVICE_LANGPREF,
                                                int SERVICE_PARENTID,
                                                java.lang.String userLoginId)
This method authenticates LoginID that is generated by 'login' method of Customer class. Method checks if the LoginID passed belongs to that Customer. If it does returns the customer details else will throw Exception

Parameters:
userLoginId - - LoginID generated using Login method of Customer class.
Returns:
Customer Details if the loginID is authenticated.
Throws:
LogicBoxesException - If the loginID does not match with that customer

login

public java.util.HashMap login(java.lang.String SERVICE_USERNAME,
                               java.lang.String SERVICE_PASSWORD,
                               java.lang.String SERVICE_ROLE,
                               java.lang.String SERVICE_LANGPREF,
                               int SERVICE_PARENTID,
                               java.lang.String ipAddress,
                               java.lang.String headers)
This method generates loginID, which can be authenticated using authenticateCustomerId method. Use this method if you want to maintain a history of customer logins.

Parameters:
ipAddress - IP Address of the Customer
headers - HTTP Header
Returns:
loginID
Throws:
SqlException
LogicBoxesException

authenticateLoginID

public java.util.HashMap authenticateLoginID(java.lang.String SERVICE_USERNAME,
                                             java.lang.String SERVICE_PASSWORD,
                                             java.lang.String SERVICE_ROLE,
                                             java.lang.String SERVICE_LANGPREF,
                                             int SERVICE_PARENTID,
                                             java.lang.String loginID)
This method authenticates loginID generated by generateLoginID method of Customer class. Method checks if the LoginID passed belongs to that Customer. If it does returns the customer details else will throw Exception

Parameters:
loginID - Temporarily valid LoginID generated using generateLoginID() method of Customer class.
Returns:
Customer Details if the loginID is authenticated.
Throws:
LogicBoxesException

generateLoginID

public java.lang.String generateLoginID(java.lang.String SERVICE_USERNAME,
                                        java.lang.String SERVICE_PASSWORD,
                                        java.lang.String SERVICE_ROLE,
                                        java.lang.String SERVICE_LANGPREF,
                                        int SERVICE_PARENTID,
                                        java.lang.String ipAddress)
This method generates LoginID for the Customer. Use this method if you do not want to maintain login history of the customer.

Parameters:
ipAddress - IP Address of the Customer
Returns:
loginID
Throws:
LogicBoxesException

list

public java.util.HashMap list(java.lang.String SERVICE_USERNAME,
                              java.lang.String SERVICE_PASSWORD,
                              java.lang.String SERVICE_ROLE,
                              java.lang.String SERVICE_LANGPREF,
                              int SERVICE_PARENTID,
                              int[] customerId,
                              int[] resellerId,
                              java.lang.String username,
                              java.lang.String name,
                              java.lang.String company,
                              java.lang.String city,
                              java.lang.String country,
                              java.lang.String[] customerStatus,
                              java.lang.String creationDtStart,
                              java.lang.String creationDtEnd,
                              java.lang.String totalReceiptStart,
                              java.lang.String totalReceiptEnd,
                              int noOfRecords,
                              int pageNo,
                              java.lang.String[] orderBy)
Lists all the customers under a particular reseller

Parameters:
customerId - Array of CustomerIds whose details are to be listed
resellerId - Array of Sub - Reseller's Ids whose Customer's details are to be listed
username - The Customer userName Does an exact search by default. For doing special searches use the % wildcard character. Eg. %username%
name - The Name of the Customer Does an exact search by default. For doing special searches use the % wildcard character. Eg. %name%
company - CompanyName Does an exact search by default. For doing special searches use the % wildcard character. Eg. %company%
city - City
country - Country Code i.e. IN for India
customerStatus - Possible Values are Active,Suspended
creationDtStart - UNIX TimeStamp (epoch) for listing Orders created after creationDTRangStart(required field)
creationDtEnd - UNIX TimeStamp (epoch) for listing Orders created before creationDTRangEnd (required field)
totalReceiptStart - Total Receipts start value in selling currency (required field)
totalReceiptEnd - Total Receipts end value in selling currency (required field)
noOfRecords - No. of Records to be returned. (required field) should be minimum 10
pageNo - page number to be displayed. (required field) i.e. 1
orderBy - Possible values are customer.customerid, customer.name, customer.username, customer.company, customer.customerstatus
Returns:
A HashMap with a list of Customer Details
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

addCustomer

@Deprecated
public int addCustomer(java.lang.String SERVICE_USERNAME,
                                  java.lang.String SERVICE_PASSWORD,
                                  java.lang.String SERVICE_ROLE,
                                  java.lang.String SERVICE_LANGPREF,
                                  int SERVICE_PARENTID,
                                  java.lang.String customerUserName,
                                  java.lang.String customerPassword,
                                  java.lang.String name,
                                  java.lang.String company,
                                  java.lang.String address1,
                                  java.lang.String address2,
                                  java.lang.String address3,
                                  java.lang.String city,
                                  java.lang.String state,
                                  java.lang.String country,
                                  java.lang.String zip,
                                  java.lang.String telNoCc,
                                  java.lang.String telNo,
                                  java.lang.String altTelNoCc,
                                  java.lang.String altTelNo,
                                  java.lang.String faxNoCc,
                                  java.lang.String faxNo,
                                  java.lang.String customerLangPref)
Deprecated. 

Adds new customer

Parameters:
customerUserName - UserName of the customer
customerPassword - Password
name - Name OF Customer
company - Name Of the company
address1 - Address line1
address2 - Address line2
address3 - Address line3
city - City
state - State
country - Country Code i.e. IN for India
zip - zipcode
telNoCc - telephone no country code e.g. 91
telNo - telephone no. e.g. 9892478335
altTelNoCc - alternate telephone no country code
altTelNo - alternate telephone no.
faxNoCc - fax no. country code
faxNo - fax no.
customerLangPref - Language code for the language that customer wants to see in the interface in. e.g. en for English Language
Returns:
customerId The Customer Id of the newly added Customer.
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

modDetails

@Deprecated
public void modDetails(java.lang.String SERVICE_USERNAME,
                                  java.lang.String SERVICE_PASSWORD,
                                  java.lang.String SERVICE_ROLE,
                                  java.lang.String SERVICE_LANGPREF,
                                  int SERVICE_PARENTID,
                                  int customerId,
                                  java.lang.String customerUserName,
                                  java.lang.String name,
                                  java.lang.String company,
                                  java.lang.String langpref,
                                  java.lang.String address1,
                                  java.lang.String address2,
                                  java.lang.String address3,
                                  java.lang.String city,
                                  java.lang.String state,
                                  java.lang.String country,
                                  java.lang.String zip,
                                  java.lang.String telNoCc,
                                  java.lang.String telNo,
                                  java.lang.String altTelNoCc,
                                  java.lang.String altTelNo,
                                  java.lang.String faxNoCc,
                                  java.lang.String faxNo)
Deprecated. 

Modifies a Customer's profile using the details provided.

Parameters:
customerId - The Customer whose details are to be modified.
customerUserName - UserName of the customer
name - Name of the customer
company - company name
langpref - language Prefrence i.e. language code e.g. en for English
address1 - address line1
address2 - address line2
address3 - address line3
city - city
state - state
country - country code i.e. IN for India
zip - zipcode
telNoCc - country code for telephone number i.e. 91 for India
telNo - telephone number
altTelNoCc - country code for alternate telephone no.
altTelNo - alternate telephone no.
faxNoCc - country code for fax no.
faxNo - fax no.
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

changePassword

public void changePassword(java.lang.String SERVICE_USERNAME,
                           java.lang.String SERVICE_PASSWORD,
                           java.lang.String SERVICE_ROLE,
                           java.lang.String SERVICE_LANGPREF,
                           int SERVICE_PARENTID,
                           int customerId,
                           java.lang.String newPasswd)
Changes the password for the specified customer.

Parameters:
customerId - The Customer whose password is to be modified.
newPasswd - modified password. (password should be min 6 digit)
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

signUp

public int signUp(java.lang.String SERVICE_USERNAME,
                  java.lang.String SERVICE_PASSWORD,
                  java.lang.String SERVICE_ROLE,
                  java.lang.String SERVICE_LANGPREF,
                  int SERVICE_PARENTID,
                  java.lang.String userName,
                  java.lang.String passwd,
                  java.lang.String name,
                  java.lang.String company,
                  java.lang.String address1,
                  java.lang.String address2,
                  java.lang.String address3,
                  java.lang.String city,
                  java.lang.String stateName,
                  java.lang.String country,
                  java.lang.String zip,
                  java.lang.String telNoCc,
                  java.lang.String telNo,
                  java.lang.String altTelNoCc,
                  java.lang.String altTelNo,
                  java.lang.String faxNoCc,
                  java.lang.String faxNo,
                  java.lang.String langpref,
                  java.lang.String mobileNoCc,
                  java.lang.String mobileNo)
Adds new customer

Parameters:
userName - UserName of the customer
passwd - Password
name - Name OF Customer
company - Name Of the company
address1 - Address line1
address2 - Address line2
address3 - Address line3
city - City
stateName - State
country - Country
zip - zipcode
telNoCc - telephone no country code e.g. 91
telNo - telephone no. e.g. 9892478335
altTelNoCc - alternate telephone no country code
altTelNo - alternate telephone no.
faxNoCc - fax no. country code
faxNo - fax no.
langpref - Language code for the language customer want to see in the interface in. e.g. en for English Language.h
mobileNoCc - mobile no. country code
mobileNo - mobile no.
Returns:
customerId The Customer Id of the newly added Customer.
Throws:
LogicBoxesException

mod

public void mod(java.lang.String SERVICE_USERNAME,
                java.lang.String SERVICE_PASSWORD,
                java.lang.String SERVICE_ROLE,
                java.lang.String SERVICE_LANGPREF,
                int SERVICE_PARENTID,
                int customerId,
                java.lang.String userName,
                java.lang.String name,
                java.lang.String company,
                java.lang.String langpref,
                java.lang.String address1,
                java.lang.String address2,
                java.lang.String address3,
                java.lang.String city,
                java.lang.String state,
                java.lang.String country,
                java.lang.String zip,
                java.lang.String telNoCc,
                java.lang.String telNo,
                java.lang.String altTelNoCc,
                java.lang.String altTelNo,
                java.lang.String faxNoCc,
                java.lang.String faxNo,
                java.lang.String mobileNoCc,
                java.lang.String mobileNo)
Used to modify the details of Customer

Parameters:
customerId - ID of Customer
userName - UserName of the customer
name - Name of Customer
company - Name of Company
langpref - Language code for the language customer want to see in the interface in. e.g. en for English Language.h
address1 - Address line1
address2 - Address line2
address3 - Address line3
city - City
state - State
country - Country
zip - zipcode
telNoCc - telephone no country code e.g. 91
telNo - telephone no. e.g. 9892478335
altTelNoCc - alternate telephone no country code
altTelNo - alternate telephone no.
faxNoCc - fax no. country code
faxNo - fax no.
mobileNoCc - mobile no. country code
mobileNo - mobile no.
Throws:
LogicBoxesException

delete

public void delete(java.lang.String SERVICE_USERNAME,
                   java.lang.String SERVICE_PASSWORD,
                   java.lang.String SERVICE_ROLE,
                   java.lang.String SERVICE_LANGPREF,
                   int SERVICE_PARENTID,
                   int customerId)
Deletes a customer if there are no active orders.

Parameters:
customerId -
Throws:
LogicBoxesException