public class ProcessOrderCmdImpl extends TaskCommandImpl implements ProcessOrderCmd
Behaviour
Constructor and Description |
---|
ProcessOrderCmdImpl() |
Modifier and Type | Method and Description |
---|---|
protected java.math.BigDecimal | checkOrderAndItemTotals()
This method performs validation for order totals and order Item totals.
|
void | createOrderLineAuditRecord()
Create an audit record which stores the count of order items in this order.
|
java.lang.String | getAvailabilityChangeURL()
This method gets the URL to redirect to when the estimated availability time plus the shipping offset is more than the time interval.
|
java.lang.Long | getBillToRn()
Gets the reference number of the address to bill.
|
java.lang.String | getExternalPassword()
Gets the external password
|
java.lang.String | getExternalUserId()
Gets the external user id
|
java.lang.Integer | getField1()
Gets merchant-customizable field one.
|
java.math.BigDecimal | getField2()
Gets merchant-customizable field two.
|
java.lang.String | getField3()
Gets merchant-customizable field three.
|
protected java.math.BigDecimal | getInitialAmount()
This method gets the initial payment amount used for Payment actions during EDP PrimePayment.
|
java.lang.Long | getMaxAvailabilityChange()
Gets the time interval, in seconds, used with the url set by the setAvailabilityChangeURL method.
|
protected java.lang.Integer | getMsgtypeIdByName(java.lang.String msgtypename)
Resolve the msgtypes ID by the name.
|
java.lang.String | getNoInventoryURL()
Gets the URL to redirect to if any of the order items in the order cannot be allocated or backordered.
|
java.util.Hashtable | getNotificationAttributes()
This method gets the attributes for order notification
|
java.lang.Short | getNotifyMerchant()
Determines whether the store should be notified when the order processing is complete.
|
java.lang.Short | getNotifyOrderSubmitted()
Determines whether the customer should be notified when the order is successfully submitted for processing.
|
java.lang.Short | getNotifyShopper()
Determines whether the customer should be notified when the order processing is complete.
|
OrderAccessBean | getOrder()
This method returns the order specified.
|
java.lang.Long | getOrderRn()
Gets the order reference number.
|
protected TypedProperty | getPayNVPsFromRequestProperties()
This method gets the payment name value pairs from request properties.
|
java.lang.String | getPoNumber()
This method gets the parameter PO number
|
java.lang.String | getQuotationSubmission()
Gets the quotationSubmission parameter.
|
java.lang.String | getQuoteExpiredURL()
Gets the URL to redirect to if the order total expired in agreement with the expiry policy set by the setQuoteExpiryPolicy method.
|
java.lang.String | getQuoteExpiryPolicy()
Gets the policy which determines the command behavior if the order total expires or an order item's fulfillment center changes during inventory allocation.
|
java.lang.String | getReduceParentQuantities()
Gets the reduceParentQuantities parameter.
|
TypedProperty | getResponseProperties()
Gets the response properties object for the calling controller command to use.
|
protected java.math.BigDecimal | getTotalAmount()
This method gets the total payment amount of the order for EDP PrimePayment.
|
protected java.lang.String | getTransferMode()
This method gets the transferMode property of the command.
|
protected boolean | handleOrderFraud(OrderAccessBean anabOrder)
This method could be override by customizing DetectOrderFraudCmd logic.
|
boolean | isReadyToCallExecute()
Checks the validity of the parameters
|
protected void | mergeShopperPayInfo(OrderAccessBean aabOrder)
This is a helper method that merges the ShopperPay information
|
protected boolean | needProcessPayment() |
protected void | notifyShopper(java.lang.Integer messageType)
This method sends order notification to shopper.
|
protected int | paymentAndReleaseRelationshipEnabled()
This method returns a flag indicating if the feature of "build relationship between payment and release" is enabled.
|
void | performExecute()
This method performs the business logic of the command.
|
protected java.lang.String | processEDPResults(java.util.ArrayList msgList, EDPResults edpResults, java.util.Map errorMessageMap)
This method processes the payment results.
|
void | reset()
This method should be called after a command has been executed to reset its states variables.
|
void | setAvailabilityChangeURL(java.lang.String newAvailabilityChangeURL)
This method sets the URL to redirect to when the estimated availability time plus the shipping offset is more than the time interval.
|
void | setBillToRn(java.lang.Long anBillToRn)
This method sets the reference number of the address to bill.
|
void | setExternalPassword(java.lang.String astrExternalPassword)
Sets the external password
|
void | setExternalUserId(java.lang.String astrExternalUserId)
Sets the external user id
|
void | setField1(java.lang.Integer anField1)
This method sets merchant-customizable field one.
|
void | setField2(java.math.BigDecimal adField2)
This method sets merchant-customizable field two.
|
void | setField3(java.lang.String astrField3)
This method sets merchant-customizable field three.
|
void | setMaxAvailabilityChange(java.lang.Long newMaxAvailabilityChange)
This method sets the time interval, in seconds, used with the url set by the setAvailabilityChangeURL method.
|
void | setNoInventoryURL(java.lang.String newNoInventoryURL)
This method sets the URL to redirect to if any of the order items in the order cannot be allocated or backordered.
|
void | setNotificationAttributes(java.util.Hashtable aNotificationAttributes)
This method sets the attributes for order notification
|
void | setNotifyMerchant(java.lang.Short newNotifyMerchant)
This method specifies whether to notify the merchant when the order has been processed.
|
void | setNotifyOrderSubmitted(java.lang.Short newNotifyOrderSubmitted)
This method specifies whether the customer should be notified when the order is successfully submitted for processing.
|
void | setNotifyShopper(java.lang.Short newNotifyShopper)
This method specifies whether to notify the shopper when the order has been processed.
|
void | setOrderRn(java.lang.Long anOrderRn)
This method sets the order reference number.
|
void | setPoNumber(java.lang.String argPoNumber)
This method sets the parameter PO number
|
void | setQuotationSubmission(java.lang.String astrQuotationSubmission)
This method sets the quotationSubmission parameter.
|
void | setQuoteExpiredURL(java.lang.String newQuoteExpiredURL)
This method sets the URL to redirect to if the order total expired in agreement with the expiry policy set by the setQuoteExpiryPolicy method.
|
void | setQuoteExpiryPolicy(java.lang.String newQuoteExpiryPolicy)
This method sets the behavior of the command if the order total expires or an order item's fulfillment center changes during inventory allocation.
|
void | setReduceParentQuantities(java.lang.String astrReduceParentQuantities)
This method sets the reduceParentQuantities parameter.
|
void | setRequestProperties(TypedProperty aRequestProperties)
This method sets request Properties.
|
void | setResponseProperties(TypedProperty aResponseProperties)
This method sets the response properties object for the calling controller command to use.
|
void | setTransferMode(java.lang.String transferMode)
This method sets the transferMode property of the command.
|
void | validateOrderPITotalAmount()
Check if PI total amount matches order total amount.
|
void | validateParameters()
This method performs server side parameter checking.
|
public java.lang.String getAvailabilityChangeURL()
public java.lang.Long getBillToRn()
public java.lang.Integer getField1()
public java.math.BigDecimal getField2()
public java.lang.String getField3()
public java.lang.Long getMaxAvailabilityChange()
public java.lang.String getNoInventoryURL()
public java.lang.Short getNotifyMerchant()
public java.lang.Short getNotifyOrderSubmitted()
public java.lang.Short getNotifyShopper()
public java.lang.String getQuotationSubmission()
public java.lang.Long getOrderRn()
public java.lang.String getExternalUserId()
public void setExternalUserId(java.lang.String astrExternalUserId)
public java.lang.String getExternalPassword()
public void setExternalPassword(java.lang.String astrExternalPassword)
protected TypedProperty getPayNVPsFromRequestProperties()
public java.lang.String getQuoteExpiredURL()
public java.lang.String getQuoteExpiryPolicy()
public java.lang.String getReduceParentQuantities()
public TypedProperty getResponseProperties()
public boolean isReadyToCallExecute()
protected void mergeShopperPayInfo(OrderAccessBean aabOrder) throws ECException, javax.naming.NamingException, javax.ejb.FinderException, java.rmi.RemoteException, javax.ejb.CreateException
protected java.lang.Integer getMsgtypeIdByName(java.lang.String msgtypename) throws java.rmi.RemoteException, javax.ejb.FinderException, javax.naming.NamingException, javax.ejb.CreateException
public void validateOrderPITotalAmount() throws ECException, java.rmi.RemoteException, javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException
public void createOrderLineAuditRecord() throws java.rmi.RemoteException, javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException, java.sql.SQLException
public void performExecute() throws ECException
protected boolean needProcessPayment() throws ECException
public void reset()
protected boolean handleOrderFraud(OrderAccessBean anabOrder) throws ECException
public void setAvailabilityChangeURL(java.lang.String newAvailabilityChangeURL)
public void setBillToRn(java.lang.Long anBillToRn)
public void setField1(java.lang.Integer anField1)
public void setField2(java.math.BigDecimal adField2)
public void setField3(java.lang.String astrField3)
public void setMaxAvailabilityChange(java.lang.Long newMaxAvailabilityChange)
public void setNoInventoryURL(java.lang.String newNoInventoryURL)
public void setNotifyMerchant(java.lang.Short newNotifyMerchant)
public void setNotifyOrderSubmitted(java.lang.Short newNotifyOrderSubmitted)
1=Yes
0=No (default)
public void setNotifyShopper(java.lang.Short newNotifyShopper)
public void setOrderRn(java.lang.Long anOrderRn)
public void setQuotationSubmission(java.lang.String astrQuotationSubmission)
public void setQuoteExpiredURL(java.lang.String newQuoteExpiredURL)
public void setQuoteExpiryPolicy(java.lang.String newQuoteExpiryPolicy)
public void setReduceParentQuantities(java.lang.String astrReduceParentQuantities)
public void setRequestProperties(TypedProperty aRequestProperties) throws ECApplicationException
public void setResponseProperties(TypedProperty aResponseProperties)
public void setTransferMode(java.lang.String transferMode)
protected java.lang.String getTransferMode()
public void validateParameters() throws ECException
protected java.math.BigDecimal checkOrderAndItemTotals() throws ECApplicationException, javax.ejb.FinderException, javax.naming.NamingException, java.rmi.RemoteException, javax.ejb.CreateException
protected java.math.BigDecimal getInitialAmount() throws javax.naming.NamingException, javax.ejb.FinderException, java.rmi.RemoteException, javax.ejb.CreateException
protected java.lang.String processEDPResults(java.util.ArrayList msgList, EDPResults edpResults, java.util.Map errorMessageMap)
protected java.math.BigDecimal getTotalAmount() throws java.rmi.RemoteException, javax.ejb.CreateException, javax.ejb.FinderException, javax.naming.NamingException
public java.util.Hashtable getNotificationAttributes()
public void setNotificationAttributes(java.util.Hashtable aNotificationAttributes)
public OrderAccessBean getOrder()
public java.lang.String getPoNumber()
public void setPoNumber(java.lang.String argPoNumber)
protected int paymentAndReleaseRelationshipEnabled()
protected void notifyShopper(java.lang.Integer messageType) throws ECException