From 9c8039c49917ac5fc9d5e1e11697b6bf8904f657 Mon Sep 17 00:00:00 2001 From: LXW <1264174498@qq.com> Date: Wed, 10 Jan 2024 14:12:39 +0800 Subject: [PATCH] (improvement)(headless) metric list support filter by hasCollect (#613) Co-authored-by: jolunoluo --- .../headless/api/request/PageSchemaItemReq.java | 1 + .../headless/server/service/impl/MetricServiceImpl.java | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/request/PageSchemaItemReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/request/PageSchemaItemReq.java index f219dcfa7..589293f0e 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/request/PageSchemaItemReq.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/request/PageSchemaItemReq.java @@ -18,4 +18,5 @@ public class PageSchemaItemReq extends PageBaseReq { private Integer status; private String key; private List ids; + private boolean hasCollect; } diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/MetricServiceImpl.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/MetricServiceImpl.java index 47db9df09..0a46c76fe 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/MetricServiceImpl.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/MetricServiceImpl.java @@ -182,14 +182,17 @@ public class MetricServiceImpl implements MetricService { List modelIds = modelResps.stream().map(ModelResp::getId).collect(Collectors.toList()); pageMetricReq.getModelIds().addAll(modelIds); metricFilter.setModelIds(pageMetricReq.getModelIds()); + List collectList = collectService.getCollectList(user.getName()); + List collectIds = collectList.stream().map(CollectDO::getCollectId).collect(Collectors.toList()); + if (pageMetricReq.isHasCollect()) { + metricFilter.setIds(collectIds); + } PageInfo metricDOPageInfo = PageHelper.startPage(pageMetricReq.getCurrent(), pageMetricReq.getPageSize()) .doSelectPageInfo(() -> queryMetric(metricFilter)); PageInfo pageInfo = new PageInfo<>(); BeanUtils.copyProperties(metricDOPageInfo, pageInfo); - List collectList = collectService.getCollectList(user.getName()); - List collect = collectList.stream().map(CollectDO::getCollectId).collect(Collectors.toList()); - List metricResps = convertList(metricDOPageInfo.getList(), collect); + List metricResps = convertList(metricDOPageInfo.getList(), collectIds); fillAdminRes(metricResps, user); pageInfo.setList(metricResps); return pageInfo;