From 750bbce2be903da6738302e6b872750694c20828 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Fri, 8 Sep 2023 16:29:13 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E6=9D=83=E9=99=90=E7=82=B9):=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E8=BF=94=E5=9B=9E=E5=AF=B9=E8=B1=A1=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=EF=BC=9B=E8=BF=BD=E5=8A=A0=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tyr/client/feign/PermissionPointApi.java | 3 ++- .../model/permission/PermissionPointDTO.java | 6 +++++ .../permission/PermissionPointController.java | 3 ++- .../service/PermissionPointService.java | 3 ++- .../impl/PermissionPointServiceImpl.java | 25 +++++++++++-------- .../permission/PermissionPointTest.java | 3 ++- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PermissionPointApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PermissionPointApi.java index 537a00c3..cffb233d 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PermissionPointApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PermissionPointApi.java @@ -4,6 +4,7 @@ import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.model.permission.PermissionPointDTO; import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; import cn.axzo.tyr.client.model.permission.PermissionPointTreeQueryReq; +import cn.axzo.tyr.client.model.permission.PermissionPointVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -29,7 +30,7 @@ public interface PermissionPointApi { /** 根据权限点ID查询详情 **/ @GetMapping(value = "/api/v1/permissionPoint/getDetail/{permissionId}") - ApiResult getDetail(@PathVariable Long permissionId); + ApiResult getDetail(@PathVariable Long permissionId); /** 根据权限点ID批量查询节点信息 **/ @PostMapping(value = "/api/v1/permissionPoint/listTreeNodesByIds") diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointDTO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointDTO.java index a36bace0..2d2071c5 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointDTO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointDTO.java @@ -2,6 +2,8 @@ package cn.axzo.tyr.client.model.permission; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.time.LocalDateTime; import java.util.List; @@ -23,11 +25,13 @@ public class PermissionPointDTO { /** * 权限点名称 */ + @NotBlank(message = "权限点名称不能为空") private String featureName; /** * 元素code */ + @NotBlank(message = "权限点元素code不能为空") private String featureCode; /** @@ -80,11 +84,13 @@ public class PermissionPointDTO { /** * 菜单适用工作台 */ + @NotBlank(message = "所属工作台不能为空") private String terminal; /** * 元素类别 0.模块 1.菜单 2页面 3按钮 */ + @NotNull(message = "元素类别不能为空") private Integer featureType; diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/permission/PermissionPointController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/permission/PermissionPointController.java index 448e6aee..4c622c62 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/permission/PermissionPointController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/permission/PermissionPointController.java @@ -5,6 +5,7 @@ import cn.axzo.tyr.client.feign.PermissionPointApi; import cn.axzo.tyr.client.model.permission.PermissionPointDTO; import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; import cn.axzo.tyr.client.model.permission.PermissionPointTreeQueryReq; +import cn.axzo.tyr.client.model.permission.PermissionPointVO; import cn.axzo.tyr.server.service.PermissionPointService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -35,7 +36,7 @@ public class PermissionPointController implements PermissionPointApi { } @Override - public ApiResult getDetail(Long permissionId) { + public ApiResult getDetail(Long permissionId) { return ApiResult.ok(permissionPointService.getDetail(permissionId)); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/PermissionPointService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/PermissionPointService.java index 39b5e42f..68bea9fb 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/PermissionPointService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/PermissionPointService.java @@ -3,6 +3,7 @@ package cn.axzo.tyr.server.service; import cn.axzo.tyr.client.model.permission.PermissionPointDTO; import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; import cn.axzo.tyr.client.model.permission.PermissionPointTreeQueryReq; +import cn.axzo.tyr.client.model.permission.PermissionPointVO; import java.util.List; @@ -28,7 +29,7 @@ public interface PermissionPointService { /** * 根据权限点ID查询详情 * **/ - PermissionPointDTO getDetail(Long permissionId); + PermissionPointVO getDetail(Long permissionId); /** 保存权限点 **/ void save(PermissionPointDTO dto); diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java index 29c3d5ed..ac6bc1b4 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionPointServiceImpl.java @@ -8,6 +8,7 @@ import cn.axzo.tyr.client.model.enums.FeatureType; import cn.axzo.tyr.client.model.permission.PermissionPointDTO; import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; import cn.axzo.tyr.client.model.permission.PermissionPointTreeQueryReq; +import cn.axzo.tyr.client.model.permission.PermissionPointVO; import cn.axzo.tyr.server.repository.entity.SaasFeature; import cn.axzo.tyr.server.repository.service.SaasFeatureDao; import cn.axzo.tyr.server.service.PermissionPointService; @@ -138,25 +139,26 @@ public class PermissionPointServiceImpl implements PermissionPointService { } @Override - public PermissionPointDTO getDetail(Long permissionId) { + public PermissionPointVO getDetail(Long permissionId) { SaasFeature feature = this.saasFeatureDao.getById(permissionId); if (feature == null) { log.warn("no saasFeature found for:{}", permissionId); throw new BizException(BaseCode.BAD_REQUEST); } - PermissionPointDTO dto = BeanMapper.copyBean(feature, PermissionPointDTO.class); + PermissionPointVO vo = BeanMapper.copyBean(feature, PermissionPointVO.class); + vo.setFeatureTypeDesc(FeatureType.apply(vo.getFeatureType()).getDesc()); //补充上级信息 //TODO:@Zhan 依赖字典接口构建上级 List pathName = new ArrayList<>(); - if (dto.getParentId() == null || dto.getParentId() == 0) { + if (vo.getParentId() == null || vo.getParentId() == 0) { //没有parent直接挂在工作台下 - dto.setParentName(""); - dto.setPathName(pathName); - return dto; + vo.setParentName(""); + vo.setPathName(pathName); + return vo; } //所有父级处理 - List split = StrUtil.split(dto.getPath(), FEATURE_PATH_DELIMITER, true, true); + List split = StrUtil.split(vo.getPath(), FEATURE_PATH_DELIMITER, true, true); List ids = split.stream() .filter(x -> !StrUtil.equals(FEATURE_NO_PARENT, x)) .map(Long::valueOf) @@ -167,10 +169,13 @@ public class PermissionPointServiceImpl implements PermissionPointService { for (Long parentId : ids) { pathName.add(parentsMapping.get(parentId).getFeatureName()); } - dto.setPathName(pathName); - dto.setParentName(parentsMapping.get(dto.getParentId()).getFeatureName()); + vo.setPathName(pathName); + SaasFeature parent = parentsMapping.get(vo.getParentId()); + vo.setParentName(parent.getFeatureName()); + vo.setParentFeatureType(parent.getFeatureType()); + vo.setParentFeatureTypeDes(FeatureType.apply(parent.getFeatureType()).getDesc()); - return dto; + return vo; } @Override diff --git a/tyr-server/src/test/java/cn/axzo/tyr/server/permission/PermissionPointTest.java b/tyr-server/src/test/java/cn/axzo/tyr/server/permission/PermissionPointTest.java index a85c1b0b..ace2ed4a 100644 --- a/tyr-server/src/test/java/cn/axzo/tyr/server/permission/PermissionPointTest.java +++ b/tyr-server/src/test/java/cn/axzo/tyr/server/permission/PermissionPointTest.java @@ -4,6 +4,7 @@ import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.model.permission.PermissionPointDTO; import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode; import cn.axzo.tyr.client.model.permission.PermissionPointTreeQueryReq; +import cn.axzo.tyr.client.model.permission.PermissionPointVO; import cn.axzo.tyr.server.controller.permission.PermissionPointController; import cn.axzo.tyr.server.repository.entity.SaasFeature; import cn.axzo.tyr.server.repository.service.SaasFeatureDao; @@ -49,7 +50,7 @@ public class PermissionPointTest { @Test public void testGetDetail() { Long permissionId = 360L; - ApiResult result = controller.getDetail(permissionId); + ApiResult result = controller.getDetail(permissionId); System.out.println(JSON.toJSONString(result)); }