👔 feat: 解析DRL规则
This commit is contained in:
parent
1e5d1274d7
commit
034ac1fc8a
|
@ -4,7 +4,6 @@ import cn.bunny.drools.bean.exercise.CreditCardApply;
|
|||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.SneakyThrows;
|
||||
import org.kie.api.KieBase;
|
||||
import org.kie.api.KieServices;
|
||||
import org.kie.api.runtime.KieContainer;
|
||||
import org.kie.api.runtime.KieSession;
|
||||
|
@ -24,13 +23,13 @@ public class CreditCardApplyController {
|
|||
public CreditCardApply creditCardApply(@RequestBody CreditCardApply creditCardApply) {
|
||||
KieServices kieServices = KieServices.Factory.get();
|
||||
KieContainer kieContainer = kieServices.getKieClasspathContainer();
|
||||
KieBase kieBase = kieContainer.getKieBase("CreditCardApply");
|
||||
KieSession kieSession = kieBase.newKieSession();
|
||||
// KieBase kieBase = kieContainer.getKieBase("CreditCardApply");
|
||||
KieSession session = kieContainer.newKieSession("credit_card_apply_card_1");
|
||||
|
||||
kieSession.insert(creditCardApply);
|
||||
kieSession.fireAllRules();
|
||||
kieSession.dispose();
|
||||
kieSession.close();
|
||||
session.insert(creditCardApply);
|
||||
session.fireAllRules();
|
||||
session.dispose();
|
||||
session.close();
|
||||
return creditCardApply;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
<!-- 练习 -->
|
||||
<kbase name="Exercise" packages="rules.exercise.test" default="false">
|
||||
<ksession name="exercise_test_1" default="true"/>
|
||||
</kbase>
|
||||
|
||||
<!-- 计算税额 -->
|
||||
|
@ -9,7 +10,8 @@
|
|||
</kbase>
|
||||
|
||||
<!-- 信用卡 -->
|
||||
<kbase name="CreditCardApply" packages="rules.exercise.card" default="false">
|
||||
<kbase name="Group_CreditCardApply" packages="rules.exercise.card" default="false">
|
||||
<ksession name="credit_card_apply_card_1" default="true"/>
|
||||
</kbase>
|
||||
|
||||
<!-- demo 练习 -->
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
package cn.bunny.drools.demo;
|
||||
|
||||
import lombok.SneakyThrows;
|
||||
import org.drools.decisiontable.InputType;
|
||||
import org.drools.decisiontable.SpreadsheetCompiler;
|
||||
import org.kie.api.io.ResourceType;
|
||||
import org.kie.api.runtime.KieSession;
|
||||
import org.kie.internal.utils.KieHelper;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
|
||||
public class DrlResourceTypeTest {
|
||||
@SneakyThrows
|
||||
public static void main(String[] args) {
|
||||
KieHelper kieHelper = new KieHelper();
|
||||
KieHelper addContent = kieHelper.addContent("", ResourceType.DRL);
|
||||
KieSession kieSession = kieHelper.build().newKieSession();
|
||||
|
||||
// 指定决策表xls文件的磁盘路径
|
||||
String realPath = "C:\\testRule.xls";
|
||||
File file = new File(realPath);
|
||||
InputStream is = new FileInputStream(file);
|
||||
SpreadsheetCompiler compiler = new SpreadsheetCompiler();
|
||||
String drl = compiler.compile(is, InputType.XLS);
|
||||
|
||||
kieSession.dispose();
|
||||
kieSession.close();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue