From 92ddc6af4d52ee1915544ce1d060cfaf5ffec494 Mon Sep 17 00:00:00 2001 From: tjq Date: Fri, 22 Nov 2024 22:03:06 +0800 Subject: [PATCH] feat: support create app with namespace_code #976 --- .../powerjob/server/web/controller/AppInfoController.java | 5 +++++ .../powerjob/server/web/request/ModifyAppInfoRequest.java | 4 ++++ .../powerjob/server/web/service/NamespaceWebService.java | 2 ++ .../server/web/service/impl/NamespaceWebServiceImpl.java | 8 ++++++++ 4 files changed, 19 insertions(+) diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/AppInfoController.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/AppInfoController.java index 6b312ad4..3206548c 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/AppInfoController.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/AppInfoController.java @@ -82,6 +82,11 @@ public class AppInfoController { @ApiPermission(name = "App-Save", roleScope = RoleScope.APP, dynamicPermissionPlugin = ModifyOrCreateDynamicPermission.class, grandPermissionPlugin = SaveAppGrantPermissionPlugin.class) public ResultDTO saveAppInfo(@RequestBody ModifyAppInfoRequest req) { + // 根据 ns code 填充 namespaceId(自动化创建过程中,固定的 namespace-code 对用户更友好) + if (StringUtils.isNotEmpty(req.getNamespaceCode())) { + namespaceWebService.findByCode(req.getNamespaceCode()).ifPresent(x -> req.setNamespaceId(x.getId())); + } + req.valid(); AppInfoDO appInfoDO; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/request/ModifyAppInfoRequest.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/request/ModifyAppInfoRequest.java index 4669cf62..7d86fbd0 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/request/ModifyAppInfoRequest.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/request/ModifyAppInfoRequest.java @@ -17,7 +17,11 @@ public class ModifyAppInfoRequest { private Long id; private String appName; + /** + * namespace 唯一标识,任选其一传递即可 + */ private Long namespaceId; + private String namespaceCode; private String oldPassword; private String password; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/NamespaceWebService.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/NamespaceWebService.java index 07f9d218..8ff706aa 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/NamespaceWebService.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/NamespaceWebService.java @@ -22,6 +22,8 @@ public interface NamespaceWebService { Optional findById(Long id); + Optional findByCode(String code); + Page list(QueryNamespaceRequest queryNamespaceRequest); List listAll(); diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/NamespaceWebServiceImpl.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/NamespaceWebServiceImpl.java index 342dbfd6..e376adf2 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/NamespaceWebServiceImpl.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/NamespaceWebServiceImpl.java @@ -114,6 +114,14 @@ public class NamespaceWebServiceImpl implements NamespaceWebService { return namespaceRepository.findById(id); } + @Override + public Optional findByCode(String code) { + if (StringUtils.isEmpty(code)) { + return Optional.empty(); + } + return namespaceRepository.findByCode(code); + } + @Override public Page list(QueryNamespaceRequest queryNamespaceRequest) { String codeLike = queryNamespaceRequest.getCodeLike();