From b3234507081092387a07b391f1aae5e810029d79 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Wed, 17 Sep 2025 12:53:32 +0800 Subject: [PATCH] =?UTF-8?q?refactor(paging):=20=E9=87=8D=E6=9E=84=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E8=AF=A2=E4=BD=BF=E7=94=A8=20PageHelper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -将 MyBatis-Plus 的分页插件替换为 PageHelper - 更新了相关控制器、服务接口和实现类中的分页查询方法 - 优化了分页查询的逻辑,提高了代码的可读性和维护性 --- .../VoucherManagementController.java | 14 +++++------ .../controller/VoucherUsageController.java | 6 ++--- .../mapper/PriceVoucherUsageRecordMapper.java | 11 +++----- .../pricing/service/IVoucherUsageService.java | 4 +-- .../pricing/service/VoucherBatchService.java | 4 +-- .../pricing/service/VoucherCodeService.java | 4 +-- .../service/impl/VoucherBatchServiceImpl.java | 23 ++++++++--------- .../service/impl/VoucherCodeServiceImpl.java | 25 ++++++++----------- .../service/impl/VoucherUsageServiceImpl.java | 25 ++++++++----------- 9 files changed, 52 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/ycwl/basic/pricing/controller/VoucherManagementController.java b/src/main/java/com/ycwl/basic/pricing/controller/VoucherManagementController.java index 4e135693..851a3436 100644 --- a/src/main/java/com/ycwl/basic/pricing/controller/VoucherManagementController.java +++ b/src/main/java/com/ycwl/basic/pricing/controller/VoucherManagementController.java @@ -1,6 +1,6 @@ package com.ycwl.basic.pricing.controller; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageInfo; import com.ycwl.basic.pricing.dto.req.VoucherBatchCreateReq; import com.ycwl.basic.pricing.dto.req.VoucherBatchCreateReqV2; import com.ycwl.basic.pricing.dto.req.VoucherBatchQueryReq; @@ -42,8 +42,8 @@ public class VoucherManagementController { } @PostMapping("/batch/list") - public ApiResponse> getBatchList(@RequestBody VoucherBatchQueryReq req) { - Page page = voucherBatchService.queryBatchList(req); + public ApiResponse> getBatchList(@RequestBody VoucherBatchQueryReq req) { + PageInfo page = voucherBatchService.queryBatchList(req); return ApiResponse.success(page); } @@ -66,8 +66,8 @@ public class VoucherManagementController { } @PostMapping("/codes") - public ApiResponse> getCodeList(@RequestBody VoucherCodeQueryReq req) { - Page page = voucherCodeService.queryCodeList(req); + public ApiResponse> getCodeList(@RequestBody VoucherCodeQueryReq req) { + PageInfo page = voucherCodeService.queryCodeList(req); return ApiResponse.success(page); } @@ -78,14 +78,14 @@ public class VoucherManagementController { } @GetMapping("/scenic/{scenicId}/users") - public ApiResponse> getUsersInScenic(@PathVariable Long scenicId, + public ApiResponse> getUsersInScenic(@PathVariable Long scenicId, @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "10") Integer pageSize) { VoucherCodeQueryReq req = new VoucherCodeQueryReq(); req.setScenicId(scenicId); req.setPageNum(pageNum); req.setPageSize(pageSize); - Page page = voucherCodeService.queryCodeList(req); + PageInfo page = voucherCodeService.queryCodeList(req); return ApiResponse.success(page); } diff --git a/src/main/java/com/ycwl/basic/pricing/controller/VoucherUsageController.java b/src/main/java/com/ycwl/basic/pricing/controller/VoucherUsageController.java index 0c4f47cd..17e03abb 100644 --- a/src/main/java/com/ycwl/basic/pricing/controller/VoucherUsageController.java +++ b/src/main/java/com/ycwl/basic/pricing/controller/VoucherUsageController.java @@ -1,6 +1,6 @@ package com.ycwl.basic.pricing.controller; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageInfo; import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.pricing.dto.req.VoucherUsageHistoryReq; import com.ycwl.basic.pricing.dto.resp.VoucherUsageRecordResp; @@ -24,9 +24,9 @@ public class VoucherUsageController { private final IVoucherUsageService voucherUsageService; @PostMapping("/history") - public ApiResponse> getUsageHistory(@RequestBody VoucherUsageHistoryReq req) { + public ApiResponse> getUsageHistory(@RequestBody VoucherUsageHistoryReq req) { try { - Page result = voucherUsageService.getUsageHistory(req); + PageInfo result = voucherUsageService.getUsageHistory(req); return ApiResponse.success(result); } catch (Exception e) { log.error("查询券码使用记录失败", e); diff --git a/src/main/java/com/ycwl/basic/pricing/mapper/PriceVoucherUsageRecordMapper.java b/src/main/java/com/ycwl/basic/pricing/mapper/PriceVoucherUsageRecordMapper.java index 01a58c1a..1f9a1d21 100644 --- a/src/main/java/com/ycwl/basic/pricing/mapper/PriceVoucherUsageRecordMapper.java +++ b/src/main/java/com/ycwl/basic/pricing/mapper/PriceVoucherUsageRecordMapper.java @@ -1,7 +1,6 @@ package com.ycwl.basic.pricing.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ycwl.basic.pricing.entity.PriceVoucherUsageRecord; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -121,16 +120,15 @@ public interface PriceVoucherUsageRecordMapper extends BaseMapper" + "SELECT * FROM price_voucher_usage_record WHERE deleted = 0" + @@ -142,8 +140,7 @@ public interface PriceVoucherUsageRecordMapper extends BaseMapperAND use_time <= #{endTime}" + "ORDER BY use_time DESC" + "") - Page selectPageWithConditions(Page page, - @Param("batchId") Long batchId, + List selectListWithConditions(@Param("batchId") Long batchId, @Param("voucherCode") String voucherCode, @Param("faceId") Long faceId, @Param("scenicId") Long scenicId, diff --git a/src/main/java/com/ycwl/basic/pricing/service/IVoucherUsageService.java b/src/main/java/com/ycwl/basic/pricing/service/IVoucherUsageService.java index 562dd3c9..6ca1ed56 100644 --- a/src/main/java/com/ycwl/basic/pricing/service/IVoucherUsageService.java +++ b/src/main/java/com/ycwl/basic/pricing/service/IVoucherUsageService.java @@ -1,6 +1,6 @@ package com.ycwl.basic.pricing.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageInfo; import com.ycwl.basic.pricing.dto.req.VoucherUsageHistoryReq; import com.ycwl.basic.pricing.dto.resp.VoucherUsageRecordResp; import com.ycwl.basic.pricing.dto.resp.VoucherUsageStatsResp; @@ -18,7 +18,7 @@ public interface IVoucherUsageService { * @param req 查询请求 * @return 分页结果 */ - Page getUsageHistory(VoucherUsageHistoryReq req); + PageInfo getUsageHistory(VoucherUsageHistoryReq req); /** * 获取指定券码的使用记录 diff --git a/src/main/java/com/ycwl/basic/pricing/service/VoucherBatchService.java b/src/main/java/com/ycwl/basic/pricing/service/VoucherBatchService.java index a34aded2..b8dc204a 100644 --- a/src/main/java/com/ycwl/basic/pricing/service/VoucherBatchService.java +++ b/src/main/java/com/ycwl/basic/pricing/service/VoucherBatchService.java @@ -1,6 +1,6 @@ package com.ycwl.basic.pricing.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageInfo; import com.ycwl.basic.pricing.dto.req.VoucherBatchCreateReq; import com.ycwl.basic.pricing.dto.req.VoucherBatchCreateReqV2; import com.ycwl.basic.pricing.dto.req.VoucherBatchQueryReq; @@ -17,7 +17,7 @@ public interface VoucherBatchService { */ Long createBatchV2(VoucherBatchCreateReqV2 req); - Page queryBatchList(VoucherBatchQueryReq req); + PageInfo queryBatchList(VoucherBatchQueryReq req); VoucherBatchResp getBatchDetail(Long id); diff --git a/src/main/java/com/ycwl/basic/pricing/service/VoucherCodeService.java b/src/main/java/com/ycwl/basic/pricing/service/VoucherCodeService.java index 27854f5e..83e7987f 100644 --- a/src/main/java/com/ycwl/basic/pricing/service/VoucherCodeService.java +++ b/src/main/java/com/ycwl/basic/pricing/service/VoucherCodeService.java @@ -1,6 +1,6 @@ package com.ycwl.basic.pricing.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageInfo; import com.ycwl.basic.pricing.dto.req.VoucherClaimReq; import com.ycwl.basic.pricing.dto.req.VoucherCodeQueryReq; import com.ycwl.basic.pricing.dto.resp.VoucherCodeResp; @@ -13,7 +13,7 @@ public interface VoucherCodeService { VoucherCodeResp claimVoucher(VoucherClaimReq req); - Page queryCodeList(VoucherCodeQueryReq req); + PageInfo queryCodeList(VoucherCodeQueryReq req); List getMyVoucherCodes(Long faceId); diff --git a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherBatchServiceImpl.java b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherBatchServiceImpl.java index 8cc1ca7d..35bfec16 100644 --- a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherBatchServiceImpl.java +++ b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherBatchServiceImpl.java @@ -1,7 +1,8 @@ package com.ycwl.basic.pricing.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.ycwl.basic.constant.BaseContextHandler; import com.ycwl.basic.exception.BizException; import com.ycwl.basic.pricing.dto.req.VoucherBatchCreateReq; @@ -153,9 +154,9 @@ public class VoucherBatchServiceImpl implements VoucherBatchService { } @Override - public Page queryBatchList(VoucherBatchQueryReq req) { - Page page = new Page<>(req.getPageNum(), req.getPageSize()); - + public PageInfo queryBatchList(VoucherBatchQueryReq req) { + PageHelper.startPage(req.getPageNum(), req.getPageSize()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PriceVoucherBatchConfig::getDeleted, 0) .eq(req.getScenicId() != null, PriceVoucherBatchConfig::getScenicId, req.getScenicId()) @@ -163,15 +164,11 @@ public class VoucherBatchServiceImpl implements VoucherBatchService { .eq(req.getStatus() != null, PriceVoucherBatchConfig::getStatus, req.getStatus()) .like(StringUtils.hasText(req.getBatchName()), PriceVoucherBatchConfig::getBatchName, req.getBatchName()) .orderByDesc(PriceVoucherBatchConfig::getCreateTime); - - Page entityPage = voucherBatchMapper.selectPage(page, wrapper); - - Page respPage = new Page<>(); - BeanUtils.copyProperties(entityPage, respPage); - - respPage.setRecords(entityPage.getRecords().stream().map(this::convertToResp).toList()); - - return respPage; + + java.util.List list = voucherBatchMapper.selectList(wrapper); + java.util.List respList = list.stream().map(this::convertToResp).toList(); + + return new PageInfo<>(respList); } @Override diff --git a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherCodeServiceImpl.java b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherCodeServiceImpl.java index 818d01db..0054c773 100644 --- a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherCodeServiceImpl.java +++ b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherCodeServiceImpl.java @@ -1,7 +1,8 @@ package com.ycwl.basic.pricing.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.ycwl.basic.exception.BizException; import com.ycwl.basic.pricing.dto.req.VoucherClaimReq; import com.ycwl.basic.pricing.dto.req.VoucherCodeQueryReq; @@ -124,9 +125,9 @@ public VoucherCodeResp claimVoucher(VoucherClaimReq req) { } @Override - public Page queryCodeList(VoucherCodeQueryReq req) { - Page page = new Page<>(req.getPageNum(), req.getPageSize()); - + public PageInfo queryCodeList(VoucherCodeQueryReq req) { + PageHelper.startPage(req.getPageNum(), req.getPageSize()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PriceVoucherCode::getDeleted, 0) .eq(req.getBatchId() != null, PriceVoucherCode::getBatchId, req.getBatchId()) @@ -135,20 +136,16 @@ public VoucherCodeResp claimVoucher(VoucherClaimReq req) { .eq(req.getStatus() != null, PriceVoucherCode::getStatus, req.getStatus()) .like(StringUtils.hasText(req.getCode()), PriceVoucherCode::getCode, req.getCode()) .orderByDesc(PriceVoucherCode::getId); - - Page entityPage = voucherCodeMapper.selectPage(page, wrapper); - - Page respPage = new Page<>(); - BeanUtils.copyProperties(entityPage, respPage); - + + List list = voucherCodeMapper.selectList(wrapper); + List respList = new ArrayList<>(); - for (PriceVoucherCode code : entityPage.getRecords()) { + for (PriceVoucherCode code : list) { PriceVoucherBatchConfig batch = voucherBatchMapper.selectById(code.getBatchId()); respList.add(convertToResp(code, batch)); } - respPage.setRecords(respList); - - return respPage; + + return new PageInfo<>(respList); } @Override diff --git a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherUsageServiceImpl.java b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherUsageServiceImpl.java index cfeae1c3..49e9f29d 100644 --- a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherUsageServiceImpl.java +++ b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherUsageServiceImpl.java @@ -1,6 +1,7 @@ package com.ycwl.basic.pricing.service.impl; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.ycwl.basic.pricing.dto.req.VoucherUsageHistoryReq; import com.ycwl.basic.pricing.dto.resp.VoucherUsageRecordResp; import com.ycwl.basic.pricing.dto.resp.VoucherUsageStatsResp; @@ -36,24 +37,20 @@ public class VoucherUsageServiceImpl implements IVoucherUsageService { private final PriceVoucherBatchConfigMapper batchConfigMapper; @Override - public Page getUsageHistory(VoucherUsageHistoryReq req) { - Page page = new Page<>(req.getPageNum(), req.getPageSize()); - - Page entityPage = usageRecordMapper.selectPageWithConditions( - page, req.getBatchId(), req.getVoucherCode(), req.getFaceId(), + public PageInfo getUsageHistory(VoucherUsageHistoryReq req) { + PageHelper.startPage(req.getPageNum(), req.getPageSize()); + + List list = usageRecordMapper.selectListWithConditions( + req.getBatchId(), req.getVoucherCode(), req.getFaceId(), req.getScenicId(), req.getStartTime(), req.getEndTime()); - - Page respPage = new Page<>(); - BeanUtils.copyProperties(entityPage, respPage); - + List respList = new ArrayList<>(); - for (PriceVoucherUsageRecord record : entityPage.getRecords()) { + for (PriceVoucherUsageRecord record : list) { VoucherUsageRecordResp resp = convertToResp(record); respList.add(resp); } - respPage.setRecords(respList); - - return respPage; + + return new PageInfo<>(respList); } @Override