首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Intershop 7.10-获取付款配置

Intershop 7.10-获取付款配置
EN

Stack Overflow用户
提问于 2019-01-25 12:29:16
回答 2查看 124关注 0票数 3

我们希望从Java类中的Order (OrderBO扩展)中获取支付配置。到目前为止,我们已经成功地获得了这样的服务:

代码语言:javascript
复制
final OrderBOPaymentExtension<OrderBO> paymentExtension = getExtendedObject().getExtension(OrderBOPaymentExtension.EXTENSION_ID);

final PaymentBO paymentBO = paymentExtension.getPaymentBOs().stream().findFirst().orElse(null);

PaymentServiceBO paymentServiceBO = paymentBO.getPaymentServiceBO();

现在我们需要获取配置,这样我们就可以从支付方法中读取某些配置参数。做这件事的最好方法是什么?

我们知道可以通过PO工厂获取这样的付款配置:

代码语言:javascript
复制
PaymentConfigurationPOFactory f = (PaymentConfigurationPOFactory)NamingMgr.getInstance().lookupFactory(PaymentConfigurationPO.class);
PaymentConfigurationPO r = f.getConfigForIDAndDomain(iD, domain);

但我们希望避免使用不推荐的代码。

更新:我们试图实现的是在Java代码中访问这些BO参数:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-28 10:01:46

我建议您编写一个PaymentServiceBO扩展。在这个扩展中,您可以编写getter方法来查询某些配置值。访问服务配置对象的java代码是:

代码语言:javascript
复制
PaymentConfiguration paymentConfig = paymentServiceBO.getExtension(PersistentObjectBOExtension.class).getPersistentObject();
ServiceConfigurationBO serviceConfigurationBO = repository.getServiceConfigurationBOByID(paymentConfig.getManagedServiceConfiguration().getUUID());
ConfigurationProvider configProviderExtension = serviceConfigurationBO.getExtension(ConfigurationProvider.class);
Configuration configuration = configProviderExtension.getConfiguration();
Logger.debug(this, "payment service config keys = {}", configuration.getKeys());
票数 2
EN

Stack Overflow用户

发布于 2019-01-25 13:21:52

我认为PaymentConfiguration是不可取的。请参见PaymentConfigurationBO javadoc:

代码语言:javascript
复制
Deprecated since 7.6. Payment configurations are now represented via PaymentServiceBOs.

因此,您需要使用PaymentServiceBO方法或编写一个业务对象扩展,以满足您的需要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54365374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档