⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkoutoptions.bsh

📁 国外的一套开源CRM
💻 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 + -