From 40dfc9e002d7b943698f6b75bbfa858a73e7a36f Mon Sep 17 00:00:00 2001 From: hy001 Date: Mon, 27 Apr 2026 19:28:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=87=91=E5=B8=81=E6=94=B6?= =?UTF-8?q?=E6=94=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/user/UserWalletServiceImpl.java | 40 ++++++++++++++----- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/user/UserWalletServiceImpl.java b/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/user/UserWalletServiceImpl.java index ed94bcf8..647644a3 100644 --- a/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/user/UserWalletServiceImpl.java +++ b/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/user/UserWalletServiceImpl.java @@ -135,12 +135,12 @@ public class UserWalletServiceImpl implements UserWalletService { query.setEndTime(TimestampUtils.now().getTime()); } - UserGoldRunningWaterClsHistoryDTO clsWater = walletGoldClient.getClsSearchWater(query) - .getBody(); - - if (Objects.isNull(clsWater) || CollectionUtils.isEmpty(clsWater.getWaters())) { - return null; - } + UserGoldRunningWaterClsHistoryDTO clsWater = walletGoldClient.getClsSearchWater(query) + .getBody(); + + if (Objects.isNull(clsWater) || CollectionUtils.isEmpty(clsWater.getWaters())) { + return getGoldRunningWaterDbFallback(query); + } List clsWaterWaters = clsWater.getWaters(); @@ -179,11 +179,29 @@ public class UserWalletServiceImpl implements UserWalletService { }) .filter(Objects::nonNull) .toList() - ); - } - - @Override - public void sendGold(SendGoldCmd param) { + ); + } + + private UserGoldRunningWaterClsTmpCO getGoldRunningWaterDbFallback( + UserGoldRunningWaterBackQryCmd query) { + if (StringUtils.isNotBlank(query.getContext())) { + return new UserGoldRunningWaterClsTmpCO() + .setListOver(true) + .setWaters(Lists.newArrayList()); + } + + List waters = listGoldRunningWater(query); + if (CollectionUtils.isEmpty(waters)) { + return null; + } + + return new UserGoldRunningWaterClsTmpCO() + .setListOver(true) + .setWaters(waters); + } + + @Override + public void sendGold(SendGoldCmd param) { ResponseAssert.isTrue(WalletErrorCode.REQUIRED_GT_ZERO, ArithmeticUtils.gtZero(param.getQuantity())); UserProfileDTO userProfile = ResponseAssert.requiredSuccess(