通过Hybris中的cronjob发布或取消部署升级

时间:2018-09-09 16:21:37

标签: java sap hybris promotions

我想根据后台中确定为具有促销代码,开始日期和结束日期的单独模型的日期,通过cronjob发布或取消部署基于新促销引擎(规则库)的促销。

我在帮助hybris中无法像在后台那样执行发布和取消部署操作的促销API。而且我在项目中找不到相关的促销服务。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

以下是在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)

取消发布

答案 1 :(得分:0)

对于发布促销活动,您可以使用:

ruleMaintenanceService.compileAndPublishRules(promotions,"promotions-module",true);

要取消发布促销,您可以使用:

ruleMaintenanceService.undeployRules(promotions,site);