[manager,webapp]feature 监控列表支持过滤搜索 (#29)

This commit is contained in:
tomsun28
2022-03-15 16:21:25 +08:00
committed by GitHub
parent 540f4bcbf4
commit 4db3e04dd6
6 changed files with 104 additions and 29 deletions

View File

@@ -38,6 +38,8 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
@RequestMapping(path = "/monitors", produces = {APPLICATION_JSON_VALUE})
public class MonitorsController {
private static final byte ALL_MONITOR_STATUS = 9;
@Autowired
private MonitorService monitorService;
@@ -48,6 +50,7 @@ public class MonitorsController {
@ApiParam(value = "监控类型", example = "linux") @RequestParam(required = false) final String app,
@ApiParam(value = "监控名称,模糊查询", example = "linux-127.0.0.1") @RequestParam(required = false) final String name,
@ApiParam(value = "监控Host模糊查询", example = "127.0.0.1") @RequestParam(required = false) final String host,
@ApiParam(value = "监控状态 0:未监控,1:可用,2:不可用,3:不可达,4:挂起,9:全部状态", example = "1") @RequestParam(required = false) final Byte status,
@ApiParam(value = "排序字段默认id", example = "name") @RequestParam(defaultValue = "id") final String sort,
@ApiParam(value = "排序方式asc:升序desc:降序", example = "desc") @RequestParam(defaultValue = "desc") final String order,
@ApiParam(value = "列表当前分页", example = "0") @RequestParam(defaultValue = "0") int pageIndex,
@@ -66,6 +69,10 @@ public class MonitorsController {
Predicate predicateApp = criteriaBuilder.equal(root.get("app"), app);
andList.add(predicateApp);
}
if (status != null && status >= 0 && status < ALL_MONITOR_STATUS) {
Predicate predicateStatus = criteriaBuilder.equal(root.get("status"), status);
andList.add(predicateStatus);
}
Predicate[] andPredicates = new Predicate[andList.size()];
Predicate andPredicate = criteriaBuilder.and(andList.toArray(andPredicates));