在有些业务场景中,需要随机从上游查询接口获取到查询结果,供下游提交保存接口;
举个业务场景,有个商品目录的菜单,有三级目录;现在需求:新建的二级目录的父级目录(一级目录)是随机的;同理,新建的三级目录的父级目录(二级目录)也是随机的
这里有两种方案:
方案一:反复查询--随机获取查询结果--新建二级目录接口使用查询结果作为请求参数
如图,这里只用parentId,其它请求参数变量忽略;
一级目录的查询结果,id的提取
这里有个问题,我们需要反复查询,随机获取;耗费不少性能;是不是可以查询一次,每次随机从查询结果中获取就行?于是参考方案二;
方案二:查询一级目录,提取查询结果;再新建二级目录接口添加前置脚本;随机获取查询结果的下标;通过实测比较,比方案一性能提升不少
int cnt = ${categoryId_matchNr};
Random random = new Random();
int num = random.nextInt(cnt-1) + 1;
String categoryId = vars.get("categoryId_"+num);
categoryId = vars.put("categoryId",categoryId);
log.info("---aaaa-----" +num + "-----")
log.info("---bbbb-----" +vars.get("categoryId_"+num) + "-----")
return vars.get("categoryId_"+num);