diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/controller/MenuController.java b/src/main/java/com/zsc/edu/gateway/modules/system/controller/MenuController.java index 366e948..5020bcc 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/controller/MenuController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/controller/MenuController.java @@ -6,6 +6,7 @@ import com.zsc.edu.gateway.modules.system.entity.Menu; import com.zsc.edu.gateway.modules.system.service.MenuService; import com.zsc.edu.gateway.modules.system.vo.MenuVo; import lombok.AllArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; @@ -25,6 +26,7 @@ public class MenuController { * 新建菜单 */ @PostMapping + @PreAuthorize("hasAuthority('system:menu:create')") public Menu create(@RequestBody MenuDto dto) { return service.create(dto); } @@ -33,6 +35,7 @@ public class MenuController { * 更新菜单 */ @PatchMapping("/{id}") + @PreAuthorize("hasAuthority('system:menu:update')") public Menu update(@RequestBody MenuDto dto, @PathVariable("id") Long id) { return service.update(dto, id); } @@ -41,6 +44,7 @@ public class MenuController { * 删除菜单 */ @DeleteMapping("/{id}") + @PreAuthorize("hasAuthority('system:menu:delete')") public Boolean delete(@PathVariable("id") Long id) { return service.delete(id); } @@ -49,7 +53,17 @@ public class MenuController { * 根据名字返回树 */ @GetMapping("/tree") + @PreAuthorize("hasAuthority('system:menu:query')") public List tree(@AuthenticationPrincipal UserDetailsImpl userDetails, @RequestParam String name) { return service.getTree(userDetails, name); } + + /** + * 根据ID查询菜单详情 + */ + @GetMapping("/{id}") + @PreAuthorize("hasAuthority('system:menu:query')") + public Menu detail(@PathVariable("id") Long id) { + return service.detail(id); + } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/MenuService.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/MenuService.java index b48f8ad..f620897 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/MenuService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/MenuService.java @@ -24,4 +24,6 @@ public interface MenuService extends IService { Boolean delete(Long id); List getTree(UserDetailsImpl userDetails, String name); + + Menu detail(Long id); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java index b328f50..245c998 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java @@ -108,4 +108,8 @@ public class MenuServiceImpl extends ServiceImpl implement return menuTrees; } + @Override + public Menu detail(Long id) { + return baseMapper.selectById(id); + } }