-
表格逻辑的几个想法
简单的逻辑完全可以用if else解决掉;
现在有这样的一个逻辑
username |
password |
isBlackUser |
age |
分数 |
|
aaa |
123456 |
TRUE |
0 |
20 |
60 |
aaa |
123456 |
FALSE |
20 |
40 |
80 |
ccc |
123456 |
TRUE |
40 |
100 |
100 |
用户的数据如果满足逻辑表中的某一条会得到为一的分数。
一.if-else
如果逻辑表有成百上千的数据,直接使用if else也是很难的。
二.DB
逻辑表建成数据库的一张表(temp_table),直接通过sql搜索来得到分数
username |
password |
isBlackUser |
age_l |
age_r |
score |
aaa |
123456 |
TRUE |
0 |
20 |
60 |
bbb |
123456 |
FALSE |
20 |
40 |
80 |
ccc |
123456 |
TRUE |
40 |
100 |
100 |
Select score from temp_table where username = user.getUsername() and password = user.getPassword() and isBlackUser = user.getIsBlackUser() and age_r >= user.getAge() and age_l <= user.getAge();
三.Java
逻辑表列数是有限并且稳定的,行数会随着用户的个数变化
现在只需要把列的逻辑写好,
行数完全可以使用POI读取excel,或其它方式读取其它存储的文件,动态封装大数据量的行数;但是这里仅仅是模拟。
写一个作为接口的方法
执行以下,看看效果
//用户数据 User user = new User("ccc","123456",true,55); HashMap<String, Object> data1 = new HashMap<>(); data1.put(username, user.getUsername()); data1.put(password, user.getPassword()); data1.put(isBlackUser, user.getIsBlackUser()); data1.put(age, user.getAge()); Object exe = exe(tableList, data1); System.out.println(exe);
四.Excel自身函数实现
可以将用户信息导入excel
通过excel函数实现
五.规则引擎
是专门处理业务逻辑的软件,使用决策表能可是实现上面逻辑表的功能
最后打成jar包,直接调用即可
六. 存储过程实现列的逻辑
原文:https://www.cnblogs.com/aihuadung/p/14489652.html