diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/PageSchemaItemReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/PageSchemaItemReq.java index f8260957a..01e5952c0 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/PageSchemaItemReq.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/PageSchemaItemReq.java @@ -15,6 +15,7 @@ public class PageSchemaItemReq extends PageBaseReq { private String createdBy; private List domainIds = Lists.newArrayList(); private List modelIds = Lists.newArrayList(); + private Long dataSetId; private Integer sensitiveLevel; private Integer status; private String key; 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 b0e3dd9ff..1db9abf4f 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 @@ -374,7 +374,15 @@ public class MetricServiceImpl extends ServiceImpl MetricFilter metricFilter = new MetricFilter(); metricFilter.setUserName(user.getName()); BeanUtils.copyProperties(pageMetricReq, metricFilter); - if (!CollectionUtils.isEmpty(pageMetricReq.getDomainIds())) { + + // If dataSetId is provided, get models directly from the dataset + if (pageMetricReq.getDataSetId() != null) { + DataSetResp dataSetResp = dataSetService.getDataSet(pageMetricReq.getDataSetId()); + if (dataSetResp != null) { + pageMetricReq.getModelIds().addAll(dataSetResp.getAllModels()); + } + } else if (!CollectionUtils.isEmpty(pageMetricReq.getDomainIds())) { + // Only check domainIds when dataSetId is not provided List modelResps = modelService.getAllModelByDomainIds(pageMetricReq.getDomainIds()); List modelIds =