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

📄 billsettings.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 (jaz@ofbiz.org)
 *@version    $Revision: 1.5 $
 *@since      3.0
*/

import org.ofbiz.entity.*;
import org.ofbiz.entity.util.*;
import org.ofbiz.base.util.*;
import org.ofbiz.accounting.payment.*;
import org.ofbiz.order.shoppingcart.*;
import org.ofbiz.party.contact.*;

delegator = request.getAttribute("delegator");
partyId = session.getAttribute("orderPartyId");
cart = session.getAttribute("shoppingCart");
payType = request.getParameter("paymentMethodType");
if (payType == null && request.getParameter("useGc") != null) {
    payType = "GC";
}
context.put("cart", cart);
context.put("paymentMethodType", payType);

if (partyId == null) {
    userLogin = session.getAttribute("userLogin");
    partyId = userLogin.getString("partyId");
}
context.put("partyId", partyId);

// nuke the event messages
request.removeAttribute("_EVENT_MESSAGE_");

if (partyId != null && !partyId.equals("_NA_")) {
    party = delegator.findByPrimaryKey("Party", UtilMisc.toMap("partyId", partyId));
    person = party.getRelatedOne("Person");
    context.put("party", party);
    context.put("person", person);
    if (party != null) {
        context.put("paymentMethodList", EntityUtil.filterByDate(party.getRelated("PaymentMethod"), true));
        billingAccountRoleList = delegator.findByAnd("BillingAccountRole", UtilMisc.toMap("partyId", partyId, "roleTypeId", "BILL_TO_CUSTOMER"));
        billingAccountRoleList = EntityUtil.filterByDate(billingAccountRoleList);
        if (billingAccountRoleList != null && billingAccountRoleList.size() > 0) {
            billingAcctIter = billingAccountRoleList.iterator();
            billingAccountList = new ArrayList();
            while (billingAcctIter.hasNext()) {
                billingAccountRole = billingAcctIter.next();
                billingAccountVO = billingAccountRole.getRelatedOne("BillingAccount");
                accountBalance = BillingAccountWorker.getBillingAccountBalance(billingAccountVO);

                billingAccount = new HashMap(billingAccountVO);
                billingAccount.put("accountBalance", new Double(accountBalance));
                billingAccountList.add(billingAccount);
            }
            context.put("selectedBillingAccountId", cart.getBillingAccountId());
            context.put("billingAccountList", billingAccountList);
        }
    }
}

if (request.getParameter("useShipAddr") != null && cart.getShippingContactMechId() != null) {
    shippingContactMech = cart.getShippingContactMechId();
    postalAddress = delegator.findByPrimaryKey("PostalAddress", UtilMisc.toMap("contactMechId", shippingContactMech));
    context.put("useEntityFields", "Y");
    context.put("postalFields", postalAddress);

    if (postalAddress != null && partyId != null) {
        partyContactMechs = delegator.findByAnd("PartyContactMech", UtilMisc.toMap("partyId", partyId, "contactMechId", postalAddress.get("contactMechId")), UtilMisc.toList("-fromDate"));
        partyContactMechs = EntityUtil.filterByDate(partyContactMechs);
        partyContactMech = EntityUtil.getFirst(partyContactMechs);
        context.put("partyContactMech", partyContactMech);
    }
} else {
    context.put("postalFields", UtilHttp.getParameterMap(request));
}

if (cart != null && request.getParameter("singleUsePayment") == null) {
    if (cart.getPaymentMethodIds() != null && cart.getPaymentMethodIds().size() > 0) {
        checkOutPaymentId = cart.getPaymentMethodIds().get(0);
        context.put("checkOutPaymentId", checkOutPaymentId);
        paymentMethod = delegator.findByPrimaryKey("PaymentMethod", UtilMisc.toMap("paymentMethodId", checkOutPaymentId));
        account = null;

        if (paymentMethod != null && paymentMethod.getString("paymentMethodTypeId").equals("CREDIT_CARD")) {
            account = paymentMethod.getRelatedOne("CreditCard");
            context.put("creditCard", account);
            context.put("paymentMethodType", "CC");
        } else if (paymentMethod != null && paymentMethod.getString("paymentMethodTypeId").equals("EFT_ACCOUNT")) {
            account = paymentMethod.getRelatedOne("EftAccount");
            context.put("eftAccount", account);
            context.put("paymentMethodType", "EFT");
        } else if (paymentMethod != null && paymentMethod.getString("paymentMethodTypeId").equals("GIFT_CARD")) {
            account = paymentMethod.getRelatedOne("GiftCard");
            context.put("giftCard", account);
            context.put("paymentMethodType", "GC");
        } else {
            context.put("paymentMethodType", "offline");
        }
        if (account != null && request.getParameter("useShipAddr") == null) {
            address = account.getRelatedOne("PostalAddress");
            context.put("postalAddress", address);
            context.put("postalFields", address);
        }
    } else if (cart.getPaymentMethodTypeIds() != null && cart.getPaymentMethodTypeIds().size() > 0) {
        checkOutPaymentId = cart.getPaymentMethodTypeIds().get(0);
        context.put("checkOutPaymentId", checkOutPaymentId);
    }
}

requestPaymentMethodType = request.getParameter("paymentMethodType");
if (requestPaymentMethodType != null && requestPaymentMethodType.length() > 0) {
    context.put("paymentMethodType", requestPaymentMethodType);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -