From 78b6f5624be07ec4e235b63f7d7f30f08e9b0942 Mon Sep 17 00:00:00 2001 From: ziin Date: Thu, 20 Nov 2025 19:15:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(system):=20=E7=A7=9F=E6=88=B7=E4=BD=99?= =?UTF-8?q?=E9=A2=9D=E5=88=97=E8=A1=A8=E6=96=B0=E5=A2=9E=E7=A7=9F=E6=88=B7?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E5=AD=97=E6=AE=B5=E5=B9=B6=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=8F=98=E5=8A=A8=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在分页查询中联表返回租户名称,提升列表可读性 - 新增变动描述字段,支持充值等操作记录具体原因 - 优化 Mapper 与 Service 返回类型,统一使用 TenantBalanceRespVO --- .../tenantbalance/TenantBalanceController.java | 6 +++--- .../tenantbalance/vo/TenantBalanceAddReqVO.java | 4 ++++ .../tenantbalance/vo/TenantBalancePageReqVO.java | 3 +++ .../admin/tenantbalance/vo/TenantBalanceRespVO.java | 4 ++++ .../mysql/tenantbalance/TenantBalanceMapper.java | 5 +++++ .../service/tenantbalance/TenantBalanceService.java | 2 +- .../tenantbalance/TenantBalanceServiceImpl.java | 13 ++++++++----- .../main/resources/mapper/TenantBalanceMapper.xml | 12 ++++++++++++ 8 files changed, 40 insertions(+), 9 deletions(-) diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/TenantBalanceController.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/TenantBalanceController.java index f92b5e5..eb46482 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/TenantBalanceController.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/TenantBalanceController.java @@ -84,8 +84,8 @@ public class TenantBalanceController { @Operation(summary = "获得租户余额分页") @PreAuthorize("@ss.hasPermission('system:tenant-balance:query')") public CommonResult> getTenantBalancePage(@Valid TenantBalancePageReqVO pageReqVO) { - PageResult pageResult = tenantBalanceService.getTenantBalancePage(pageReqVO); - return success(BeanUtils.toBean(pageResult, TenantBalanceRespVO.class)); + PageResult tenantBalancePage = tenantBalanceService.getTenantBalancePage(pageReqVO); + return success(BeanUtils.toBean(tenantBalancePage, TenantBalanceRespVO.class)); } @GetMapping("/export-excel") @@ -95,7 +95,7 @@ public class TenantBalanceController { public void exportTenantBalanceExcel(@Valid TenantBalancePageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = tenantBalanceService.getTenantBalancePage(pageReqVO).getList(); + List list = tenantBalanceService.getTenantBalancePage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "租户余额.xls", "数据", TenantBalanceRespVO.class, BeanUtils.toBean(list, TenantBalanceRespVO.class)); diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalanceAddReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalanceAddReqVO.java index 1a99a4f..31ee213 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalanceAddReqVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalanceAddReqVO.java @@ -20,4 +20,8 @@ public class TenantBalanceAddReqVO { @Schema(description = "增加的余额", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000000") @NotNull(message = "增加的余额不能为空") private Integer amount; + + @Schema(description = "变动描述", example = "充值") + @NotNull(message = "变动描述不能为空") + private String description; } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalancePageReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalancePageReqVO.java index 4dff99d..d399b15 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalancePageReqVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalancePageReqVO.java @@ -13,6 +13,9 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @Data public class TenantBalancePageReqVO extends PageParam { + @Schema(description = "租户编号", example = "1024") + private Long id; + @Schema(description = "当前积分余额") private Integer balance; diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalanceRespVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalanceRespVO.java index 6cbc852..0dabf15 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalanceRespVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantbalance/vo/TenantBalanceRespVO.java @@ -28,4 +28,8 @@ public class TenantBalanceRespVO { @ExcelProperty("更新时间") private LocalDateTime updatedAt; + @Schema(description = "代理名称") + @ExcelProperty("代理名称") + private String tenantName; + } \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenantbalance/TenantBalanceMapper.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenantbalance/TenantBalanceMapper.java index 9b0a202..59715cb 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenantbalance/TenantBalanceMapper.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenantbalance/TenantBalanceMapper.java @@ -7,8 +7,10 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.module.system.dal.dataobject.tenantbalance.TenantBalanceDO; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Mapper; import cn.iocoder.yudao.module.system.controller.admin.tenantbalance.vo.*; +import org.apache.ibatis.annotations.Param; /** * 租户余额 Mapper @@ -40,4 +42,7 @@ public interface TenantBalanceMapper extends BaseMapperX { return this.update(null, wrapper); } + + + IPage selectPageWithTenantName(IPage iPage,@Param("req") TenantBalancePageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenantbalance/TenantBalanceService.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenantbalance/TenantBalanceService.java index 7582a02..6ccd51c 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenantbalance/TenantBalanceService.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenantbalance/TenantBalanceService.java @@ -57,7 +57,7 @@ public interface TenantBalanceService { * @param pageReqVO 分页查询 * @return 租户余额分页 */ - PageResult getTenantBalancePage(TenantBalancePageReqVO pageReqVO); + PageResult getTenantBalancePage(TenantBalancePageReqVO pageReqVO); void addTenantBalance(@Valid TenantBalanceAddReqVO updateReqVO); } \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenantbalance/TenantBalanceServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenantbalance/TenantBalanceServiceImpl.java index a7e7ea5..7f6f715 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenantbalance/TenantBalanceServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenantbalance/TenantBalanceServiceImpl.java @@ -1,20 +1,21 @@ package cn.iocoder.yudao.module.system.service.tenantbalance; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.RandomUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; -import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.module.system.controller.admin.tenantbalance.vo.TenantBalanceAddReqVO; import cn.iocoder.yudao.module.system.controller.admin.tenantbalance.vo.TenantBalancePageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.tenantbalance.vo.TenantBalanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.tenantbalance.vo.TenantBalanceSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.tenantbalance.TenantBalanceDO; import cn.iocoder.yudao.module.system.dal.dataobject.tenantpoints.TenantPointsDO; import cn.iocoder.yudao.module.system.dal.mysql.tenantbalance.TenantBalanceMapper; import cn.iocoder.yudao.module.system.dal.mysql.tenantpoints.TenantPointsMapper; import cn.iocoder.yudao.module.system.util.BizNoGenerator; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -94,8 +95,10 @@ public class TenantBalanceServiceImpl implements TenantBalanceService { } @Override - public PageResult getTenantBalancePage(TenantBalancePageReqVO pageReqVO) { - return tenantBalanceMapper.selectPage(pageReqVO); + public PageResult getTenantBalancePage(TenantBalancePageReqVO pageReqVO) { + IPage iPage = new Page<>(pageReqVO.getPageNo(),pageReqVO.getPageSize()); + IPage tenantBalanceRespVOIPage = tenantBalanceMapper.selectPageWithTenantName(iPage, pageReqVO); + return new PageResult<>(tenantBalanceRespVOIPage.getRecords(),tenantBalanceRespVOIPage.getTotal()); } @Override @@ -137,7 +140,7 @@ public class TenantBalanceServiceImpl implements TenantBalanceService { tenantPointsDO.setBalance(newBalance); tenantPointsDO.setOperatorId(loginUser.getId()); tenantPointsDO.setType(RECHARGE.getDesc()); // RECHARGE / BONUS / ... - tenantPointsDO.setDescription("后台变动积分"); + tenantPointsDO.setDescription(addReqVO.getDescription()); tenantPointsDO.setBizNo(recharge); tenantPointsMapper.insert(tenantPointsDO); } diff --git a/yudao-module-system/src/main/resources/mapper/TenantBalanceMapper.xml b/yudao-module-system/src/main/resources/mapper/TenantBalanceMapper.xml index fca190a..b7cb654 100644 --- a/yudao-module-system/src/main/resources/mapper/TenantBalanceMapper.xml +++ b/yudao-module-system/src/main/resources/mapper/TenantBalanceMapper.xml @@ -9,4 +9,16 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + + \ No newline at end of file