1. 批量发送请求
在分页时,如果我们的有部分信息需要从其他的地方获取,比如我们存数据时只是存了用户ID,这个时候,我们需要访问后端去循环获取用户信息,这个时候最好是,将这些请求合并成一个请求。
举例如下:
private void handStarter(List<BpmTask> records){
List<String> instIds=new ArrayList<>();
for(BpmTask bpmTask:records){
instIds.add(bpmTask.getInstId());
}
List<BpmInst> bpmInsts= bpmInstService.getByIds(instIds);
Map<String,BpmInst> instMap=new HashMap<>();
for(BpmInst inst:bpmInsts){
instMap.put(inst.getInstId(),inst);
}
for(BpmTask task:records){
BpmInst bpmInst=instMap.get(task.getInstId());
if(bpmInst==null){
continue;
}
String starter=bpmInst.getCreatorName() + "(" + bpmInst.getCreatorDeptName() +")";
task.setStarter(starter);
}
}
这里我们查询的是用户任务列表,数据实际是存在在流程实例表,这里我们就可以将流程实例ID,合并以下,调用一次请求,在程序端做些处理。虽然麻烦一些,但是减少了请求次数,尤其是在 Feign 调用 的情况下。
文档更新时间: 2022-03-12 14:35 作者:zyg