| dao/src/main/java/com/sandu/ximon/dao/domain/Menu.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MenuController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ximon-admin/src/main/java/com/sandu/ximon/admin/param/MenuParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ximon-admin/src/main/java/com/sandu/ximon/admin/service/MenuService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ximon-admin/src/test/java/com/sandu/ximon/admin/BaseTopicTests.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
dao/src/main/java/com/sandu/ximon/dao/domain/Menu.java
@@ -67,7 +67,7 @@ private String permission; /** * ç±»åï¼0ï¼èåï¼1ï¼æé® * ç±»åï¼0ï¼ç®å½ 1ï¼èå 2ï¼æé® */ private Integer type; @@ -83,4 +83,4 @@ @TableField(exist = false) private static final long serialVersionUID = 1L; } } ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
@@ -105,10 +105,13 @@ Long userId = SecurityUtils.getUserId(); Admin admin = adminService.getById(userId); List<Role> roles = roleService.listByAdminId(admin.getId()); if(CollectionUtil.isEmpty(roles)){ return ResponseUtil.fail("ç¨æ·æ²¡æè§è²ï¼æ æ³è·åæ°æ®"); } List<Menu> menus = menuService.listByRoleIds(roles.stream().map(Role::getId).collect(Collectors.toList())); MapBuilder<Object, Object> builder = MapUtil.builder().put("info", admin); MapBuilder<Object, Object> builder = MapUtil.builder().put("admin", admin); if (CollectionUtil.isNotEmpty(menus)) { List<Menu> collect = menus.stream().filter(menu -> menu.getType() == 0).collect(Collectors.toList()); List<Menu> collect = menus.stream().filter(menu -> menu.getType() == 0 || menu.getType() == 1).collect(Collectors.toList()); builder.put("menus", collect); } return ResponseUtil.success(builder.build()); ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MenuController.java
@@ -1,13 +1,12 @@ package com.sandu.ximon.admin.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.domain.ResponseVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.MenuParam; import com.sandu.ximon.admin.service.MenuService; import com.sandu.ximon.dao.bo.MenuNode; import com.sandu.ximon.dao.domain.Menu; import lombok.AllArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -30,27 +29,32 @@ // List<MenuNode> menuTrees = menuService.buildTree(list); // return ResponseUtil.success(menuTrees); // } // // @GetMapping("treeList") // public ResponseVO<Object> treeList() { // List<Menu> list = menuService.list(Wrappers.lambdaQuery(Menu.class)); // List<MenuNode> menuTrees = menuService.buildTree(list); // return ResponseUtil.success(menuTrees); // } // // @PutMapping // @PreAuthorize("@el.check('menu:edit')") // public ResponseVO<Object> update(@RequestBody Menu resources) { // // boolean b = menuService.updateMenu(resources); // return ResponseUtil.success(""); // } // @PostMapping // public ResponseVO<Object> addMenu(@RequestBody Menu resources) { // // boolean b = menuService.updateMenu(resources); // return ResponseUtil.success(""); // } @GetMapping("/treeList") public ResponseVO<Object> treeList() { List<MenuNode> menuTrees = menuService.treeList(); return ResponseUtil.success(menuTrees); } @PostMapping("/update/{menuId}") public ResponseVO<Object> update(@PathVariable Long menuId, @Validated @RequestBody MenuParam param) { boolean result = menuService.updateMenu(menuId,param); if (result) { return ResponseUtil.success("æ·»å æå"); } else { return ResponseUtil.fail("æ·»å 失败"); } } @PostMapping public ResponseVO<Object> addMenu(@Validated @RequestBody MenuParam param) { boolean result = menuService.addMenu(param); if (result) { return ResponseUtil.success("æ·»å æå"); } else { return ResponseUtil.fail("æ·»å 失败"); } } } ximon-admin/src/main/java/com/sandu/ximon/admin/param/MenuParam.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,63 @@ package com.sandu.ximon.admin.param; import lombok.Data; import javax.validation.constraints.NotBlank; /** * @author chenjiantian * @date 2022/1/17 18:11 */ @Data public class MenuParam { /** * èåtitle */ @NotBlank(message = "èååç§°ä¸è½ä¸ºç©º") private String title; /** * ä¸çº§èåID */ private Long pid; /** * æåº */ private Integer seq; /** * èå徿 */ private String icon; /** * 请æ±è·¯å¾ */ private String path; /** * è忝å¦éè */ private Boolean hidden; /** * ç»ä»¶è·¯å¾æ å° */ private String component; /** * è·¯ç±åç§° */ private String routerName; /** * æéåç§° */ private String permission; /** * ç±»åï¼0ï¼èåï¼1ï¼æé® */ private Integer type; } ximon-admin/src/main/java/com/sandu/ximon/admin/service/MenuService.java
@@ -3,13 +3,18 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.execption.BusinessException; import com.sandu.common.execption.EntityExistException; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.param.MenuParam; import com.sandu.ximon.dao.bo.MenuNode; import com.sandu.ximon.dao.domain.AdminRoleRelation; import com.sandu.ximon.dao.domain.Menu; import com.sandu.ximon.dao.domain.RoleMenuRelation; import com.sandu.ximon.dao.mapper.AdminRoleRelationMapper; import com.sandu.ximon.dao.mapper.MenuMapper; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.List; @@ -34,7 +39,56 @@ if (CollectionUtil.isEmpty(menuIdList)) { return null; } List<Menu> menus = listByIds(menuIdList); return menus; return listByIds(menuIdList); } public boolean addMenu(MenuParam param) { Menu menu = new Menu(); BeanUtils.copyProperties(param,menu); return save(menu); } // public Set<Menu> listMenuByRoles(Set<Role> roles) { // List<Long> roleIds = roles.stream().map(Role::getId).collect(Collectors.toList()); // Set<Menu> menus = menuDao.listMenuByRoleIds(roleIds); // return menus; // } // // /** // * æèåè½¬ææ å½¢ç»æ // */ // public List<MenuNode> buildTree(List<Menu> menuList) { // return menuList.stream() // .filter(menu -> menu.getPid().equals(0L)) // .map(menu -> covertMenuNode(menu, menuList)).collect(Collectors.toList()); // } private MenuNode covertMenuNode(Menu menu, List<Menu> menuList) { MenuNode node = new MenuNode(); BeanUtils.copyProperties(menu, node); List<MenuNode> children = menuList.stream() .filter(subMenu -> subMenu.getPid().equals(menu.getId())) .map(subMenu -> covertMenuNode(subMenu, menuList)).collect(Collectors.toList()); node.setChildren(children); return node; } public boolean updateMenu(Long menuId,MenuParam param) { Menu one = getById(menuId); if (one == null) { throw new BusinessException("æ¾ä¸å°èåä¿¡æ¯"); } Menu menu = new Menu(); BeanUtils.copyProperties(param,menu); menu.setId(menuId); return updateById(menu); } public List<MenuNode> treeList() { List<Menu> list = list(); return list.stream() .filter(menu -> menu.getPid().equals(0L)) .map(menu -> covertMenuNode(menu, list)).collect(Collectors.toList()); } } ximon-admin/src/test/java/com/sandu/ximon/admin/BaseTopicTests.java
@@ -21,6 +21,8 @@ import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum; import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService; import com.sandu.ximon.admin.service.PoleService; import com.sandu.ximon.admin.service.RoleMenuRelationService; import com.sandu.ximon.dao.domain.RoleMenuRelation; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -33,6 +35,9 @@ class BaseTopicTests { @Autowired PoleService poleService; @Autowired RoleMenuRelationService roleMenuRelationService; // æ¥è¯¢è®¾å¤è¯¦æ @Test