java.lang.Object | +--CacheableCommandImpl | +--com.ibm.commerce.command.AbstractECTargetableCommand | +--com.ibm.commerce.command.TaskCommandImpl | +--com.ibm.commerce.couponredemption.commands.UseCouponIdTaskCmdImpl
This command is invoked when the shopper specifies a set of eCoupon codes
explicitly while checking out. First, this command check whether the specified
coupons belong to the shopper. If yes, then the CheckValidityCmd
command is called to find the eCoupons that are not expired. For the not
expired eCoupons, CheckApplicabilityCmd
command is called to find
out which eCoupons are applicable for this order. For applicable coupons,
CalculateDiscountAmtCmd
command is called to calculate the
discount amount and CouponDSSTaskCmd
command is called to check
for any conflict.
Field Summary | |
---|---|
protected
java.lang.Integer |
calculationUsage The calculation usage code. |
protected
java.util.Hashtable |
conflicts This hashtable stores the information about the conflict in the coupon selection. |
protected
java.lang.Long[] |
couponIds The couponIds to be processed. |
protected
java.lang.String |
currency The currency for this order. |
protected
java.lang.Integer |
errorCode Error code to indicate what was wrong with the selection. |
protected
java.util.Vector |
invalidCoupons IDs of the coupons that can not be applied to this order. |
protected
int |
numCoupons The number of coupons to be processed. |
protected
java.lang.Long |
orderId The order for which the coupons are to be found out |
protected
CommandContext |
processingContext The command context holder |
protected
TypedProperty |
requestProperties The request properties. |
protected
java.lang.Long |
shopperId ID of the shopper invoking the command. |
protected
java.lang.Integer |
storeId The store ID. |
protected
boolean |
validSelection True if coupons selected can be used together. |
protected
java.util.Vector |
vecInpCouponId |
protected
boolean |
virtualShopperMail The e-mail ID of the virtual shopper. |
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand |
commandContext |
Fields inherited from interface com.ibm.commerce.couponredemption.commands. UseCouponIdTaskCmd |
COPYRIGHT,
defaultCommandClassName,
Name |
Fields inherited from interface com.ibm.commerce.command. ECTargetableCommand |
COPYRIGHT |
Fields inherited from interface com.ibm.commerce.command. ECCommand |
defaultCommandClassName |
Constructor Summary | |
---|---|
UseCouponIdTaskCmdImpl() UseCouponIdCmdImpl constructor calls super. |
Method Summary | |
---|---|
boolean |
checkCouponIdShopperState() Returns true if the CouponId are for this shopper and in Usable state. |
java.lang.Integer |
getCalculationUsage() Returns the calculation usage code. |
java.util.Hashtable |
getConflicts() Returns the conflicts information. |
java.lang.Long[] |
getCouponIds() Returns the couponIds. |
java.lang.String |
getCurrency() Gets the currency. |
java.lang.Integer |
getErrorCode() Returns the error code. |
java.util.Vector |
getInvalidCoupons() Returns the invalid coupons. |
int |
getNumCoupons() Returns the number of coupons. |
java.lang.Long |
getOrderId() Gets the order ID. |
CommandContext |
getProcessingContext() Returns the processing context. |
TypedProperty |
getRequestProperties() Returns the request properties. |
java.lang.Long |
getShopperId() Gets the shopperId. |
void |
insertIntoDB(java.lang.Long orderId,
java.util.Hashtable couponHashtable) Inserts the coupon related information in the database. |
boolean |
isValidSelection() Returns true if the selection was valid. |
void |
performExecute() First, this this command check whether the specified coupons belong to the shopper. |
void |
removeExistingAdjustments(java.lang.Long anOrderId) Removes the existing adjustments for this order. |
void |
removeOldEntries() It removes the old entries from the TORCPMAP and TCPITMAP tables. |
void |
setCalculationUsage(java.lang.Integer newCalculationUsage) Sets the calculation usage. |
void |
setConflicts(java.util.Hashtable newConflicts) Sets the conflicts information. |
void |
setCouponIds(java.lang.Long[] newCouponIds) Sets the couponIds. |
void |
setCurrency(java.lang.String newCurrency) Sets the currency. |
void |
setErrorCode(java.lang.Integer newErrorCode) Sets the errorcode. |
void |
setInvalidCoupons(java.util.Vector newInvalidCoupons) Sets the invalidCoupons. |
void |
setKeepPrevious(boolean keepPrevious) Sets the removePrevious. |
void |
setNumCoupons(int newNumCoupons) Sets the number of coupons. |
void |
setOrderId(java.lang.Long newOrderId) Sets the order ID. |
void |
setProcessingContext(
CommandContext newProcessingContext) Sets the processing context. |
void |
setRequestProperties(
TypedProperty newRequestProperties) Sets the request properties. |
void |
setShopperId(java.lang.Long newShopperId) Sets the shopperId. |
void |
setValidSelection(boolean newValidSelection) Sets the validSelect field. |
void |
validateParameters() Extracts the couponIds to be used in the command from the request. |
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,
reset,
setAccCheck,
setCommandContext,
setCommandIfName,
setCommandStoreId,
setDefaultProperties |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait,
wait, wait |
Field Detail |
---|
protected java.util.Vector vecInpCouponId
protected java.util.Hashtable conflicts
protected CommandContext processingContext
protected java.lang.Long shopperId
protected java.lang.Integer storeId
protected java.lang.String currency
protected java.lang.Integer calculationUsage
protected java.lang.Long orderId
protected int numCoupons
protected java.lang.Long[] couponIds
protected java.lang.Integer errorCode
protected boolean validSelection
protected java.util.Vector invalidCoupons
protected TypedProperty requestProperties
protected boolean virtualShopperMail
Constructor Detail |
---|
public UseCouponIdTaskCmdImpl()
Method Detail |
---|
public boolean checkCouponIdShopperState() throws ECSystemException
CouponEmailMapAccessBean
for cpwalletId
and
shopperEmailId
fields.
ECSystemException
public java.lang.Integer getCalculationUsage()
public java.util.Hashtable getConflicts()
getConflicts
in interface
UseCouponIdTaskCmd
public java.lang.Long[] getCouponIds()
public java.lang.String getCurrency()
public java.lang.Integer getErrorCode()
getErrorCode
in interface
UseCouponIdTaskCmd
public java.util.Vector getInvalidCoupons()
getInvalidCoupons
in interface
UseCouponIdTaskCmd
public int getNumCoupons()
getNumCoupons
in interface
UseCouponIdTaskCmd
public java.lang.Long getOrderId()
public CommandContext getProcessingContext()
public TypedProperty getRequestProperties()
public java.lang.Long getShopperId()
public void insertIntoDB(java.lang.Long orderId, java.util.Hashtable couponHashtable) throws ECSystemException
TempOrderCouponMapAccessBean
for each coupon used for this order.
Then, create the TempCouponItemMapAccessBean
for each item for
coupon, with the discount amount information.
orderId
- The order for which the coupons are being
applied.com.ibm.commerce.exception.ECException.
ECSystemException
public boolean isValidSelection()
isValidSelection
in interface
UseCouponIdTaskCmd
public void performExecute() throws ECException
CheckValidityCmd
command is called to
find the eCoupons that are not expired. For the not expired eCoupons,
CheckApplicabilityCmd
command is called to find out which eCoupons
are applicable for this order. For applicable coupons,
CalculateDiscountAmtCmd
command is called to calculate the
discount amount and CouponDSSTaskCmd
command is called to check
for any conflict.
performExecute
in interface
ECCommand
performExecute
in class
AbstractECTargetableCommand
ECException
public void removeExistingAdjustments(java.lang.Long anOrderId) throws ECSystemException
anOrderId
- the order ID for which the adjustments are
removed.
ECSystemException
public void removeOldEntries() throws ECSystemException
com.ibm.commerce.exception.ECException.
ECSystemException
public void setCalculationUsage(java.lang.Integer newCalculationUsage)
newCalculationUsage
- the calculation
code.public void setConflicts(java.util.Hashtable newConflicts)
newConflicts
- hashtable containing the conflict
information.public void setCouponIds(java.lang.Long[] newCouponIds)
setCouponIds
in interface
UseCouponIdTaskCmd
newCouponIds
- the coupon IDs.public void setCurrency(java.lang.String newCurrency)
newCurrency
- the currency to be used.public void setErrorCode(java.lang.Integer newErrorCode)
newErrorCode
- the error code indicating the reason for the
coupons to be not applicable.public void setInvalidCoupons(java.util.Vector newInvalidCoupons)
newInvalidCoupons
- vector containing information about which
coupons are invalid.public void setNumCoupons(int newNumCoupons)
newNumCoupons
- number of coupons.public void setOrderId(java.lang.Long newOrderId)
setOrderId
in interface
UseCouponIdTaskCmd
newOrderId
- the order ID.public void setProcessingContext(CommandContext newProcessingContext)
newProcessingContext
- command context to be
used.public void setRequestProperties(TypedProperty newRequestProperties)
setRequestProperties
in interface
UseCouponIdTaskCmd
newRequestProperties
- the request
properties.public void setShopperId(java.lang.Long newShopperId)
setShopperId
in interface
UseCouponIdTaskCmd
newShopperId
- the shopper ID.public void setValidSelection(boolean newValidSelection)
newValidSelection
- true if the selection is
valid.public void validateParameters() throws ECException
validateParameters
in interface
ECCommand
validateParameters
in class
AbstractECTargetableCommand
ECException.
ECException
public void setKeepPrevious(boolean keepPrevious)
setKeepPrevious
in interface
UseCouponIdTaskCmd
keepPrevious
- The keepPrevious to set