package com.backendsys.modules.cms.navigation.controller; import com.backendsys.modules.cms.navigation.entity.Navigation; import com.backendsys.modules.cms.navigation.service.NavigationService; import com.backendsys.modules.common.utils.Result; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @Validated @RestController @Tag(name = "导航管理") public class NavigationController { @Autowired private NavigationService navigationService; @Operation(summary = "获取导航列表") @PreAuthorize("@sr.hasPermission('14.3')") @GetMapping("/api/cms/navigation/getNavigationList") public Result getNavigation(@Validated Navigation navigation) { return Result.success().put("data", navigationService.selectNavigationList(navigation)); } @Operation(summary = "获取导航详情") @PreAuthorize("@sr.hasPermission('14.3.1')") @GetMapping("/api/cms/navigation/getNavigationDetail") public Result getNavigationDetail(@Validated(Navigation.Detail.class) Navigation navigation) { return Result.success().put("data", navigationService.selectNavigationDetail(navigation)); } @Operation(summary = "创建导航") @PreAuthorize("@sr.hasPermission('14.3.2')") @PostMapping("/api/cms/navigation/createNavigation") public Result createNavigation(@Validated(Navigation.Create.class) @RequestBody Navigation navigation) { return Result.success().put("data", navigationService.insertNavigation(navigation)); } @Operation(summary = "编辑导航") @PreAuthorize("@sr.hasPermission('14.3.3')") @PutMapping("/api/cms/navigation/updateNavigation") public Result updateNavigation(@Validated(Navigation.Update.class) @RequestBody Navigation navigation) { return Result.success().put("data", navigationService.updateNavigation(navigation)); } @Operation(summary = "删除导航") @PreAuthorize("@sr.hasPermission('14.3.4')") @DeleteMapping("/api/cms/navigation/deleteNavigation") public Result deleteNavigation(@Validated(Navigation.Delete.class) @RequestBody Navigation navigation) { return Result.success().put("data", navigationService.deleteNavigation(navigation)); } @Operation(summary = "删除导航 (批量)") @PreAuthorize("@sr.hasPermission('14.3.4')") @DeleteMapping("/api/cms/navigation/deleteNavigationBatch") public Result deleteNavigationBatch(@Validated(Navigation.DeleteBatch.class) @RequestBody Navigation navigation) { return Result.success().put("data", navigationService.deleteNavigationBatch(navigation)); } }