这是我的流口水验证问题的第二部分。第一部分已经回答,我的代码中已经实现了建议的解决方案。
First Part
这是我的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
如何阅读其中的一些文档?这非常类似于“第一部分”,只是很小的变化。