Я пробую свои силы с JESS, в котором я хочу написать следующее правило.
Когда сумма заказа превышает 1000, и клиент является предпочтительным, а имя клиента совпадает с именем заказа, сделайте что-нибудь.
My Order.java имеет следующие свойства int amount, Customer cust
А 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))