From fd02009741fbc7bc520000edb0c19afb6c27f29e Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期三, 07 一月 2026 15:46:49 +0800
Subject: [PATCH] #
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MenuPdaController.java | 68 ++++++++++++++++++++++++++++------
1 files changed, 56 insertions(+), 12 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MenuPdaController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MenuPdaController.java
index 3772d5d..2672972 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MenuPdaController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MenuPdaController.java
@@ -43,7 +43,7 @@
}
@PreAuthorize("hasAuthority('manager:menuPda:list')")
- @PostMapping({"/menuPda/many/{ids}", "/menuPdas/many/{ids}"})
+ @PostMapping({ "/menuPda/many/{ids}", "/menuPdas/many/{ids}" })
public R many(@PathVariable Long[] ids) {
return R.ok().add(menuPdaService.listByIds(Arrays.asList(ids)));
}
@@ -54,15 +54,19 @@
return R.ok().add(menuPdaService.getById(id));
}
- @PreAuthorize("hasAuthority('system:menu:list')")
+ // @PreAuthorize("hasAuthority('system:menu:list')")
@PostMapping("/menuPda/tree")
public R tree(@RequestBody Map<String, Object> map) {
-// PageParam<Menu, BaseParam> param = new PageParam<>(buildParam(map, BaseParam.class), Menu.class);
-// QueryWrapper<Menu> wrapper = param.buildWrapper(true, queryWrapper -> queryWrapper.orderByAsc("sort"));
-// List<Menu> menus = menuService.list(wrapper);
-// return R.ok().add(Utils.toTreeData(menus, 0L, Menu::getParentId, Menu::getId, Menu::setChildren));
+ // PageParam<Menu, BaseParam> param = new PageParam<>(buildParam(map,
+ // BaseParam.class), Menu.class);
+ // QueryWrapper<Menu> wrapper = param.buildWrapper(true, queryWrapper ->
+ // queryWrapper.orderByAsc("sort"));
+ // List<Menu> menus = menuService.list(wrapper);
+ // return R.ok().add(Utils.toTreeData(menus, 0L, Menu::getParentId, Menu::getId,
+ // Menu::setChildren));
List<MenuPda> menuList = menuPdaService.list(new LambdaQueryWrapper<MenuPda>().orderByAsc(MenuPda::getSort));
- List<MenuPda> treeData = Utils.toTreeData(menuList, 0L, MenuPda::getParentId, MenuPda::getId, MenuPda::setChildren);
+ List<MenuPda> treeData = Utils.toTreeData(menuList, 0L, MenuPda::getParentId, MenuPda::getId,
+ MenuPda::setChildren);
if (!Cools.isEmpty(map.get("condition"))) {
Utils.treeRemove(treeData, String.valueOf(map.get("condition")), MenuPda::getName, MenuPda::getChildren);
Utils.treeRemove(treeData, String.valueOf(map.get("condition")), MenuPda::getName, MenuPda::getChildren);
@@ -74,8 +78,9 @@
@OperationLog("Save Menu")
@PostMapping("/menuPda/save")
public R save(@RequestBody MenuPda menu) {
+ MenuPda parent = null;
if (menu.getParentId() != null && menu.getParentId() > 0) {
- MenuPda parent = menuPdaService.getById(menu.getParentId());
+ parent = menuPdaService.getById(menu.getParentId());
if (parent != null) {
menu.setParentName(parent.getName());
}
@@ -84,7 +89,8 @@
}
NodeUtils nodeUtils = new NodeUtils();
- nodeUtils.generatePath0(item -> menuPdaService.getById(item.getParentId()), menu, MenuPda::getId, MenuPda::getName, MenuPda::getParentId);
+ nodeUtils.generatePath0(item -> menuPdaService.getById(item.getParentId()), menu, MenuPda::getId,
+ MenuPda::getName, MenuPda::getParentId);
menu.setPath(nodeUtils.path.toString());
menu.setPathName(nodeUtils.pathName.toString());
@@ -95,7 +101,45 @@
if (!menuPdaService.save(menu)) {
return R.error("Save Fail");
}
+
+ // 濡傛灉鏄浜岀骇鑿滃崟锛坧arent鐨刾arentId涓�0锛屼笖褰撳墠鑿滃崟鏄彍鍗曠被鍨嬶級锛岃嚜鍔ㄥ垱寤簉eset鍜宻ubmit鎸夐挳
+ if (parent != null && parent.getParentId() != null && parent.getParentId() == 0L
+ && (menu.getType() == null || menu.getType() == MenuPda.TYPE_MENU)) {
+ createButtonForMenu(menu, "reset", "閲嶇疆", 1);
+ createButtonForMenu(menu, "submit", "鎻愪氦", 2);
+ }
+
return R.ok("Save Success").add(menu);
+ }
+
+ /**
+ * 涓鸿彍鍗曞垱寤烘寜閽�
+ */
+ private void createButtonForMenu(MenuPda parentMenu, String code, String name, int sort) {
+ MenuPda button = new MenuPda();
+ button.setName(name);
+ button.setParentId(parentMenu.getId());
+ button.setParentName(parentMenu.getName());
+ button.setRoute(code);
+ button.setType(MenuPda.TYPE_BTN);
+ button.setSort(sort);
+ button.setStatus(1);
+ button.setDeleted(0);
+ button.setTenantId(parentMenu.getTenantId());
+
+ // 鐢熸垚璺緞
+ NodeUtils nodeUtils = new NodeUtils();
+ nodeUtils.generatePath0(item -> menuPdaService.getById(item.getParentId()), button, MenuPda::getId,
+ MenuPda::getName, MenuPda::getParentId);
+ button.setPath(nodeUtils.path.toString());
+ button.setPathName(nodeUtils.pathName.toString());
+
+ button.setCreateBy(getLoginUserId());
+ button.setCreateTime(new Date());
+ button.setUpdateBy(getLoginUserId());
+ button.setUpdateTime(new Date());
+
+ menuPdaService.save(button);
}
@PreAuthorize("hasAuthority('system:menu:update')")
@@ -112,7 +156,8 @@
}
NodeUtils nodeUtils = new NodeUtils();
- nodeUtils.generatePath0(item -> menuPdaService.getById(item.getParentId()), menu, MenuPda::getId, MenuPda::getName, MenuPda::getParentId);
+ nodeUtils.generatePath0(item -> menuPdaService.getById(item.getParentId()), menu, MenuPda::getId,
+ MenuPda::getName, MenuPda::getParentId);
menu.setPath(nodeUtils.path.toString());
menu.setPathName(nodeUtils.pathName.toString());
@@ -143,8 +188,7 @@
wrapper.like(MenuPda::getName, condition);
}
menuPdaService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
- item -> vos.add(new KeyValVo(item.getId(), item.getName()))
- );
+ item -> vos.add(new KeyValVo(item.getId(), item.getName())));
return R.ok().add(vos);
}
--
Gitblit v1.9.1