当前位置: 首页 > 面试题库 >

流口水验证

穆鸿飞
2023-03-14
问题内容

这是我的流口水验证问题的第二部分。第一部分已经回答,我的代码中已经实现了建议的解决方案。

这是我的java类结构

public class Person {
 List<PersonAddress> personAddress;
 List<FinanceDetails> financeDetails;
}
public enum AddressStatus {
 CURRENT, PREVIOUS;
}
public enum AddressType {
 PHYSICAL, POSTAL;
}
public enum AddressUseType {
 HOME, OFFICE;
}
public class PersonAddress{    
  Address address;
  AddressType type
  AddressStatus status
  AddressUseType useType
  String ownerShipType
  Integer timeAtAddress;        
}
public class Address {
  String city;
  String country;
  String street;
}
public class FinanceDetails {
  String financeItemName;
  BigDecimal itemValue;
}

好的,我的问题是,如果FinanceItemName为“土地或建筑物”,并且该用户的地址符合以下条件,则我需要验证FinanceDetails实例的itemValue,

AddressStatus ==当前

AddressType ==物理

AddressUseType == HOME

ownerShipType ==“拥有”

Drools版本5.5.0.Final

Java 1.7

可以使用的功能

需要样本流口水规则语法。谢谢


问题答案:

添加了itemValue测试,如评论所示

rule "land-orbuilding..."
when
  Peson( $financeDetails: financeDetails, $personAddress: personAddress )
  FinanceDetails( financeItemName == "Land or Building", itemValue == null || itemValue == 0 ) from $financeDetails
  PersonAddress( status == AddressStatus.CURRENT,
                 type == AddressType.PHYSICAL,
                 useType == AddressUseType.HOME,
                 ownerShipType == "Own" ) from $personAddress
then
  //...
end

如何阅读其中一些文档?这非常类似于“第一部分”,只有很小的变化。



 类似资料:
  • 我不太会流口水和咕噜。 我有一个关于规则流的基本问题。 我在guvnor插件上使用引导编辑器创建了3条规则。现在我想根据第一条规则的结果调用第二条或第三条规则。 e、 g.如果患者年龄小于18岁,则进行第二条规则的小检查,否则请调用第三条规则由高级医生进行检查。 那么,这可以通过使用规则流来实现吗?如果是,如何?是否有任何示例链接和文档来演示它?非常感谢您的帮助。 谢啦

  • 我正在使用Spring MVC和Drools expert。spring版本4.0。0 drools版本(6.0.1) 我正在使用RAD 8和WAS 8 应用程序启动失败,出现异常(见下文) spring集成在批处理模式下工作正常。当我从web应用程序调用它时,当我将kie后处理器添加到应用程序上下文时,web应用程序就会失败。 这是堆栈跟踪。

  • 我在Scala/Spark中有一个批处理作业,它根据一些输入动态创建Drools规则,然后评估规则。我还有一个与要插入到规则引擎的事实相对应的输入。 到目前为止,我正在一个接一个地插入事实,然后触发关于这个事实的所有规则。我正在使用执行此操作。 seqOp运算符的定义如下: 以下是生成的规则的示例: 对于同一RDD,该批次花了20分钟来评估3K规则,但花了10小时来评估10K规则! 我想知道根据事

  • 我有一个关于SPOCK+Drools测试的问题。事情是这样的, 我正在部署的webapp W/O中运行测试(如果这有任何意义的话:))。我将jar添加到类路径中(而不是WEB-INF/libs),现在运行良好。

  • 目标:我想坚持/重复使用一次为射击规则创建的流口水知识会话。 问题:我想使用包含10000多条规则的决策表创建一个知识会话。创建此会话并每次都将其关闭是不可行的,我希望在创建会话后存储该会话,该会话可以通过密钥识别,并反复使用此会话。我已经尝试过drools的jpa知识服务和kie的编组,但这两种方法都不起作用。它需要一个KnowledgeBase实例,而每次使用drools表创建一个新的Know

  • 我有一个drl文件,它在两个规则流组中包含规则:“第一个规则流组”和“第二个规则流组”。这些组的激活取决于“规则A”和“规则B”。是否有任何方法可以停用规则B,以便在规则A条件匹配时触发,从而仅将焦点设置为“第一个规则流组”?