AdminSysParamController.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package cc.uncarbon.module.adminapi.web.sys;
  2. import cc.uncarbon.framework.core.constant.HelioConstant;
  3. import cc.uncarbon.framework.core.page.PageParam;
  4. import cc.uncarbon.framework.core.page.PageResult;
  5. import cc.uncarbon.framework.web.model.request.IdsDTO;
  6. import cc.uncarbon.framework.web.model.response.ApiResult;
  7. import cc.uncarbon.module.adminapi.constant.AdminApiConstant;
  8. import cc.uncarbon.module.sys.annotation.SysLog;
  9. import cc.uncarbon.module.sys.model.request.AdminInsertOrUpdateSysParamDTO;
  10. import cc.uncarbon.module.sys.model.request.AdminListSysParamDTO;
  11. import cc.uncarbon.module.sys.model.response.SysParamBO;
  12. import cc.uncarbon.module.sys.service.SysParamService;
  13. import cc.uncarbon.module.adminapi.util.AdminStpUtil;
  14. import cn.dev33.satoken.annotation.SaCheckLogin;
  15. import cn.dev33.satoken.annotation.SaCheckPermission;
  16. import io.swagger.v3.oas.annotations.tags.Tag;
  17. import io.swagger.v3.oas.annotations.Operation;
  18. import lombok.RequiredArgsConstructor;
  19. import lombok.extern.slf4j.Slf4j;
  20. import org.springframework.web.bind.annotation.*;
  21. import jakarta.validation.Valid;
  22. @SaCheckLogin(type = AdminStpUtil.TYPE)
  23. @Tag(name = "系统参数管理接口")
  24. @RequestMapping(value = AdminApiConstant.HTTP_API_URL_PREFIX + "/api/v1")
  25. @RequiredArgsConstructor
  26. @RestController
  27. @Slf4j
  28. public class AdminSysParamController {
  29. private static final String PERMISSION_PREFIX = "SysParam:";
  30. private final SysParamService sysParamService;
  31. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.RETRIEVE)
  32. @Operation(summary = "分页列表")
  33. @GetMapping(value = "/sys/params")
  34. public ApiResult<PageResult<SysParamBO>> list(PageParam pageParam, AdminListSysParamDTO dto) {
  35. return ApiResult.data(sysParamService.adminList(pageParam, dto));
  36. }
  37. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.RETRIEVE)
  38. @Operation(summary = "详情")
  39. @GetMapping(value = "/sys/params/{id}")
  40. public ApiResult<SysParamBO> getById(@PathVariable Long id) {
  41. return ApiResult.data(sysParamService.getOneById(id, true));
  42. }
  43. @SysLog(value = "新增系统参数")
  44. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.CREATE)
  45. @Operation(summary = "新增")
  46. @PostMapping(value = "/sys/params")
  47. public ApiResult<Void> insert(@RequestBody @Valid AdminInsertOrUpdateSysParamDTO dto) {
  48. sysParamService.adminInsert(dto);
  49. return ApiResult.success();
  50. }
  51. @SysLog(value = "编辑系统参数")
  52. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.UPDATE)
  53. @Operation(summary = "编辑")
  54. @PutMapping(value = "/sys/params/{id}")
  55. public ApiResult<Void> update(@PathVariable Long id, @RequestBody @Valid AdminInsertOrUpdateSysParamDTO dto) {
  56. dto.setId(id);
  57. sysParamService.adminUpdate(dto);
  58. return ApiResult.success();
  59. }
  60. @SysLog(value = "删除系统参数")
  61. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.DELETE)
  62. @Operation(summary = "删除")
  63. @DeleteMapping(value = "/sys/params")
  64. public ApiResult<Void> delete(@RequestBody @Valid IdsDTO<Long> dto) {
  65. sysParamService.adminDelete(dto.getIds());
  66. return ApiResult.success();
  67. }
  68. }