今天增加一个小功能,ui用例页面增加删除需求点功能
结果图:

首先增加一个伪删除字段
// requirement_point表里加一个伪删除的字段
@Column(columnDefinition = "BOOLEAN DEFAULT FALSE")
private boolean isDelete=false; // 需求点是否被删除
前端加一个删除的接口
在client.js里
deleteRequirement: (requirementPointId: string) =>
request<unknown>(`/ui-modules/requirements/${requirementPointId}`, {
method: 'DELETE',
}),
注意UITestModuleDetail.tsx文件里,调用参数也要改,不然传的还是moduleId参数
const handleDeleteRequirement = (rp: RequirementPoint) => {....
后端同步增加删除接口,千万记得保存,同样查询的接口也要记得修改,不然还会展示伪删除的需求点
@DeleteMapping("/requirements/{requirementPointId}")
public ResponseDto.Response deleteRequirements(@PathVariable String requirementPointId) {
System.out.println("删除需求点啦");
reqRepo.findById(requirementPointId).ifPresent(value->{
value.setDelete(true);
reqRepo.save(value);//注意记得保存
});
return new ResponseDto.Response("200");
}
// 需求点展示的地方也要做修改
@GetMapping("/{id}/requirements")
public ResponseDto.ListResponse<RequirementPoint> listRequirements(@PathVariable String id) {
moduleRepo.findById(id).orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND));
return new ResponseDto.ListResponse<>(
//增加一个过滤,只展示没有被delete的数据
reqRepo.findByModuleIdOrderByCreatedAtDesc(id).stream().filter(v->!v.isDelete())
.collect(Collectors.toList()));
}
over!