xml-eval基于 beetl 的评级引擎

联合创作 · 2023-09-29 01:16

一个使用 xml 和 beetl 来实现的计算引擎(评级引擎),支持树形评级结构,通过计算得出一个评级,可以用于打分等应用。

<?xml version="1.0" encoding="UTF-8"?>
<workspace name="评级">
    <project name="银行评级">
        <doc name="评级得分" f="sum">
            <node name="财务信息" f="sum">
                <node name="年度利润">每月收入*12</node>
                <node name="年度负债" >每月负债*12*0.3</node>
            </node>			
        </doc>
    </project>
</workspace>
<node name="非财务信息" f="sum">
            <node name="上访次数" f="script">
                <![CDATA[
                    var c =上访次数;
                    var d = 0;
                    if(c>10){
                        d=10;
                    }else{
                        d=100;
                    }
                    return d ;
        ]]>
    
    </node>
</node>
    EvalEngine engine = new EvalEngine();
    Map<String,Object> paras = new HashMap<String,Object>();
    paras.put("每月收入", 178832323.12);
    paras.put("每月负债", 128.99);
    InputStream ins = EvalEngineTest.class.getResourceAsStream("/sample/simple001.xml");
    InputStreamReader reader = new InputStreamReader(ins,"utf8");
    Object ret = engine.run(reader, paras);
    System.out.println(ret);
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报