(improvement)(headless) metric list support filter by hasCollect (#613)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2024-01-10 14:12:39 +08:00
committed by GitHub
parent 61da52650c
commit 9c8039c499
2 changed files with 7 additions and 3 deletions

View File

@@ -18,4 +18,5 @@ public class PageSchemaItemReq extends PageBaseReq {
private Integer status; private Integer status;
private String key; private String key;
private List<Long> ids; private List<Long> ids;
private boolean hasCollect;
} }

View File

@@ -182,14 +182,17 @@ public class MetricServiceImpl implements MetricService {
List<Long> modelIds = modelResps.stream().map(ModelResp::getId).collect(Collectors.toList()); List<Long> modelIds = modelResps.stream().map(ModelResp::getId).collect(Collectors.toList());
pageMetricReq.getModelIds().addAll(modelIds); pageMetricReq.getModelIds().addAll(modelIds);
metricFilter.setModelIds(pageMetricReq.getModelIds()); metricFilter.setModelIds(pageMetricReq.getModelIds());
List<CollectDO> collectList = collectService.getCollectList(user.getName());
List<Long> collectIds = collectList.stream().map(CollectDO::getCollectId).collect(Collectors.toList());
if (pageMetricReq.isHasCollect()) {
metricFilter.setIds(collectIds);
}
PageInfo<MetricDO> metricDOPageInfo = PageHelper.startPage(pageMetricReq.getCurrent(), PageInfo<MetricDO> metricDOPageInfo = PageHelper.startPage(pageMetricReq.getCurrent(),
pageMetricReq.getPageSize()) pageMetricReq.getPageSize())
.doSelectPageInfo(() -> queryMetric(metricFilter)); .doSelectPageInfo(() -> queryMetric(metricFilter));
PageInfo<MetricResp> pageInfo = new PageInfo<>(); PageInfo<MetricResp> pageInfo = new PageInfo<>();
BeanUtils.copyProperties(metricDOPageInfo, pageInfo); BeanUtils.copyProperties(metricDOPageInfo, pageInfo);
List<CollectDO> collectList = collectService.getCollectList(user.getName()); List<MetricResp> metricResps = convertList(metricDOPageInfo.getList(), collectIds);
List<Long> collect = collectList.stream().map(CollectDO::getCollectId).collect(Collectors.toList());
List<MetricResp> metricResps = convertList(metricDOPageInfo.getList(), collect);
fillAdminRes(metricResps, user); fillAdminRes(metricResps, user);
pageInfo.setList(metricResps); pageInfo.setList(metricResps);
return pageInfo; return pageInfo;