使用webhook拦截系统业务事件
# 业务概述
此节将带领开发者使用WebHook来拦截业务平台事件,实现了以下场景: 当删除业务平台的项目时,如果该项目还存在未处理的报修记录,那么将拦截此事件,并在删除项目时提示该项目存在【报修内容】未处理。
# 最终效果图
# 1.编写后台拦截代码
通过JSONObject
获取请求参数后判断参数中是否含有项目ID。
if (!json.containsKey("projectId")){
return Result.fail();
}
1
2
3
2
3
获取当前项目下待处理的报修记录。
List<Repair> repairList = this.lambdaQuery()
.eq(Repair::getProjectId, projectId)
.list()
.stream()
.filter(r -> r.getState() == 0)
.collect(Collectors.toList());
1
2
3
4
5
6
2
3
4
5
6
拼接所有的未处理的报修记录。
StringBuilder resultStr = new StringBuilder();
resultStr.append("报修记录里:");
repairList.forEach(r ->{
resultStr.append(r.getDescribe()+"、");
});
resultStr.append("还未处理");
1
2
3
4
5
6
2
3
4
5
6
# 2.配置WebHook拦截
完成Hook配置之后删除系统项目时候就会调用配置的地址。