diff --git a/core/src/main/java/datart/core/mappers/ext/VariableMapperExt.java b/core/src/main/java/datart/core/mappers/ext/VariableMapperExt.java index 64d5babe7..afa8142a6 100644 --- a/core/src/main/java/datart/core/mappers/ext/VariableMapperExt.java +++ b/core/src/main/java/datart/core/mappers/ext/VariableMapperExt.java @@ -6,6 +6,7 @@ import java.util.Collection; import java.util.List; +import java.util.Set; @Mapper public interface VariableMapperExt extends VariableMapper { @@ -41,6 +42,14 @@ public interface VariableMapperExt extends VariableMapper { }) List selectViewQueryVariables(String viewId); + @Select({ + "" + }) + List selectViewQueryVariablesByViewIds(Set viewIds); + @Select({ "SELECT * FROM variable WHERE org_id = #{orgId} AND view_id is NULL" }) diff --git a/server/src/main/java/datart/server/service/VariableService.java b/server/src/main/java/datart/server/service/VariableService.java index 43a5ab9ad..ecc792838 100644 --- a/server/src/main/java/datart/server/service/VariableService.java +++ b/server/src/main/java/datart/server/service/VariableService.java @@ -34,6 +34,8 @@ public interface VariableService extends BaseCRUDService listViewQueryVariables(String viewId); + List listViewQueryVariablesByViewIds(Set viewIds); + boolean deleteByIds(Set variableIds); boolean batchUpdate(List updateParams); diff --git a/server/src/main/java/datart/server/service/impl/DashboardServiceImpl.java b/server/src/main/java/datart/server/service/impl/DashboardServiceImpl.java index bdacb9f20..1b14058ec 100644 --- a/server/src/main/java/datart/server/service/impl/DashboardServiceImpl.java +++ b/server/src/main/java/datart/server/service/impl/DashboardServiceImpl.java @@ -187,9 +187,7 @@ public DashboardDetail getDashboardDetail(String dashboardId) { //variables LinkedList variables = new LinkedList<>(variableService.listOrgQueryVariables(dashboard.getOrgId())); if (!CollectionUtils.isEmpty(viewIds)) { - for (String viewId : viewIds) { - variables.addAll(variableService.listViewQueryVariables(viewId)); - } + variables.addAll(variableService.listViewQueryVariablesByViewIds(viewIds)); } dashboardDetail.setQueryVariables(variables); // download permission diff --git a/server/src/main/java/datart/server/service/impl/VariableServiceImpl.java b/server/src/main/java/datart/server/service/impl/VariableServiceImpl.java index 90957b07e..ab5639e1c 100644 --- a/server/src/main/java/datart/server/service/impl/VariableServiceImpl.java +++ b/server/src/main/java/datart/server/service/impl/VariableServiceImpl.java @@ -135,6 +135,10 @@ public List listViewQueryVariables(String viewId) { return variableMapper.selectViewQueryVariables(viewId); } + @Override + public List listViewQueryVariablesByViewIds(Set viewIds) { + return variableMapper.selectViewQueryVariablesByViewIds(viewIds); + } @Override @Transactional