-4

有几个规则引擎,例如 Treetop 或 Wongi::Engine,但似乎没有一个适合我的个人资料。

我想建立一个可以计算价格的灵活系统。例如:

雪橇的基本价格为 100 欧元

产品规则:

  • 规则_#0 雪橇 100 欧元</li>

时间规则:

  • 规则_#1 您在 23:00 H 之后购买了雪橇 => 您将获得 10 欧元的折扣</li>

日期规则:

  • 规则_#2 您在圣诞节购买了雪橇 => 您可以获得 10% 的折扣(10 欧元)

用户规则:

  • 规则_#3 你的名字是圣诞老人 => 你得到 2 欧元的折扣</li>

规则也可以组合(排除/包含):

=> 最终价格为 100-10-10-2=78

4

1 回答 1

0

AFAIK,没有捷径可以解决您的问题。

价格规则引擎需要知道底层模型,并且能够引用它。通常,完成这些事情的最短、最有效的代码已经存在于例如 ActiveResource 或 DataMapper 中。你能想出的任何规则都可以很容易地直接用操纵该模型的 Ruby 代码来表达。通过 DSL 进行定价使其更加抽象,这比您将单独构建的规则更重要。在预打包的电子商务解决方案(数据模型已知)之外,不存在用于产品定价的预构建 DSL。

您可能正在寻找面向对象的设计模式,而不是 gem 或库。你还有很多工作要做。

于 2013-06-01T08:23:58.213 回答