From 6727b6a49079375332f1f54e2d70d5e31376553a Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Fri, 1 Aug 2025 14:40:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=A5=A8=E5=8F=B7=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WalletRechargeBindInvoiceDto.java | 6 ++++ .../WalletRechargeInvoiceServiceImpl.java | 5 +++ .../page/PaginationOrderSqlExtractor.java | 33 +++++++++++++++++++ .../recharge/WalletRechargeInvoiceMapper.xml | 6 +++- 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/page/PaginationOrderSqlExtractor.java diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/recharge/WalletRechargeBindInvoiceDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/recharge/WalletRechargeBindInvoiceDto.java index 99c7f91bb..4141081e1 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/recharge/WalletRechargeBindInvoiceDto.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/recharge/WalletRechargeBindInvoiceDto.java @@ -37,5 +37,11 @@ public class WalletRechargeBindInvoiceDto extends WalletRechargeInvoiceEntity { */ private LocalDateTime[] processTimeList; + private Boolean isFindUserCheck = false; + + /** + * sql + */ + private String orderSql = ""; } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeInvoiceServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeInvoiceServiceImpl.java index 792cd3345..ca9ef3c63 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeInvoiceServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeInvoiceServiceImpl.java @@ -14,6 +14,7 @@ import com.alibaba.excel.write.metadata.fill.FillConfig; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.admin.api.dto.UserInfo; @@ -53,6 +54,7 @@ import com.bsd.pjcloud.wallet.service.WalletRechargeInvoiceService; import com.bsd.pjcloud.wallet.utils.ConvertCnPriceUtil; import com.bsd.pjcloud.wallet.utils.flow.FlowUtil; import com.bsd.pjcloud.wallet.utils.flow.dto.WalletRechargeInvoiceFlowDto; +import com.bsd.pjcloud.wallet.utils.page.PaginationOrderSqlExtractor; import jakarta.servlet.http.HttpServletResponse; import org.springframework.mock.web.MockMultipartFile; import org.springframework.transaction.annotation.Transactional; @@ -472,6 +474,9 @@ public class WalletRechargeInvoiceServiceImpl extends ServiceImpl list = scopeList(dto, dataScope); try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(ResourceUtil.getStream("file/充值扣款发票申请.xlsx")).build()) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/page/PaginationOrderSqlExtractor.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/page/PaginationOrderSqlExtractor.java new file mode 100644 index 000000000..f6feee7f6 --- /dev/null +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/page/PaginationOrderSqlExtractor.java @@ -0,0 +1,33 @@ +package com.bsd.pjcloud.wallet.utils.page; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import java.util.List; +import java.util.stream.Collectors; + + +public class PaginationOrderSqlExtractor { + + public static String getOrderSql(Page page) { + return getOrderSql(page, null); + } + + public static String getOrderSql(Page page, String alias) { + List orderItems = page.orders(); + if (ObjectUtil.isEmpty(orderItems)) return null; + if (ObjectUtil.isEmpty(alias)) alias = ""; + if (alias.length() > 0) alias += "."; + String finalAlias = alias; + return orderItems.stream() + .map(item -> { + if (item.isAsc()) { + return finalAlias + item.getColumn() + " asc"; + } else { + return finalAlias + item.getColumn() + " desc"; + } + }) + .collect(Collectors.joining(", ")); + } +} diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/recharge/WalletRechargeInvoiceMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/recharge/WalletRechargeInvoiceMapper.xml index 26e89012c..b12ec2360 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/recharge/WalletRechargeInvoiceMapper.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/recharge/WalletRechargeInvoiceMapper.xml @@ -71,7 +71,11 @@ - order by a.create_time desc , a.id desc + order by + + ${dto.orderSql} + + a.create_time desc , a.id desc