java.lang.Object | +--CacheableCommandImpl | +--com.ibm.commerce.command.AbstractECTargetableCommand | +--com.ibm.commerce.command.TaskCommandImpl | +--com.ibm.commerce.command.BusinessPolicyCommandImpl | +--com.ibm.commerce.payment.commands.DoRefundCLCmdImpl
This
DoRefundPolicy
business policy command implementation class is
the default implementation class for refunding payment for CreditLine.
(The original payment method of the Order may be different)
Parameters:
Parameter Name | Type | Descriptions |
abRMA | RMAAccessBean | The RMAAccessBean for the Return Merchandise Authorization (RMA) record |
abOrder | OrderAccessBean | The OrderAccessBean of the order associated with the RMA |
bdRefundAmount | BigDecimal | The amount of the refund in the currency of the Order. |
errorViewName | String | Optional error view name passed in by the Caller. |
Behavior:
Default Error View Name:
ErrorCodes:
PaymentConstants.ERR_CODE_CURRENCY_CONVERT_FAIL
(1961) -
Currency conversion not available or failed.PaymentConstants.ERR_CODE_CREDIT_LINE_NOT_AVAILABLE
(1981) -
Credit Line not available or no longer active.This command uses the following AccessBeans:
AccountAccessBean
CreditLineAccessBean
OrderAccessBean
OrderPaymentMethodAccessBean
RMAAccessBean
StoreAccessBean
TradingAgreementAccessBean
This command does not call other TaskCommand.
Field Summary |
---|
Fields inherited from class com.ibm.commerce.command. BusinessPolicyCommandImpl |
policyId,
requestProperties |
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand |
commandContext |
Fields inherited from interface com.ibm.commerce.payment.commands. DoRefundPolicyCmd |
COPYRIGHT,
defaultCommandClassName,
ERRTASK_NAME,
NAME |
Fields inherited from interface com.ibm.commerce.command. ECTargetableCommand |
COPYRIGHT |
Fields inherited from interface com.ibm.commerce.command. ECCommand |
defaultCommandClassName |
Constructor Summary | |
---|---|
DoRefundCLCmdImpl() |
Method Summary | |
---|---|
protected
void |
checkCurrencyAndGetChargeAmount() Checks the currency of the Order and the Store default currency. |
protected
AccountAccessBean |
getAccount() Returns the AccountAccessBean representing the Account associated with the trading agreement specified by the RMA (Return Merchandise Authorization). |
protected
java.lang.Long |
getAccountId() Returns the ID of the Account associated with the trading agreement specified by the RMA (Return Merchandise Authorization). |
protected
java.math.BigDecimal |
getChargeAmount() Returns the charge amount. |
protected
java.lang.String |
getChargeAmountCurrency() Returns the currency of the charge amount. |
protected
java.lang.String |
getErrorViewName() Returns the name of the error view to use for reporting error. |
protected
OrderAccessBean |
getOrder() Returns the OrderAccessBean representing the Order. |
protected
java.math.BigDecimal |
getRefundAmount() Returns the refund amount. |
protected
RMAAccessBean |
getRMA() Returns the RMA AccessBean representing the Return Merchandise Authorization record that authorizes the return of the merchandise. |
boolean |
isReadyToCallExecute() This method is called by the Command Framework to check if all basic mandatory parameters have been set for this command. |
void |
performExecute() Performs the main business logic of the command. |
void |
reset() Resets the instance variables of the command. |
protected
void |
retrieveActiveAccountIdFromOrder() Retrieves the Account ID from the Trading Agreement associated with the RMA (Return Merchandise Authorization). |
protected
void |
setAccountId(java.lang.Long nAccountId) Sets the nAccountId property of the command. |
protected
void |
setChargeAmount(java.math.BigDecimal nChargeAmount) Sets the chargeAmount property of the command. |
protected
void |
setChargeAmountCurrency(java.lang.String sCurrency) Sets the chargeAmountCurrency property of the command. |
void |
setErrorViewName(java.lang.String sEVN) Sets the error view to be used to report error. |
void |
setOrder(
OrderAccessBean ab) Sets the order property of the command. |
void |
setRefundAmount(java.math.BigDecimal refundAmount) Sets the refundAmount property of the command. |
void |
setRMA(
RMAAccessBean ab) Sets the RMA AccessBean representing the Return Merchandise Authorization record that authorizes the return of the merchandise.. |
protected
void |
updateOrderPaymentMethod() Updates the ORDPAYMTHD table with refund information. |
Methods inherited from class com.ibm.commerce.command. BusinessPolicyCommandImpl |
getPolicyId,
getRequestProperties,
setPolicyId,
setRequestProperties |
Methods inherited from class com.ibm.commerce.command. AbstractECTargetableCommand |
accessControlCheck,
checkIsAllowed,
checkParameters,
checkResourcePermission,
createCommandExecutionEvent,
execute,
finalize,
getAccCheck,
getCommandContext,
getCommandIfName,
getCommandName,
getCommandStoreId,
getDefaultProperties,
getResources,
getStoreId,
getUser,
getUserId,
setAccCheck,
setCommandContext,
setCommandIfName,
setCommandStoreId,
setDefaultProperties,
validateParameters |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait,
wait, wait |
Methods inherited from interface com.ibm.commerce.command. BusinessPolicyCommand |
getPolicyId,
getRequestProperties,
setPolicyId,
setRequestProperties |
Constructor Detail |
---|
public DoRefundCLCmdImpl()
Method Detail |
---|
protected void checkCurrencyAndGetChargeAmount() throws javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException, java.rmi.RemoteException, ECException
javax.ejb.CreateException
javax.ejb.FinderException
javax.naming.NamingException
java.rmi.RemoteException
ECException
protected AccountAccessBean getAccount()
protected java.lang.Long getAccountId()
protected java.math.BigDecimal getChargeAmount()
The charge amount is the refund amount converted to the default currency of the Store. If the default currency of the Store is the same as the currency of the order, then the charge amount is the same as the refund amount.
protected java.lang.String getChargeAmountCurrency()
getChargeAmount
protected java.lang.String getErrorViewName()
protected OrderAccessBean getOrder()
protected java.math.BigDecimal getRefundAmount()
protected RMAAccessBean getRMA()
public boolean isReadyToCallExecute()
isReadyToCallExecute
in class
AbstractECTargetableCommand
public void performExecute() throws ECException
performExecute
in interface
ECCommand
performExecute
in class
AbstractECTargetableCommand
ECException
public void reset()
This is useful if the command instance is to be called multiple times with different command parameters.
reset
in class
AbstractECTargetableCommand
protected void retrieveActiveAccountIdFromOrder() throws javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException, java.rmi.RemoteException, ECException
javax.ejb.CreateException
javax.ejb.FinderException
javax.naming.NamingException
java.rmi.RemoteException
ECException
protected void setAccountId(java.lang.Long nAccountId)
nAccountId
- the Account ID.retrieveActiveAccountIdFromOrder
protected void setChargeAmount(java.math.BigDecimal nChargeAmount)
The chargeAmount is the refund amount converted to the default currency of the Store.
nChargeAmount
- the amount to be refunded converted to the
default currency of the Storeprotected void setChargeAmountCurrency(java.lang.String sCurrency)
sCurrency
- the alpha currency currency code representing the
currency of the charge amountpublic void setErrorViewName(java.lang.String sEVN)
setErrorViewName
in interface
DoRefundPolicyCmd
sEVN
- the Error View nameDoRefundPolicyCmd.ERRTASK_NAME
public void setOrder(OrderAccessBean ab)
setOrder
in interface
DoRefundPolicyCmd
ab
- the OrderAccessBean representing the Order associated
with the Return Merchandise Authorization.public void setRefundAmount(java.math.BigDecimal refundAmount)
setRefundAmount
in interface
DoRefundPolicyCmd
refundAmount
- the amount to be refunded.public void setRMA(RMAAccessBean ab)
setRMA
in interface
DoRefundPolicyCmd
ab
- the RMAAccessBeanprotected void updateOrderPaymentMethod() throws javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException, java.rmi.RemoteException
Creates a new ORDPAYMTHD record for the order with ORDPAYMTHD.refundNumber set to the RMA ID and ORDPAYMTHD.actualAmount set to the negative of the refund amount. Similarly, ORDPAYMTHD.chargeAmount is set to the negative of the refund amount converted to the default currency of the Store.
javax.ejb.CreateException
javax.ejb.FinderException
javax.naming.NamingException
java.rmi.RemoteException