📄 checkoutoptions.bsh
字号:
/*
* Copyright (c) 2003 The Open For Business Project - www.ofbiz.org
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
* OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*@author Andy Zeneski
*@version $Revision: 1.13 $
*@since 2.1
*/
import org.ofbiz.base.util.*;
import org.ofbiz.entity.*;
import org.ofbiz.entity.util.*;
import org.ofbiz.accounting.payment.*;
import org.ofbiz.party.contact.*;
import org.ofbiz.product.store.*;
delegator = request.getAttribute("delegator");
cart = session.getAttribute("shoppingCart");
userLogin = session.getAttribute("userLogin");
party = userLogin.getRelatedOne("Party");
productStoreId = ProductStoreWorker.getProductStoreId(request);
checkOutPaymentId = "";
itemSizes = new LinkedList();
featureIdSet = new HashSet();
shipAddress = null;
shipWeight = 0.00;
shipTotal = 0.00;
if (cart != null) {
if (cart.getPaymentMethodIds().size() > 0) {
checkOutPaymentId = cart.getPaymentMethodIds().get(0);
} else if (cart.getPaymentMethodTypeIds().size() > 0) {
checkOutPaymentId = cart.getPaymentMethodTypeIds().get(0);
}
shipCmId = cart.getShippingContactMechId();
if (shipCmId != null) {
shipAddress = delegator.findByPrimaryKey("PostalAddress", UtilMisc.toMap("contactMechId", shipCmId));
}
itemSizes = cart.getShippableSizes();
featureIdMap = cart.getFeatureIdQtyMap();
shipWeight = cart.getShippableWeight();
shipTotal = cart.getShippableTotal();
}
context.put("shoppingCart", cart);
context.put("userLogin", userLogin);
context.put("productStoreId", productStoreId);
context.put("checkOutPaymentId", checkOutPaymentId);
//context.put("carrierShipmentMethodList", delegator.findByAndCache("ProductStoreShipmentMethView", UtilMisc.toMap("productStoreId", productStoreId), UtilMisc.toList("sequenceNumber")));
context.put("carrierShipmentMethodList", ProductStoreWorker.getAvailableStoreShippingMethods(delegator, productStoreId, shipAddress, itemSizes, featureIdMap, shipWeight, shipTotal));
context.put("shippingContactMechList", ContactHelper.getContactMech(party, "SHIPPING_LOCATION", "POSTAL_ADDRESS", false));
context.put("paymentMethodList", EntityUtil.filterByDate(party.getRelated("PaymentMethod", null, UtilMisc.toList("paymentMethodTypeId")), true));
context.put("emailList", ContactHelper.getContactMechByType(party, "EMAIL_ADDRESS", false));
billingAccountRoleList = delegator.findByAnd("BillingAccountRole", UtilMisc.toMap("partyId", userLogin.getString("partyId"), "roleTypeId", "BILL_TO_CUSTOMER"));
billingAccountRoleList = EntityUtil.filterByDate(billingAccountRoleList);
if (billingAccountRoleList != null && billingAccountRoleList.size() > 0) {
totalAvailable = 0.00;
sortedAccounts = new TreeMap();
billingAcctIter = billingAccountRoleList.iterator();
while (billingAcctIter.hasNext()) {
billingAccountRole = billingAcctIter.next();
billingAccountVO = billingAccountRole.getRelatedOne("BillingAccount");
accountBalance = BillingAccountWorker.getBillingAccountBalance(billingAccountVO);
billingAccount = new HashMap(billingAccountVO);
accountLimit = billingAccountVO.getDouble("accountLimit").doubleValue();
billingAccount.put("accountBalance", new Double(accountBalance));
accountAvailable = accountLimit - accountBalance;
totalAvailable += accountAvailable;
sortedAccounts.put(new Double(accountAvailable), billingAccount);
}
billingAccountList = new ArrayList(sortedAccounts.values());
context.put("selectedBillingAccount", cart.getBillingAccountId());
context.put("billingAccountList", billingAccountList);
}
if (cart.getShipmentMethodTypeId() != null && cart.getCarrierPartyId() != null)
context.put("chosenShippingMethod", cart.getShipmentMethodTypeId() + '@' + cart.getCarrierPartyId());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -