NavigationController.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.backendsys.modules.cms.navigation.controller;
  2. import com.backendsys.modules.cms.navigation.entity.Navigation;
  3. import com.backendsys.modules.cms.navigation.service.NavigationService;
  4. import com.backendsys.modules.common.aspect.SysLog;
  5. import com.backendsys.modules.common.config.security.annotations.Anonymous;
  6. import com.backendsys.modules.common.config.security.utils.HttpRequestUtil;
  7. import com.backendsys.modules.common.utils.Result;
  8. import com.backendsys.utils.LanguageUtil;
  9. import io.swagger.v3.oas.annotations.Operation;
  10. import io.swagger.v3.oas.annotations.tags.Tag;
  11. import jakarta.servlet.http.HttpServletRequest;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.security.access.prepost.PreAuthorize;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.validation.annotation.Validated;
  16. import org.springframework.web.bind.annotation.*;
  17. @Validated
  18. @RestController
  19. @Tag(name = "导航管理")
  20. public class NavigationController {
  21. @Autowired
  22. private LanguageUtil languageUtil;
  23. @Autowired
  24. private NavigationService navigationService;
  25. @Operation(summary = "获取导航列表")
  26. @PreAuthorize("@sr.hasPermission('10.6')")
  27. @GetMapping("/api/cms/navigation/getNavigationList")
  28. public Result getNavigation(@Validated Navigation navigation) {
  29. return Result.success().put("data", navigationService.selectNavigationList(navigation));
  30. }
  31. @Anonymous
  32. @Operation(summary = "获取导航列表 (公共)")
  33. @GetMapping("/api/app/cms/navigation/getNavigationList")
  34. public Result getNavigationPublic() {
  35. String lang = languageUtil.getLang();
  36. return Result.success().put("data", navigationService.selectNavigationTemplate(lang));
  37. }
  38. @Operation(summary = "获取导航详情")
  39. @PreAuthorize("@sr.hasPermission('10.6.1')")
  40. @GetMapping("/api/cms/navigation/getNavigationDetail")
  41. public Result getNavigationDetail(@Validated(Navigation.Detail.class) Navigation navigation) {
  42. return Result.success().put("data", navigationService.selectNavigationDetail(navigation));
  43. }
  44. @SysLog("创建导航")
  45. @Operation(summary = "创建导航")
  46. @PreAuthorize("@sr.hasPermission('10.6.2')")
  47. @PostMapping("/api/cms/navigation/createNavigation")
  48. public Result createNavigation(@Validated(Navigation.Create.class) @RequestBody Navigation navigation) {
  49. return Result.success().put("data", navigationService.insertNavigation(navigation));
  50. }
  51. @SysLog("编辑导航")
  52. @Operation(summary = "编辑导航")
  53. @PreAuthorize("@sr.hasPermission('10.6.3')")
  54. @PutMapping("/api/cms/navigation/updateNavigation")
  55. public Result updateNavigation(@Validated(Navigation.Update.class) @RequestBody Navigation navigation) {
  56. return Result.success().put("data", navigationService.updateNavigation(navigation));
  57. }
  58. @SysLog("删除导航")
  59. @Operation(summary = "删除导航")
  60. @PreAuthorize("@sr.hasPermission('10.6.4')")
  61. @DeleteMapping("/api/cms/navigation/deleteNavigation")
  62. public Result deleteNavigation(@Validated(Navigation.Delete.class) @RequestBody Navigation navigation) {
  63. return Result.success().put("data", navigationService.deleteNavigation(navigation));
  64. }
  65. @SysLog("删除导航 (批量)")
  66. @Operation(summary = "删除导航 (批量)")
  67. @PreAuthorize("@sr.hasPermission('10.6.4')")
  68. @DeleteMapping("/api/cms/navigation/deleteNavigationBatch")
  69. public Result deleteNavigationBatch(@Validated(Navigation.DeleteBatch.class) @RequestBody Navigation navigation) {
  70. return Result.success().put("data", navigationService.deleteNavigationBatch(navigation));
  71. }
  72. }