com.ibm.commerce.couponredemption.commands
Class FinalizeCouponUsageCmdImpl

java.lang.Object
  CacheableCommandImpl
      com.ibm.commerce.command.AbstractECTargetableCommand
          com.ibm.commerce.command.TaskCommandImpl
              com.ibm.commerce.command.BusinessPolicyCommandImpl
                  com.ibm.commerce.order.calculation.CalculationCmdImpl
                      com.ibm.commerce.couponredemption.commands.FinalizeCouponUsageCmdImpl
All Implemented Interfaces:
BusinessPolicyCommand, CalculationCmd, ECCommand, ECTargetableCommand, FinalizeCalculationUsageCmd, TaskCommand

public class FinalizeCouponUsageCmdImpl
extends CalculationCmdImpl
implements FinalizeCalculationUsageCmd

This is a task command that is invoked from ORDERPROCESS command to mark all the eCoupons as unusable that are used in the current order preparation.

The cpwalletId is found out for the current orderId from ORCPMAP table. Then for each cpwalletId the number of time this coupon has been used is increamented. If the number of times this coupon has been used has reached the limit specified, then th eCoupon is marked as "Not Usable" in the CouponWalletAccessBean for the current cpwalletId.

See Also:
Serialized Form

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.order.calculation.FinalizeCalculationUsageCmd
NAME
Fields inherited from interface com.ibm.commerce.command.ECCommand
defaultCommandClassName
Constructor Summary
FinalizeCouponUsageCmdImpl()
FinalizeCouponUsageCmdImpl constructor, call super .
Method Summary
OrderAccessBean getOrder()
Gets the access bean representing the order.
OrderItemAccessBean[] getOrderItems()
Gets the access bean representing the order items.
void performExecute()
The cpwalletId is found out for the current orderId from ORCPMAP table.
void reset()
Resets the command properties.
void setOrder(OrderAccessBean newOrder)
Sets the access bean representing the order.
void setOrderItems(OrderItemAccessBean[] newOrderItems)
Sets the access bean representing the order items.
Methods inherited from class com.ibm.commerce.order.calculation.CalculationCmdImpl
createCommand, getCurrency, getCustomProperties, getCustomProperty, getTimestamp, getUsageId, recycleCommand, setCurrency, setCustomProperties, setCustomProperty, setTimestamp, setUsageId
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, isReadyToCallExecute, 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.order.calculation.CalculationCmd
getCurrency, getCustomProperties, getCustomProperty, getTimestamp, getUsageId, setCurrency, setCustomProperties, setCustomProperty, setTimestamp, setUsageId
Methods inherited from interface com.ibm.commerce.command.BusinessPolicyCommand
getPolicyId, getRequestProperties, setPolicyId, setRequestProperties

Constructor Detail

FinalizeCouponUsageCmdImpl

public FinalizeCouponUsageCmdImpl()
FinalizeCouponUsageCmdImpl constructor, call super .
Method Detail

reset

public void reset()
Resets the command properties. Prepares the command for re-execution.
Overrides:
reset in class CalculationCmdImpl
See Also:
com.ibm.websphere.command.Command#reset()

getOrder

public OrderAccessBean getOrder()
Gets the access bean representing the order.
Returns:
access bean representing the order.

getOrderItems

public OrderItemAccessBean[] getOrderItems()
Gets the access bean representing the order items.
Returns:
Array of accessbeans representing the order items.

performExecute

public void performExecute()
                    throws ECException

The cpwalletId is found out for the current orderId from ORCPMAP table. Then for each cpwalletId the number of time this coupon has been used is increamented. If the number of times this coupon has been used has reached the limit specified, then th eCoupon is marked as "Not Usable" in the CouponWalletAccessBean for the current cpwalletId.

Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
: - com.ibm.commerce.exception.ECException.
ECException

setOrder

public void setOrder(OrderAccessBean newOrder)
Sets the access bean representing the order.
Specified by:
setOrder in interface FinalizeCalculationUsageCmd
Parameters:
newOrder - access bean representing the order.

setOrderItems

public void setOrderItems(OrderItemAccessBean[] newOrderItems)
Sets the access bean representing the order items.
Specified by:
setOrderItems in interface FinalizeCalculationUsageCmd
Parameters:
newOrderItems - Array of accessbeans representing the order items.

Feedback