【发布时间】:2019-09-14 20:11:00
【问题描述】:
我在 Backoffice 中创建了一个促销规则,它在店面工作正常。如何通过 ImpEx 导入它,因为那里的条件和操作以及 uuid 是动态生成的?
【问题讨论】:
标签: hybris
我在 Backoffice 中创建了一个促销规则,它在店面工作正常。如何通过 ImpEx 导入它,因为那里的条件和操作以及 uuid 是动态生成的?
【问题讨论】:
标签: hybris
我有同样的问题,我所做的是:
创建条件:
$lang = en
INSERT_UPDATE RuleConditionDefinition; id[unique=true]; name; priority; allowsChildren; translatorId; translatorParameters; categories(id)
;y_condition_id; Condition Name; 1100; false; YourCustomConditionTranslator; ; cart;
创建条件参数(这里是条件参数的示例):
INSERT_UPDATE RuleConditionDefinitionParameter;definition(id)[unique=true];id[unique=true];name[lang = $lang];priority;type;value;required[default=true];validators;filters;defaultEditor
;y_condition_id;operator;Operator;1300;Enum(de.hybris.platform.ruledefinitions.AmountOperator);"""GREATER_THAN_OR_EQUAL""";;;
然后将您的条件映射到 Promotion RuleType :
INSERT_UPDATE RuleConditionDefinitionRuleTypeMapping;definition(id)[unique=true];ruleType(code)[default=PromotionSourceRule][unique=true]
;y_condition_id;
创建动作定义:
INSERT_UPDATE RuleActionDefinition;id[unique=true];name[lang = $lang];priority;;translatorId;translatorParameters;categories(id)
;y_action_Id;Action Name;1000;;YourActionTranslator;actionId->YourAction;product_discounts
创建你的动作参数:
INSERT_UPDATE RuleActionDefinitionParameter;definition(id)[unique=true];id[unique=true];name[lang=$lang];priority;type;value;required[default=true];validators;filters
;y_action_Id;your_param_id;Your parameter name ;1000;java.lang.Integer;1;;YourParameterValidator;
将您的操作映射到促销规则类型:
INSERT_UPDATE RuleActionDefinitionRuleTypeMapping;definition(id)[unique=true];ruleType(code)[default=PromotionSourceRule][unique=true]
;y_action_Id;
首先我使用 ImpEx 创建了我的促销模板,除了名称之外没有设置任何参数:
INSERT_UPDATE PromotionSourceRuleTemplate;code[unique=true];name[lang=$lang];
;promotion_template_id; Template name;;
然后我从后台修改了模板,将我的条件和我的操作添加到促销模板 Conditions & Actions 选项卡(通过拖放添加它们),然后保存您的模板。
然后检查管理选项卡,您将找到一个包含 json 的 Condition 字段(此 json 包含您的条件定义以及您在问题中询问的生成的uuid),同样对于操作,Actions 字段包含促销模板操作的 json 定义。
因此,您可以在这里使用 Impex 创建您的促销模板:
INSERT_UPDATE PromotionSourceRuleTemplate;code[unique=true];maxAllowedRuns;ruleGroup(code);conditions;actions
;promotion_template_id;1;productPromotionRuleGroup;[{your conditions json here}];[{ your action json here}]
希望对你有帮助
【讨论】: