📄 quoteservices.java
字号:
/* * Copyright (c) 2001-2005 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. */package org.ofbiz.order.quote;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Locale;import java.util.Map;import javolution.util.FastMap;import org.ofbiz.base.util.Debug;import org.ofbiz.base.util.GeneralException;import org.ofbiz.base.util.UtilMisc;import org.ofbiz.base.util.UtilProperties;import org.ofbiz.base.util.UtilValidate;import org.ofbiz.entity.GenericDelegator;import org.ofbiz.entity.GenericEntityException;import org.ofbiz.entity.GenericValue;import org.ofbiz.party.party.PartyWorker;import org.ofbiz.service.DispatchContext;import org.ofbiz.service.GenericServiceException;import org.ofbiz.service.LocalDispatcher;import org.ofbiz.service.ServiceUtil;/** * Quote Services * * @author <a href="mailto:tiz@sastau.it">Jacopo Cappellato</a> * @author <a href="mailto:jonesde@ofbiz.org">David E. Jones</a> */public class QuoteServices { public static final String module = QuoteServices.class.getName(); public static final String resource = "OrderUiLabels"; public static final String resource_error = "OrderErrorUiLabels"; public static Map sendQuoteReportMail(DispatchContext dctx, Map context) { LocalDispatcher dispatcher = dctx.getDispatcher(); GenericDelegator delegator = dctx.getDelegator(); GenericValue userLogin = (GenericValue) context.get("userLogin"); Locale locale = (Locale) context.get("locale"); String emailType = (String) context.get("emailType"); String quoteId = (String) context.get("quoteId"); String sendTo = (String) context.get("sendTo"); String sendCc = (String) context.get("sendCc"); String note = (String) context.get("note"); // prepare the order information Map sendMap = FastMap.newInstance(); // get the quote and store GenericValue quote = null; try { quote = delegator.findByPrimaryKey("Quote", UtilMisc.toMap("quoteId", quoteId)); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting Quote", module); } if (quote == null) { return ServiceUtil.returnFailure("Could not find Quote with ID [" + quoteId + "]"); } GenericValue productStoreEmail = null; try { productStoreEmail = delegator.findByPrimaryKey("ProductStoreEmailSetting", UtilMisc.toMap("productStoreId", quote.get("productStoreId"), "emailType", emailType)); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting the ProductStoreEmailSetting for productStoreId=" + quote.get("productStoreId") + " and emailType=" + emailType, module); } if (productStoreEmail == null) { return ServiceUtil.returnFailure("No valid email setting for store with productStoreId=" + quote.get("productStoreId") + " and emailType=" + emailType); } String bodyScreenLocation = productStoreEmail.getString("bodyScreenLocation"); if (UtilValidate.isEmpty(bodyScreenLocation)) { return ServiceUtil.returnFailure("No valid bodyScreenLocation in email setting for store with productStoreId=" + quote.get("productStoreId") + " and emailType=" + emailType); } sendMap.put("bodyScreenUri", bodyScreenLocation); String xslfoAttachScreenLocation = productStoreEmail.getString("xslfoAttachScreenLocation"); sendMap.put("xslfoAttachScreenLocation", xslfoAttachScreenLocation); if ((sendTo == null) || !UtilValidate.isEmail(sendTo)) { return ServiceUtil.returnError("No sendTo email address found"); } Map bodyParameters = UtilMisc.toMap("quoteId", quoteId, "userLogin", userLogin, "locale", locale); bodyParameters.put("note", note); bodyParameters.put("partyId", quote.getString("partyId")); // This is set to trigger the "storeEmailAsCommunication" seca sendMap.put("bodyParameters", bodyParameters); sendMap.put("userLogin", userLogin); String subjectString = productStoreEmail.getString("subject"); sendMap.put("subject", subjectString); sendMap.put("contentType", productStoreEmail.get("contentType")); sendMap.put("sendFrom", productStoreEmail.get("fromAddress")); sendMap.put("sendCc", productStoreEmail.get("ccAddress")); sendMap.put("sendBcc", productStoreEmail.get("bccAddress")); sendMap.put("sendTo", sendTo); if ((sendCc != null) && UtilValidate.isEmail(sendCc)) { sendMap.put("sendCc", sendCc); } else { sendMap.put("sendCc", productStoreEmail.get("ccAddress")); } // send the notification Map sendResp = null; try { sendResp = dispatcher.runSync("sendMailFromScreen", sendMap); } catch (Exception e) { Debug.logError(e, module); return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, "OrderServiceExceptionSeeLogs",locale)); } // check for errors if (sendResp != null && !ServiceUtil.isError(sendResp)) { sendResp.put("emailType", emailType); } return sendResp; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -