AdminSysTenantController.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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.facade.SysTenantFacade;
  11. import cc.uncarbon.module.sys.model.request.AdminInsertSysTenantDTO;
  12. import cc.uncarbon.module.sys.model.request.AdminListSysTenantDTO;
  13. import cc.uncarbon.module.sys.model.request.AdminUpdateSysTenantDTO;
  14. import cc.uncarbon.module.sys.model.response.SysTenantBO;
  15. import cc.uncarbon.module.sys.service.SysTenantService;
  16. import cc.uncarbon.module.adminapi.util.AdminStpUtil;
  17. import cn.dev33.satoken.annotation.SaCheckLogin;
  18. import cn.dev33.satoken.annotation.SaCheckPermission;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiOperation;
  21. import lombok.RequiredArgsConstructor;
  22. import lombok.extern.slf4j.Slf4j;
  23. import org.springframework.web.bind.annotation.*;
  24. import javax.validation.Valid;
  25. @SaCheckLogin(type = AdminStpUtil.TYPE)
  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. @RequiredArgsConstructor
  33. @RestController
  34. @Slf4j
  35. public class AdminSysTenantController {
  36. private static final String PERMISSION_PREFIX = "SysTenant:";
  37. private final SysTenantService sysTenantService;
  38. private final SysTenantFacade sysTenantFacade;
  39. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.RETRIEVE)
  40. @ApiOperation(value = "分页列表")
  41. @GetMapping(value = "/sys/tenants")
  42. public ApiResult<PageResult<SysTenantBO>> list(PageParam pageParam, AdminListSysTenantDTO dto) {
  43. return ApiResult.data(sysTenantService.adminList(pageParam, dto));
  44. }
  45. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.RETRIEVE)
  46. @ApiOperation(value = "详情")
  47. @GetMapping(value = "/sys/tenants/{id}")
  48. public ApiResult<SysTenantBO> getById(@PathVariable Long id) {
  49. return ApiResult.data(sysTenantService.getOneById(id, true));
  50. }
  51. @SysLog(value = "新增系统租户")
  52. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.CREATE)
  53. @ApiOperation(value = "新增")
  54. @PostMapping(value = "/sys/tenants")
  55. public ApiResult<Void> insert(@RequestBody @Valid AdminInsertSysTenantDTO dto) {
  56. sysTenantFacade.adminInsert(dto);
  57. return ApiResult.success();
  58. }
  59. @SysLog(value = "编辑系统租户")
  60. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.UPDATE)
  61. @ApiOperation(value = "编辑")
  62. @PutMapping(value = "/sys/tenants/{id}")
  63. public ApiResult<Void> update(@PathVariable Long id, @RequestBody @Valid AdminUpdateSysTenantDTO dto) {
  64. dto.setId(id);
  65. sysTenantService.adminUpdate(dto);
  66. return ApiResult.success();
  67. }
  68. @SysLog(value = "删除系统租户")
  69. @SaCheckPermission(type = AdminStpUtil.TYPE, value = PERMISSION_PREFIX + HelioConstant.Permission.DELETE)
  70. @ApiOperation(value = "删除")
  71. @DeleteMapping(value = "/sys/tenants")
  72. public ApiResult<Void> delete(@RequestBody @Valid IdsDTO<Long> dto) {
  73. sysTenantService.adminDelete(dto.getIds());
  74. return ApiResult.success();
  75. }
  76. }