diff --git a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java index 28bb812286..dbe2e68035 100644 --- a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java +++ b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java @@ -14,6 +14,7 @@ import io.dataease.dto.PermissionProxy; import io.dataease.dto.authModel.VAuthModelDTO; import io.dataease.dto.panel.PanelExport2App; import io.dataease.dto.panel.PanelGroupDTO; +import io.dataease.plugins.common.base.domain.PanelGroup; import io.dataease.service.panel.PanelGroupService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -50,6 +51,12 @@ public class PanelGroupController { return panelGroupService.tree(request); } + @ApiOperation("查询当前用户仪表板") + @GetMapping("/list") + public List list() { + return panelGroupService.list(); + } + @ApiOperation("默认树") @PostMapping("/defaultTree") public List defaultTree(@RequestBody PanelGroupRequest request) { diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java index 68d10de928..30dbcd2c75 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java +++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java @@ -3,6 +3,7 @@ package io.dataease.ext; import io.dataease.controller.request.panel.PanelGroupRequest; import io.dataease.dto.RelationDTO; import io.dataease.dto.panel.PanelGroupDTO; +import io.dataease.plugins.common.base.domain.PanelGroup; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -30,4 +31,6 @@ public interface ExtPanelGroupMapper { List panelGroupInit(); List queryPanelRelation(@Param("panelId") String panelId, @Param("userId") Long userId); + + List listPanelByUser(@Param("userId") long userId); } diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml index d172a7e8f4..4c6343e5e3 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml +++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml @@ -320,4 +320,38 @@ where pg.id=#{panelId,jdbcType=VARCHAR} group by dt.id + + diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index 947073c9dd..64f48249e3 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import io.dataease.auth.annotation.DeCleaner; +import io.dataease.auth.api.dto.CurrentUserDto; import io.dataease.commons.constants.*; import io.dataease.commons.utils.*; import io.dataease.controller.request.authModel.VAuthModelRequest; @@ -151,6 +152,17 @@ public class PanelGroupService { return TreeUtils.mergeTree(panelGroupDTOList, "default_panel"); } + public List list() { + CurrentUserDto user = AuthUtils.getUser(); + if (user.getIsAdmin()) { + PanelGroupExample example = new PanelGroupExample(); + example.setOrderByClause("name"); + example.createCriteria().andNodeTypeEqualTo("panel"); + return panelGroupMapper.selectByExample(example); + } + return extPanelGroupMapper.listPanelByUser(user.getUserId()); + } + @DeCleaner(value = DePermissionType.PANEL, key = "pid") public String save(PanelGroupRequest request) { checkPanelName(request.getName(), request.getPid(), PanelConstants.OPT_TYPE_INSERT, null, request.getNodeType());