Я пробую свои силы с JESS, в котором я хочу написать правило следующим образом.
Если сумма заказа превышает 1000, а клиент является предпочтительным, а имя клиента совпадает с именем заказа, тогда сделайте что-нибудь.
My Order.java имеет следующие свойства
сумма, клиентская сумма
И Customer.java - это класс простого компонента, содержащий следующие свойства.
имя строки, адрес строки
Я не могу найти способ, которым я могу получить значение Order.cust.name и сравнить с Customer.name в JESS.
Может кто-нибудь помочь мне здесь, пожалуйста?
Я пытался использовать следующее, но у меня ничего не вышло.
(defrule HelloCustomer "When customer is preferred and amount is greater than 1001"
?person1 <- (Customer)
?cust <- (Customer {isPreferred == true})
?o <- (Order{amount > (+ 1000 1)})
?person2 <- (Order(customerA))
?person2Name <- (Customer{name == (Order{customerA.name})})
=>
(modify ?o (totalAmount 1000))
(printout t "Found two different " (call ?person2.customerA getName) crlf))
(printout t "Found two different*** " ?person1.name crlf))