} else if ("PROMO_ORDER_AMOUNT".equals(productPromoActionEnumId)) {
BigDecimal amount = (productPromoAction.get("amount") == null ? BigDecimal.ZERO : productPromoAction.getBigDecimal("amount")).negate();
// if amount is greater than the order sub total, set equal to order sub total, this normally wouldn't happen because there should be a condition that the order total be above a certain amount, but just in case...
BigDecimal subTotal = cart.getSubTotalForPromotions();
if (amount.negate().compareTo(subTotal) > 0) {
amount = subTotal.negate();
}
if (amount.compareTo(BigDecimal.ZERO) != 0) {
doOrderPromoAction(productPromoAction, cart, amount, "amount", delegator);
actionResultInfo.ranAction = true;
actionResultInfo.totalDiscountAmount = amount;