refactor: 目录结构调整和代码优化

This commit is contained in:
ray
2024-08-31 14:59:40 +08:00
parent f9e9dbcedd
commit 5a3694f2af
112 changed files with 644 additions and 572 deletions

View File

@@ -0,0 +1,116 @@
package com.youlai.boot.system.controller;
import com.youlai.boot.common.result.Result;
import com.youlai.boot.common.enums.LogModuleEnum;
import com.youlai.boot.common.annotation.RepeatSubmit;
import com.youlai.boot.system.model.form.MenuForm;
import com.youlai.boot.system.model.query.MenuQuery;
import com.youlai.boot.system.model.vo.MenuVO;
import com.youlai.boot.common.model.Option;
import com.youlai.boot.system.model.vo.RouteVO;
import com.youlai.boot.common.annotation.Log;
import com.youlai.boot.core.security.util.SecurityUtils;
import com.youlai.boot.system.service.MenuService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Set;
/**
* 菜单控制层
*
* @author Ray
* @since 2020/11/06
*/
@Tag(name = "04.菜单接口")
@RestController
@RequestMapping("/api/v1/menus")
@RequiredArgsConstructor
@Slf4j
public class MenuController {
private final MenuService menuService;
@Operation(summary = "菜单列表")
@GetMapping
@Log( value = "菜单列表",module = LogModuleEnum.MENU)
public Result<List<MenuVO>> listMenus(MenuQuery queryParams) {
List<MenuVO> menuList = menuService.listMenus(queryParams);
return Result.success(menuList);
}
@Operation(summary = "菜单下拉列表")
@GetMapping("/options")
public Result<?> listMenuOptions(
@Parameter(description = "是否只查询父级菜单")
@RequestParam(required = false, defaultValue = "false") boolean onlyParent
) {
List<Option> menus = menuService.listMenuOptions(onlyParent);
return Result.success(menus);
}
@Operation(summary = "菜单路由列表")
@GetMapping("/routes")
public Result<List<RouteVO>> listRoutes() {
Set<String> roles = SecurityUtils.getRoles();
List<RouteVO> routeList = menuService.listRoutes(roles);
return Result.success(routeList);
}
@Operation(summary = "菜单表单数据")
@GetMapping("/{id}/form")
public Result<MenuForm> getMenuForm(
@Parameter(description = "菜单ID") @PathVariable Long id
) {
MenuForm menu = menuService.getMenuForm(id);
return Result.success(menu);
}
@Operation(summary = "新增菜单")
@PostMapping
@PreAuthorize("@ss.hasPerm('sys:menu:add')")
@RepeatSubmit
public Result<?> addMenu(@RequestBody MenuForm menuForm) {
boolean result = menuService.saveMenu(menuForm);
return Result.judge(result);
}
@Operation(summary = "修改菜单")
@PutMapping(value = "/{id}")
@PreAuthorize("@ss.hasPerm('sys:menu:edit')")
public Result<?> updateMenu(
@RequestBody MenuForm menuForm
) {
boolean result = menuService.saveMenu(menuForm);
return Result.judge(result);
}
@Operation(summary = "删除菜单")
@DeleteMapping("/{id}")
@PreAuthorize("@ss.hasPerm('sys:menu:delete')")
public Result<?> deleteMenu(
@Parameter(description = "菜单ID多个以英文(,)分割") @PathVariable("id") Long id
) {
boolean result = menuService.deleteMenu(id);
return Result.judge(result);
}
@Operation(summary = "修改菜单显示状态")
@PatchMapping("/{menuId}")
public Result<?> updateMenuVisible(
@Parameter(description = "菜单ID") @PathVariable Long menuId,
@Parameter(description = "显示状态(1:显示;0:隐藏)") Integer visible
) {
boolean result = menuService.updateMenuVisible(menuId, visible);
return Result.judge(result);
}
}