From 07efc4a2a85528a37753428da1fe6f3d5f99c9b6 Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Tue, 21 Nov 2023 23:41:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:2.5.0=201.=20=E5=AE=8C=E6=88=90namespace?= =?UTF-8?q?=20CRUD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/NamespaceController.java | 15 +- .../server/web/service/NamespaceService.java | 2 + .../convert/NamespaceResponseVOConverter.java | 2 + .../service/impl/NamespaceServiceImpl.java | 9 +- frontend/src/api/manage.js | 30 ++- .../components/GlobalHeader/RightContent.vue | 17 +- frontend/src/config/router.config.js | 7 + .../src/views/namespace/NamespaceForm.vue | 102 ++++++++++ .../src/views/namespace/NamespaceList.vue | 179 ++++++++++++++++++ 9 files changed, 352 insertions(+), 11 deletions(-) create mode 100644 frontend/src/views/namespace/NamespaceForm.vue create mode 100644 frontend/src/views/namespace/NamespaceList.vue diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NamespaceController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NamespaceController.java index d1e865098..5d550a45c 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NamespaceController.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NamespaceController.java @@ -9,11 +9,7 @@ import com.aizuda.easy.retry.server.web.service.NamespaceService; import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -39,12 +35,17 @@ public class NamespaceController { return namespaceService.updateNamespace(namespaceRequestVO); } - @PutMapping + @GetMapping("list") public PageResult> getNamespacePage(NamespaceQueryVO queryVO) { return namespaceService.getNamespacePage(queryVO); } - @PutMapping + @DeleteMapping("{id}") + public Boolean deleteNamespace(@PathVariable("id") Long id) { + return namespaceService.deleteNamespace(id); + } + +// @PutMapping public List getNamespaceByUserId(@LoginUser SystemUser systemUser) { return namespaceService.getNamespaceByUserId(systemUser); } diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NamespaceService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NamespaceService.java index 34454a328..e817c3aac 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NamespaceService.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NamespaceService.java @@ -22,4 +22,6 @@ public interface NamespaceService { PageResult> getNamespacePage(NamespaceQueryVO queryVO); List getNamespaceByUserId(SystemUser systemUser); + + Boolean deleteNamespace(Long id); } diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NamespaceResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NamespaceResponseVOConverter.java index cddc1cc1f..18ae86ecf 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NamespaceResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NamespaceResponseVOConverter.java @@ -2,6 +2,7 @@ package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.server.web.model.response.NamespaceResponseVO; import com.aizuda.easy.retry.template.datasource.persistence.po.Namespace; +import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import java.util.List; @@ -11,6 +12,7 @@ import java.util.List; * @date : 2023-11-21 16:20 * @since : 2.5.0 */ +@Mapper public interface NamespaceResponseVOConverter { NamespaceResponseVOConverter INSTANCE = Mappers.getMapper(NamespaceResponseVOConverter.class); diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NamespaceServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NamespaceServiceImpl.java index f05155a59..3f0f3dae5 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NamespaceServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NamespaceServiceImpl.java @@ -59,11 +59,11 @@ public class NamespaceServiceImpl implements NamespaceService { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if (StrUtil.isNotBlank(queryVO.getName())) { - queryWrapper.like(Namespace::getName, "%" + queryVO.getName() + "%"); + queryWrapper.like(Namespace::getName,queryVO.getName() + "%"); } queryWrapper.eq(Namespace::getDeleted, StatusEnum.NO); - + queryWrapper.orderByDesc(Namespace::getId); PageDTO selectPage = namespaceMapper.selectPage(pageDTO, queryWrapper); return new PageResult<>(pageDTO, NamespaceResponseVOConverter.INSTANCE.toNamespaceResponseVOs(selectPage.getRecords())); } @@ -72,4 +72,9 @@ public class NamespaceServiceImpl implements NamespaceService { public List getNamespaceByUserId(final SystemUser systemUser) { return null; } + + @Override + public Boolean deleteNamespace(Long id) { + return 1 == namespaceMapper.deleteById(id); + } } diff --git a/frontend/src/api/manage.js b/frontend/src/api/manage.js index d622ca14d..7ab1c6edb 100644 --- a/frontend/src/api/manage.js +++ b/frontend/src/api/manage.js @@ -45,11 +45,39 @@ const api = { systemVersion: '/system/version', pods: '/dashboard/pods', consumerGroup: '/dashboard/consumer/group', - updateGroupStatus: '/group/status' + updateGroupStatus: '/group/status', + + addNamespace: '/namespace', + updateNamespace: '/namespace', + namespaceList: '/namespace/list', + delNamespace: '/namespace/' } export default api +export function delNamespace (id) { + return request({ + url: api.delNamespace + id, + method: 'delete' + }) +} + +export function addNamespace (data) { + return request({ + url: api.addNamespace, + method: 'post', + data + }) +} + +export function namespaceList (parameter) { + return request({ + url: api.namespaceList, + method: 'get', + params: parameter + }) +} + export function delUser (id) { return request({ url: api.delUser + id, diff --git a/frontend/src/components/GlobalHeader/RightContent.vue b/frontend/src/components/GlobalHeader/RightContent.vue index 669b9340b..ed73e0d33 100644 --- a/frontend/src/components/GlobalHeader/RightContent.vue +++ b/frontend/src/components/GlobalHeader/RightContent.vue @@ -1,9 +1,24 @@ diff --git a/frontend/src/config/router.config.js b/frontend/src/config/router.config.js index dd82adea2..1158b339f 100644 --- a/frontend/src/config/router.config.js +++ b/frontend/src/config/router.config.js @@ -38,6 +38,13 @@ export const asyncRouterMap = [ ] }, // profile + { + path: '/namespace', + name: 'namespace', + component: () => import('@/views/namespace/NamespaceList'), + meta: { title: '命名空间', icon: 'team', permission: ['group'] } + }, + // profile { path: '/basic-config-list', name: 'basicConfigList', diff --git a/frontend/src/views/namespace/NamespaceForm.vue b/frontend/src/views/namespace/NamespaceForm.vue new file mode 100644 index 000000000..107fe754d --- /dev/null +++ b/frontend/src/views/namespace/NamespaceForm.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/frontend/src/views/namespace/NamespaceList.vue b/frontend/src/views/namespace/NamespaceList.vue new file mode 100644 index 000000000..9d2e8a8d3 --- /dev/null +++ b/frontend/src/views/namespace/NamespaceList.vue @@ -0,0 +1,179 @@ + + + +