AdminSysParamController.java 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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.constant.SysConstant;
  10. import cc.uncarbon.module.sys.model.request.AdminInsertOrUpdateSysParamDTO;
  11. import cc.uncarbon.module.sys.model.request.AdminListSysParamDTO;
  12. import cc.uncarbon.module.sys.model.response.SysParamBO;
  13. import cc.uncarbon.module.sys.service.SysParamService;
  14. import cc.uncarbon.module.sys.util.AdminStpUtil;
  15. import cn.dev33.satoken.annotation.SaCheckLogin;
  16. import cn.dev33.satoken.annotation.SaCheckPermission;
  17. import io.swagger.annotations.Api;
  18. import io.swagger.annotations.ApiOperation;
  19. import lombok.RequiredArgsConstructor;
  20. import lombok.extern.slf4j.Slf4j;
  21. import org.springframework.web.bind.annotation.*;
  22. import javax.validation.Valid;
  23. @RequiredArgsConstructor
  24. @SaCheckLogin(type = AdminStpUtil.TYPE)
  25. @Slf4j
  26. @Api(value = "系统参数管理接口", tags = {"系统参数管理接口"})
  27. @RequestMapping(value = {
  28. // 兼容旧的API路由前缀
  29. SysConstant.SYS_MODULE_CONTEXT_PATH + HelioConstant.Version.HTTP_API_VERSION_V1,
  30. AdminApiConstant.HTTP_API_URL_PREFIX + "/api/v1"
  31. })
  32. @RestController
  33. public class AdminSysParamController {
  34. private static final String PERMISSION_PREFIX = "SysParam:";
  35. private final SysParamService sysParamService;
  36. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.RETRIEVE)
  37. @ApiOperation(value = "分页列表")
  38. @GetMapping(value = "/sys/params")
  39. public ApiResult<PageResult<SysParamBO>> list(PageParam pageParam, AdminListSysParamDTO dto) {
  40. return ApiResult.data(sysParamService.adminList(pageParam, dto));
  41. }
  42. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.RETRIEVE)
  43. @ApiOperation(value = "详情")
  44. @GetMapping(value = "/sys/params/{id}")
  45. public ApiResult<SysParamBO> getById(@PathVariable Long id) {
  46. return ApiResult.data(sysParamService.getOneById(id, true));
  47. }
  48. @SysLog(value = "新增系统参数")
  49. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.CREATE)
  50. @ApiOperation(value = "新增")
  51. @PostMapping(value = "/sys/params")
  52. public ApiResult<?> insert(@RequestBody @Valid AdminInsertOrUpdateSysParamDTO dto) {
  53. sysParamService.adminInsert(dto);
  54. return ApiResult.success();
  55. }
  56. @SysLog(value = "编辑系统参数")
  57. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.UPDATE)
  58. @ApiOperation(value = "编辑")
  59. @PutMapping(value = "/sys/params/{id}")
  60. public ApiResult<?> update(@PathVariable Long id, @RequestBody @Valid AdminInsertOrUpdateSysParamDTO dto) {
  61. dto.setId(id);
  62. sysParamService.adminUpdate(dto);
  63. return ApiResult.success();
  64. }
  65. @SysLog(value = "删除系统参数")
  66. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.DELETE)
  67. @ApiOperation(value = "删除")
  68. @DeleteMapping(value = "/sys/params")
  69. public ApiResult<?> delete(@RequestBody @Valid IdsDTO<Long> dto) {
  70. sysParamService.adminDelete(dto.getIds());
  71. return ApiResult.success();
  72. }
  73. }