From 490194c6fc6c615c747c3faf2eb13a457edc9678 Mon Sep 17 00:00:00 2001 From: lijianlin Date: Thu, 2 Apr 2026 16:40:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?04-02=20=E9=80=80=E6=AC=BE=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=90=8C=E6=AD=A5=E5=B1=95=E7=A4=BA=E5=88=B0=E8=B5=84?= =?UTF-8?q?=E9=87=91=E6=B5=81=E6=B0=B4=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceImpl/cash/CashRefundServiceImpl.java | 66 ++++++++-------- src/main/resources/application-test.yml | 7 +- src/main/resources/cashMapper/CashRefundMapper.xml | 88 ++++++++++++++++++---- 3 files changed, 109 insertions(+), 52 deletions(-) diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java index 698ad2e..fed4005 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java @@ -947,41 +947,6 @@ public class CashRefundServiceImpl implements RefundService { } List list = cashRefundMapper.selectfunds(fundsDTO); - // 2. 收集 status == 6 的记录 ID - List needQueryIds = new ArrayList<>(); - for (FundsDTO dto : list) { - if (dto.getStatus() != null && dto.getStatus() == 6) { - needQueryIds.add(dto.getId()); - } - } - - // 3. 批量查询 refundDetail 信息(用于负数处理) - if (!needQueryIds.isEmpty()) { - List detailList = cashRefundMapper.selectRefundCount(needQueryIds); - - Map detailMap = new HashMap<>(); - for (FundsDTO detail : detailList) { - // 假设 detail.getRelatedId() 对应主表的 id - detailMap.put(detail.getRelatedId(), detail); - } - - // 回填 refundAmount(取负)和 refundCurrency - for (FundsDTO dto : list) { - if (dto.getStatus() != null && dto.getStatus() == 6) { - FundsDTO detail = detailMap.get(dto.getId()); - if (detail != null) { - BigDecimal amount = detail.getRefundAmount(); - if (amount != null) { - dto.setRefundAmount(amount.negate()); // 转为负数 - } else { - dto.setRefundAmount(null); // 或设为 BigDecimal.ZERO - } - dto.setRefundCurrency(detail.getRefundCurrency()); - } - } - } - } - // 4. 收集所有需要转换的 regionId 和 currencyId Set regionIds = new HashSet<>(); Set currencyIds = new HashSet<>(); @@ -1033,6 +998,37 @@ public class CashRefundServiceImpl implements RefundService { // 8. 返回分页结果 return new PageInfo<>(list); } + + /** + * 复制 FundsDTO 对象(浅拷贝) + */ + private FundsDTO copyFundsDTO(FundsDTO source) { + FundsDTO target = new FundsDTO(); + target.setId(source.getId()); + target.setPayTime(source.getPayTime()); + target.setOrderCode("TK" + source.getOrderCode()); + target.setReceivedMarket(source.getReceivedMarket()); + target.setPerformanceMarket(source.getPerformanceMarket()); + target.setName(source.getName()); + target.setJwcode(source.getJwcode()); + target.setIncomeType(source.getIncomeType()); + target.setGoodNum(source.getGoodNum()); + target.setPayType(source.getPayType()); + target.setReceivedCurrency(source.getReceivedCurrency()); + target.setPaymentAmount(source.getPaymentAmount()); + target.setHandlingCharge(source.getHandlingCharge()); + target.setReceivedAmount(source.getReceivedAmount()); + target.setMarket(source.getMarket()); + target.setMarketName(source.getMarketName()); + target.setMarkets(source.getMarkets()); + target.setPerformanceMarkets(source.getPerformanceMarkets()); + target.setPaymentCurrency(source.getPaymentCurrency()); + target.setPaymentCurrencyName(source.getPaymentCurrencyName()); + target.setReceivedCurrencyName(source.getReceivedCurrencyName()); + target.setStatus(source.getStatus()); + target.setStatusName(source.getStatusName()); + return target; + } /** * 计算用户指定钱包列表的总可用余额 * @param jwcode 用户标识 diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 90ae516..2204de4 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -81,9 +81,10 @@ spring: data: redis: database: 0 - host: localhost - port: 6379 - password: 123456 + host: 54.255.212.181 + port: 10703 + password: Ngc0FYUTA6h3wC5J + lettuce: pool: diff --git a/src/main/resources/cashMapper/CashRefundMapper.xml b/src/main/resources/cashMapper/CashRefundMapper.xml index 724ad84..4bff9d2 100644 --- a/src/main/resources/cashMapper/CashRefundMapper.xml +++ b/src/main/resources/cashMapper/CashRefundMapper.xml @@ -446,6 +446,7 @@ +