if else
{"name" : "ifProcess","config" : [{"expression" : "temp.total>240","request" : {"isInterrupt" : "true","returnProcess" : "true","errorCode" : "1"}}]}
说明:
1)temp.total默认情况下会优先从request取,如果没有再从response取值,也可以指定从response或者request取值,配置如下
备注:参考取数据规则1,以上为取数据规则,其他某些组件规则保持一致
2)expression配置了表达式,当条件发生时给上下文request赋值。
场景2 场景发生时,执行嵌套模块
具体嵌套模块在如下steps中,并且两种形式可以混合使用
{"name" : "ifProcess","config" : [{"expression" : "vipRights.status='payed'","steps" : [{"name" : "mapingValue","needKey" : {"vipRights.title" : "rights.title","rights.description":"strReplace(vipRights.desc,rightsMap.benefitUserBO.circle)","vipRights.days" : "rights.days","vipRights.status" : "rights.status"}}],"isElseLogic" : true},{"expression" : "vipRights.status='free'||vipRights.status='none'","steps" : [{"name" : "mapingValue","needKey" : {"vipRights.status" : "rights.status","vipRights.title" : "rights.title","vipRights.days" : "rights.days"}}]},{"expression" : "else","request" : {"isInterrupt" : "true","returnProcess" : "true","errorCode" : "1"}}]}
说明:
1)expression 表达式支持逻辑表达&& (与) 和 || (或),可以多个,但目前暂时不支持混合使用。
3)当配置了 isElseLogic : true 当某个条件发生时,不会再向下执行,即 if - else if 逻辑,默认为true
循环计算
{"input" : "typeList","name" : "loopProcess","output" : "types","steps" : [{"name" : "setData","input" : "1Y_priceList","valueTo" : "request","output" : {"close" : "value","time":"timeFromat(Time,'yyyy-MM-dd HH:mm:ss','yyyy-MM-dd')"}}]}
1)input 类型支持List 和 Map
2) 配置 “localVariable”:”param1,param2” 表示是局部变量,当前循环有效,在下次循环开始时会清除,防止数据冲突
分数区间匹配
在名单中的用户会执行steps中步骤
{"name" : "scoreMatch","input" : "score","config" : [{"expression" : "[100,200]","steps" : []},{"expression" : "(200,400]","steps" : []}]}
白名单
在名单中的用户会执行steps中步骤
{"name" : "whiteListProcess","enable" : "false","key" : "data:dianshi:user:whiteList","steps" : [],"db" : "6"}
黑名单
在名单中的用户不会执行steps中步骤
{"name" : "blacklistProcess","enable" : "true","key" : "data:dianshi:user:blackList","steps" : [],"db" : "6"}
