From ec1cda9bc4af891f2b5d593294040705d70b6ef3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E5=88=98=E6=B4=AA=E9=9D=92?= Date: Fri, 6 Sep 2019 17:50:12 +0800 Subject: [PATCH] =?utf8?q?fix:=20=E5=AE=8C=E5=96=84=E6=8E=88=E6=9D=83?= =?utf8?q?=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../v1/admin/AdminPermissionController.java | 42 +++++++++++++++++++ .../base/domain/entity/Permission.java | 8 ++++ .../domain/service/PermissionService.java | 18 ++++++-- .../framework/exception/BaseException.java | 27 +++++++++++- .../framework/repo/BaseJpaRepository.java | 4 ++ 5 files changed, 93 insertions(+), 6 deletions(-) diff --git a/base/api/src/main/java/com/supwisdom/institute/backend/base/api/v1/admin/AdminPermissionController.java b/base/api/src/main/java/com/supwisdom/institute/backend/base/api/v1/admin/AdminPermissionController.java index 7859731..f10244a 100644 --- a/base/api/src/main/java/com/supwisdom/institute/backend/base/api/v1/admin/AdminPermissionController.java +++ b/base/api/src/main/java/com/supwisdom/institute/backend/base/api/v1/admin/AdminPermissionController.java @@ -1,5 +1,47 @@ package com.supwisdom.institute.backend.base.api.v1.admin; +import java.util.HashMap; +import java.util.Map; + +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.util.MimeTypeUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; + +import com.supwisdom.institute.backend.base.api.vo.response.PermissionTreeResponseData; +import com.supwisdom.institute.backend.base.domain.model.PermissionTreeNode; +import com.supwisdom.institute.backend.base.domain.service.PermissionService; +import com.supwisdom.institute.backend.common.framework.vo.response.DefaultApiResponse; + +@Api(value = "BaseAdminPermission", tags = { "BaseAdminPermission" }, description = "权限的操作接口") +@Slf4j +@RestController +@RequestMapping("/v1/admin/permissions") public class AdminPermissionController { + @Autowired + private PermissionService permissionService; + + @GetMapping(path = "/tree", produces = MimeTypeUtils.APPLICATION_JSON_VALUE) + @ResponseStatus(value = HttpStatus.OK) + @ResponseBody + public DefaultApiResponse tree() { + + Map mapBean = new HashMap(); + //mapBean.put("type", Permission.TYPE_MENU); + + PermissionTreeNode tree = permissionService.selectPermissionTree(mapBean); + + PermissionTreeResponseData data = PermissionTreeResponseData.of(tree); + + return new DefaultApiResponse(data); + } + } diff --git a/base/domain/src/main/java/com/supwisdom/institute/backend/base/domain/entity/Permission.java b/base/domain/src/main/java/com/supwisdom/institute/backend/base/domain/entity/Permission.java index 3707ec7..1fedb61 100644 --- a/base/domain/src/main/java/com/supwisdom/institute/backend/base/domain/entity/Permission.java +++ b/base/domain/src/main/java/com/supwisdom/institute/backend/base/domain/entity/Permission.java @@ -143,6 +143,14 @@ public class Permission extends ABaseEntity { this.url = url; } + public String getApplicationId() { + return applicationId; + } + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + public String getParentId() { return parentId; } diff --git a/base/domain/src/main/java/com/supwisdom/institute/backend/base/domain/service/PermissionService.java b/base/domain/src/main/java/com/supwisdom/institute/backend/base/domain/service/PermissionService.java index 31119b3..ead21b9 100644 --- a/base/domain/src/main/java/com/supwisdom/institute/backend/base/domain/service/PermissionService.java +++ b/base/domain/src/main/java/com/supwisdom/institute/backend/base/domain/service/PermissionService.java @@ -27,6 +27,16 @@ public class PermissionService extends ABaseService ids) { @@ -47,10 +57,7 @@ public class PermissionService extends ABaseService parentTreeNode = new LinkedHashMap(); - PermissionTreeNode rootTreeNode = new PermissionTreeNode(); - rootTreeNode.setId(applicationPermission.getId()); - rootTreeNode.setCode(applicationPermission.getCode()); - rootTreeNode.setName(applicationPermission.getName()); + PermissionTreeNode rootTreeNode = EntityUtils.copy(applicationPermission, new PermissionTreeNode()); rootTreeNode.setChildren(new ArrayList()); parentTreeNode.put(rootTreeNode.getId(), rootTreeNode); @@ -60,6 +67,9 @@ public class PermissionService extends ABaseService()); + if (parentTreeNode.containsKey(treeNode.getId())) { + continue; + } parentTreeNode.put(treeNode.getId(), treeNode); } diff --git a/common/framework/src/main/java/com/supwisdom/institute/backend/common/framework/exception/BaseException.java b/common/framework/src/main/java/com/supwisdom/institute/backend/common/framework/exception/BaseException.java index 5f10b42..9e13ed0 100644 --- a/common/framework/src/main/java/com/supwisdom/institute/backend/common/framework/exception/BaseException.java +++ b/common/framework/src/main/java/com/supwisdom/institute/backend/common/framework/exception/BaseException.java @@ -12,27 +12,45 @@ public class BaseException extends RuntimeException { /** * 具体异常码 */ - protected int code = -1; + protected final int code; + + private final String messageCode; + @Deprecated public BaseException(int code, String msgFormat, Object... args) { super(String.format(msgFormat, args)); this.code = code; + this.messageCode = null; } + + public BaseException(int code, String messageCode, String msgFormat, Object... args) { + super(String.format(msgFormat, args)); + this.code = code; + this.messageCode = messageCode; +} public BaseException() { - super(); + super(); + this.code = DEFAULT_CODE; + this.messageCode = null; } public BaseException(String message, Throwable cause) { super(message, cause); + this.code = DEFAULT_CODE; + this.messageCode = null; } public BaseException(Throwable cause) { super(cause); + this.code = DEFAULT_CODE; + this.messageCode = null; } public BaseException(String message) { super(message); + this.code = DEFAULT_CODE; + this.messageCode = null; } public int getCode() { @@ -51,8 +69,13 @@ public class BaseException extends RuntimeException { return new BaseException(DEFAULT_CODE, msgFormat, args); } + @Deprecated public static BaseException newInstance(int code, String msgFormat, Object... args) { return new BaseException(code, msgFormat, args); } + + public static BaseException newInstance(int code, String messageCode, String msgFormat, Object... args) { + return new BaseException(code, messageCode, msgFormat, args); + } } diff --git a/common/framework/src/main/java/com/supwisdom/institute/backend/common/framework/repo/BaseJpaRepository.java b/common/framework/src/main/java/com/supwisdom/institute/backend/common/framework/repo/BaseJpaRepository.java index 2be2c31..e5308df 100644 --- a/common/framework/src/main/java/com/supwisdom/institute/backend/common/framework/repo/BaseJpaRepository.java +++ b/common/framework/src/main/java/com/supwisdom/institute/backend/common/framework/repo/BaseJpaRepository.java @@ -40,6 +40,10 @@ public interface BaseJpaRepository extends JpaRepository< Specification spec = convertToSpec(mapBean); + if (pageIndex == -1) { + loadAll = true; + } + if (loadAll) { pageIndex = 0; pageSize = Integer.MAX_VALUE; -- 2.17.1