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