From 1694603465fcfe51bb11e5ff202c6d14527532a0 Mon Sep 17 00:00:00 2001 From: ziin Date: Thu, 25 Dec 2025 21:57:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(tenant-balance):=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=B8=8B=E7=BA=A7=E7=A7=9F=E6=88=B7=E4=BD=99?= =?UTF-8?q?=E9=A2=9D=E5=88=86=E9=A1=B5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- keyboard-server/pom.xml | 6 ++++ .../TenantBalanceServiceImpl.java | 31 +++++++++++++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/keyboard-server/pom.xml b/keyboard-server/pom.xml index 45298a8..35213b6 100644 --- a/keyboard-server/pom.xml +++ b/keyboard-server/pom.xml @@ -52,5 +52,11 @@ 2025.11-SNAPSHOT compile + + com.yolo + yolo-module-system + 2025.11-SNAPSHOT + compile + diff --git a/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantbalance/TenantBalanceServiceImpl.java b/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantbalance/TenantBalanceServiceImpl.java index 0210612..dbb0f25 100644 --- a/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantbalance/TenantBalanceServiceImpl.java +++ b/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantbalance/TenantBalanceServiceImpl.java @@ -3,6 +3,8 @@ package com.yolo.keyboard.service.tenantbalance; import cn.hutool.core.collection.CollUtil; import com.yolo.keyboard.dal.dataobject.tenantbalancetransaction.TenantBalanceTransactionDO; import com.yolo.keyboard.dal.mysql.tenantbalancetransaction.TenantBalanceTransactionMapper; +import com.yolo.keyboard.framework.common.util.collection.CollectionUtils; +import com.yolo.keyboard.framework.mybatis.core.query.LambdaQueryWrapperX; import com.yolo.keyboard.framework.tenant.core.context.TenantContextHolder; import com.yolo.keyboard.utils.BizNoGenerator; import org.springframework.stereotype.Service; @@ -19,6 +21,8 @@ import com.yolo.keyboard.framework.common.pojo.PageParam; import com.yolo.keyboard.framework.common.util.object.BeanUtils; import com.yolo.keyboard.dal.mysql.tenantbalance.TenantBalanceMapper; +import com.yolo.keyboard.module.system.dal.dataobject.tenant.TenantDO; +import com.yolo.keyboard.module.system.dal.mysql.tenant.TenantMapper; import static com.yolo.keyboard.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.yolo.keyboard.framework.common.util.collection.CollectionUtils.convertList; @@ -40,6 +44,9 @@ public class TenantBalanceServiceImpl implements TenantBalanceService { @Resource private TenantBalanceTransactionMapper tenantBalanceTransactionMapper; + @Resource + private TenantMapper tenantMapper; + @Override public Long createTenantBalance(TenantBalanceSaveReqVO createReqVO) { // 插入 @@ -125,12 +132,32 @@ public class TenantBalanceServiceImpl implements TenantBalanceService { @Override public TenantBalanceDO getSelfBalance() { - return null; + Long tenantId = TenantContextHolder.getRequiredTenantId(); + return tenantBalanceMapper.selectById(tenantId); } @Override public PageResult getSelfSubordinateTenantBalancePage(TenantBalancePageReqVO pageReqVO) { - return null; + // 1. 获取当前租户ID + Long currentTenantId = TenantContextHolder.getRequiredTenantId(); + + // 2. 查询当前租户的下级租户列表 + List subordinateTenants = tenantMapper.selectList(TenantDO::getParentId, currentTenantId); + + // 3. 提取下级租户的ID列表 + List tenantIds = CollectionUtils.convertList(subordinateTenants, TenantDO::getId); + + // 4. 如果没有下级租户,则直接返回空的分页结果 + if (CollUtil.isEmpty(tenantIds)) { + return PageResult.empty(); + } + + // 5. 根据下级租户ID列表查询对应的余额信息,并进行分页 + PageResult pageResult = tenantBalanceMapper.selectPage(pageReqVO, + new LambdaQueryWrapperX().in(TenantBalanceDO::getId, tenantIds)); + + // 6. 将查询结果转换为响应VO并返回 + return BeanUtils.toBean(pageResult, TenantBalanceRespVO.class); } } \ No newline at end of file