From 6eed4f4600ba2c2d7b5d3cc14a1e0a9e4d8f0d83 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期二, 17 十月 2023 10:09:19 +0800
Subject: [PATCH] 10.17

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
index a5faf58..0f8e9ea 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
@@ -169,4 +169,36 @@
         }
         return userIntegrals;
     }
+
+    @Override
+    public List<ExchangeDetailsResponse> queryExchangeGoodsdetails1(Integer userIdFormRedis, Integer useType, Integer goodType, Integer page, Integer size) {
+        List<ExchangeDetailsResponse> detailsResponses = new ArrayList<>();
+        ExchangeDetailsVo integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis);
+        if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())){
+            detailsResponses = integralExchangeDetails.getDetailsResponses();
+            if (ToolUtil.isNotEmpty(useType)){
+                detailsResponses = detailsResponses.stream()
+                        .filter(response -> Objects.equals(response.getUseStatus(), useType))
+                        .collect(Collectors.toList());
+            }
+            if (ToolUtil.isNotEmpty(goodType)){
+                detailsResponses = detailsResponses.stream()
+                        .filter(response -> Objects.equals(response.getGoodType(), goodType))
+                        .collect(Collectors.toList());
+            }
+        }
+
+        int totalItems = detailsResponses.size();
+        int totalPages = (int) Math.ceil((double) totalItems / size);
+        int startIndex = (page - 1) * size;
+        int endIndex = Math.min(startIndex + size, totalItems);
+
+        if (startIndex <= endIndex) {
+            detailsResponses = detailsResponses.subList(startIndex, endIndex);
+        } else {
+            detailsResponses.clear();
+        }
+
+        return detailsResponses;
+    }
 }

--
Gitblit v1.7.1