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(