From d105bd4fa6e16a3c9311d31f81131be5643b2516 Mon Sep 17 00:00:00 2001 From: ziin Date: Tue, 30 Dec 2025 21:44:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(tenant):=20=E6=96=B0=E5=A2=9E=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=BD=93=E5=89=8D=E7=99=BB=E5=BD=95=E7=A7=9F=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/tenant/TenantController.java | 8 +++++++ .../tenant/vo/tenant/TenantInfoRespVO.java | 24 +++++++++++++++++++ .../system/service/tenant/TenantService.java | 7 ++++++ .../service/tenant/TenantServiceImpl.java | 6 +++++ 4 files changed, 45 insertions(+) create mode 100644 yolo-module-system/src/main/java/com/yolo/keyboard/module/system/controller/admin/tenant/vo/tenant/TenantInfoRespVO.java diff --git a/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/controller/admin/tenant/TenantController.java b/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/controller/admin/tenant/TenantController.java index 395e8fc..127024d 100644 --- a/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/controller/admin/tenant/TenantController.java +++ b/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/controller/admin/tenant/TenantController.java @@ -11,6 +11,7 @@ import com.yolo.keyboard.framework.tenant.core.aop.TenantIgnore; import com.yolo.keyboard.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO; import com.yolo.keyboard.module.system.controller.admin.tenant.vo.tenant.TenantRespVO; import com.yolo.keyboard.module.system.controller.admin.tenant.vo.tenant.TenantSaveReqVO; +import com.yolo.keyboard.module.system.controller.admin.tenant.vo.tenant.TenantInfoRespVO; import com.yolo.keyboard.module.system.dal.dataobject.tenant.TenantDO; import com.yolo.keyboard.module.system.service.tenant.TenantService; import io.swagger.v3.oas.annotations.Operation; @@ -113,6 +114,13 @@ public class TenantController { return success(BeanUtils.toBean(tenant, TenantRespVO.class)); } + @GetMapping("/current") + @Operation(summary = "获得当前登录租户信息") + public CommonResult getCurrentTenant() { + TenantDO tenant = tenantService.getCurrentTenant(); + return success(BeanUtils.toBean(tenant, TenantInfoRespVO.class)); + } + @GetMapping("/page") @Operation(summary = "获得租户分页") @PreAuthorize("@ss.hasPermission('system:tenant:query')") diff --git a/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/controller/admin/tenant/vo/tenant/TenantInfoRespVO.java b/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/controller/admin/tenant/vo/tenant/TenantInfoRespVO.java new file mode 100644 index 0000000..7ad7604 --- /dev/null +++ b/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/controller/admin/tenant/vo/tenant/TenantInfoRespVO.java @@ -0,0 +1,24 @@ +package com.yolo.keyboard.module.system.controller.admin.tenant.vo.tenant; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 当前租户信息 Response VO") +@Data +public class TenantInfoRespVO { + + @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "上级租户编号", example = "1") + private Long parentId; + + @Schema(description = "代理级别", example = "1") + private Integer tenantLevel; + + @Schema(description = "分润比例", example = "0.3") + private BigDecimal profitShareRatio; + +} diff --git a/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/service/tenant/TenantService.java b/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/service/tenant/TenantService.java index 0098eb9..a7e0dbc 100644 --- a/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/service/tenant/TenantService.java +++ b/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/service/tenant/TenantService.java @@ -142,4 +142,11 @@ public interface TenantService { */ void validTenant(Long id); + /** + * 获取当前登录租户信息 + * + * @return 当前租户 + */ + TenantDO getCurrentTenant(); + } diff --git a/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/service/tenant/TenantServiceImpl.java b/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/service/tenant/TenantServiceImpl.java index 776c00e..21adf5c 100644 --- a/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/service/tenant/TenantServiceImpl.java +++ b/yolo-module-system/src/main/java/com/yolo/keyboard/module/system/service/tenant/TenantServiceImpl.java @@ -352,4 +352,10 @@ public class TenantServiceImpl implements TenantService { return tenantProperties == null || Boolean.FALSE.equals(tenantProperties.getEnable()); } + @Override + public TenantDO getCurrentTenant() { + Long tenantId = TenantContextHolder.getRequiredTenantId(); + return getTenant(tenantId); + } + }