当下面对B2B的大潮,许多的传统企业开始拥抱互联网。
今天来分享一个项目需求
概述:根据固定的计价公式,套用指定的值计算得出价格
场景1:一个客户是合约客户(通过谈判获取到指定的价格)
场景2:一个客户是长期使用的积分客户(通过长期使用获取到指定的积分段的优惠价格)
场景3:非上述客户,临时不固定的客户
上述场景中有计费公式的具有固定和非固定的形式,传统企业中都带有帐期问题。
通常情况下如果没有其他的状况:通常需求的确定方案是几个固定的计费。而不是一人一价。
原因大致如下:技术条件所限制、需求提报人的无法给我需求实现逻辑................................等等
今天我分享一下个人的解决建议:
一:如果采用PHP开发那就比较轻松了,因为PHP本身的脚本语言特性,
将相关的计算代码以文件的方式存储到指定的文件夹下
执行PHP的反射代码加载
$name = 'ABC.Controller.MyClassController';
import($name);
/*方案一*/
eval('$Re = new \MyClassController();$Re->MyClass("123");');
/*方案二*/
call_user_func(array('MyClassController', 'MyClass'),"123");
二:如果采用Java那就要采用调用JavaScript的代码
//获得脚本引擎对象
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine engine = sem.getEngineByName("javascript");
//定义变量,存储到引擎上下文中:即可以被Java使用,也可以被javascript使用
engine.put("msg", "world is very big");
String str ="var UID = '123';var user = { name:'zhangsan',age:10,school:['清华','北大']};";
//str += "println(user.school)";//注意不能定义为alert();
//执行脚本
engine.eval(str);
System.out.println(engine.get("user.name"));
有更好的建议的同学,不烦的话,分享一下