如何同时将参数匹配到两个实体?

How to match parameter to TWO entities simultaneously?

我的机器人问:'how do you (i.e. customer) want to pay for this product?'

客户说:'part in cash and the difference in 48x'

客户上面说的是他要现金支付,要用融资。而且那个融资要考虑分期48期。

实体:

  1. 支付类型:{现金,融资}; Financed 包括 48x 作为同义词

  2. numInstallments: {12x, 24x, 36x, 48x} ; 48x 是所需的分期付款数量

仅使用 GUI,如何操作: 如果用户说“48x”,则同时将 'financed' 添加到 paymentType 列表并将 numInstallments 设置为“48x”?

显然 GUI 不允许我这样做,除非我做错了什么(见屏幕下方允许将参数映射到实体并注意此下拉列表显然允许选择单个实体而不是两个,这正是我需要的)。

如何通过 GUI 轻松解决这个问题?

不知道你的想法在这种情况下是否真的可行

您可以做的是保持意图和实体不变,然后在您填写此参数的页面或其他页面中创建几个条件(我认为这是首选)。 在该页面中,您可以在满足条件的地方放置不同的路由,并根据需要修改参数。

例如,在询问用户他们希望如何支付之后,您可以有一条路线转到“设置参数”页面,该页面有几条路线:

  1. 第一个路由有一个条件 $session.params.numeroDeParcelas != null(你知道用户要求了特定的分期付款次数,所以通过在这个路由中设置你需要的参数来处理这种情况(在 parameters 下路由写入支付类型:“融资”)
  2. 第二个路由还有一个条件,比如$session.params.numeroDeParcelas = null(你知道用户没有申请融资,所以设置和之前一样的参数为“cash”)

依此类推,直到您用尽所有用户案例(所有支付方式,可能是所有类型的融资)。 注意: 路线总是按顺序 进行评估,因此请务必牢记这一点,同时 writing/ordering 它们:要具体以避免错误地实现了错误(例如,通过创建复合条件、链接参数检查,如 $session.params.numeroDeParcelas = null AND $session.params. numInstallments = "36x"