2020-09-23 03:48发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我根据文档设置了6.6的... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我根据文档设置了6.6的踪迹
在构建时或在更新/初始化之后均没有错误。
我以内置用户之一的身份登录,并对电子商店中的商品添加了评论。
我以管理员身份登录到后台,并批准了审核。
然后以电子商店中的用户身份将商品添加到cnd单击结帐
升级不会触发,用户也不会添加到相关组中。
其他人有同样的问题吗?
我能够通过更新 AddUserToUserGroupRAOAction 以覆盖 performActionInternal(RuleActionContext)而不是已弃用的 performAction(RuleActionContext,Map )。
AddUserToUserGroupRAOAction
performActionInternal(RuleActionContext)
performAction(RuleActionContext,Map )
下面提供了完整的源代码:
软件包de.hybris.promotionenginetrail.rule.action.impl; 导入静态com.google.common.base.Preconditions.checkArgument; 导入静态de.hybris.platform.ruleengineservices.util.RAOConstants.VALUE_PARAM; 导入静态org.apache.commons.collections.MapUtils.isNotEmpty; 导入de.hybris.platform.ruleengineservices.rao.CartRAO; 导入de.hybris.platform.ruleengineservices.rao.ChangeUserGroupRAO; 导入de.hybris.platform.ruleengineservices.rao.RuleEngineResultRAO; 导入de.hybris.platform.ruleengineservices.rao.UserGroupRAO; 导入de.hybris.platform.ruleengineservices.rao.UserRAO; 导入de.hybris.platform.ruleengineservices.rule.evaluation.RuleActionContext; 导入de.hybris.platform.ruleengineservices.rule.evaluation.actions.AbstractRuleExecutableSupport; 导入de.hybris.platform.ruleengineservices.rule.evaluation.actions.RAOAction; 导入java.util.Map; 公共类AddUserToUserGroupRAOAction扩展AbstractRuleExecutableSupport实现RAOAction { @Override 受保护的布尔型performActionInternal(RuleActionContext上下文){ 字符串userGroupCode = context.getParameter(VALUE_PARAM,String.class); 最后的CartRAO cartRao = context.getCartRao(); 最终RuleEngineResultRAO结果= context.getRuleEngineResultRao(); 最后的ChangeUserGroupRAO changeUserGroupRAO = new ChangeUserGroupRAO(); getRaoUtils()。addAction(cartRao,changeUserGroupRAO); changeUserGroupRAO.setUserGroupId(userGroupCode); result.getActions()。add(changeUserGroupRAO); 最终的UserGroupRAO userGroupRAO =新的UserGroupRAO(); userGroupRAO.setId(userGroupCode); 最终的UserRAO用户= cartRao.getUser(); user.getGroups()。add(userGroupRAO); setRAOMetaData(context,changeUserGroupRAO); context.insertFacts(context,changeUserGroupRAO,userGroupRAO); context.updateFacts(context,user); 返回true; } }
我找到了解决方案,方法是使用调试器并将断点放在 AddUserToUserGroupRAOAction 超类 AbstractRuleExecutableSupport 中。 将评论项目添加到购物车时,我发现调用了 performAction(RuleActionContext)方法,而不是已弃用的 performAction(RuleActionContext,Map )方法
AbstractRuleExecutableSupport
performAction(RuleActionContext)
除了一些保留 performAction(RuleActionContext)方法的书外,还调用了 performActionInternal(RuleActionContext)方法。 进一步的检查显示,除 AddUserToUserGroupRAOAction 之外, AbstractRuleExecutableSupport 的所有子类都将覆盖此方法。 这有力的证据表明 AddUserToUserGroupRAOAction 需要重写所述方法而不是已弃用的方法。
实际上,在更改 AddUserToUserGroupRAOAction 以覆盖 performActionInternal(RuleActionContext)而不是 performAction(RuleActionContext,Map )后,确实是问题 解决了。
最多设置5个标签!
我能够通过更新
AddUserToUserGroupRAOAction
以覆盖performActionInternal(RuleActionContext)
而不是已弃用的performAction(RuleActionContext,Map )
。下面提供了完整的源代码:
我找到了解决方案,方法是使用调试器并将断点放在
AddUserToUserGroupRAOAction
超类AbstractRuleExecutableSupport
中。 将评论项目添加到购物车时,我发现调用了performAction(RuleActionContext)
方法,而不是已弃用的performAction(RuleActionContext,Map)
方法除了一些保留
performAction(RuleActionContext)
方法的书外,还调用了performActionInternal(RuleActionContext)
方法。 进一步的检查显示,除AddUserToUserGroupRAOAction
之外,AbstractRuleExecutableSupport
的所有子类都将覆盖此方法。 这有力的证据表明AddUserToUserGroupRAOAction
需要重写所述方法而不是已弃用的方法。实际上,在更改
AddUserToUserGroupRAOAction
以覆盖performActionInternal(RuleActionContext)
而不是performAction(RuleActionContext,Map)
后,确实是问题 解决了。一周热门 更多>