Java 通过Hybris中的cronjob发布或取消部署促销

Java 通过Hybris中的cronjob发布或取消部署促销,java,hybris,promotions,Java,Hybris,Promotions,我想通过cronjob发布或取消部署基于新促销引擎(规则库)的促销活动,该促销活动根据后台办公室中确定的日期发布或取消部署,该日期作为一个单独的模型,包含促销代码、开始日期和结束日期 我在help hybris中找不到升级api,无法像在backoffice中一样执行发布和取消部署操作。而且我在项目中也找不到相关的推广服务 任何帮助都将不胜感激。以下是一个在Groovy中发布促销的示例: import de.hybris.platform.core.Registry def activateAl

我想通过cronjob发布或取消部署基于新促销引擎(规则库)的促销活动,该促销活动根据后台办公室中确定的日期发布或取消部署,该日期作为一个单独的模型,包含促销代码、开始日期和结束日期

我在help hybris中找不到升级api,无法像在backoffice中一样执行发布和取消部署操作。而且我在项目中也找不到相关的推广服务


任何帮助都将不胜感激。

以下是一个在Groovy中发布促销的示例:

import de.hybris.platform.core.Registry
def activateAllPromotions()
{
    def maintenanceService = Registry.getApplicationContext().getBean("ruleMaintenanceService")
    def ruleService = Registry.getApplicationContext().getBean("ruleService")
    def rules = ruleService.getAllRules()
    def res = maintenanceService.compileAndPublishRules(rules,"promotions-module",true)
}
activateAllPromotions()

您可以使用
maintenanceService#archiveRule(AbstractRuleModel)

取消发布。对于发布促销,您可以使用:

ruleMaintenanceService.compileAndPublishRules(promotions,"promotions-module",true);
对于取消发布促销,您可以使用:

ruleMaintenanceService.undeployRules(promotions,site);

仅供参考,hac中的groovy控制台通过变量
spring
提供spring上下文。因此,您可以使用
spring.getBean(“…”)
来说明代码,而不是使用
Registry…
来说明代码,您应该在创建帖子时使用格式面板中的代码块。感谢您的输入,从现在开始我将这样做