From 3f772d6de29bc5fbe1b0a73530a782f0f602de34 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 03 Jan 2025 23:14:09 +0800
Subject: [PATCH] refactor(mall): 优化会员步数排行榜接口逻辑

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   28 +++++++++++++++++++++++++---
 1 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 81ac8aa..3c94099 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -1758,16 +1758,38 @@
         // 对 Map 按照 amount 的绝对值之和从大到小排序,并取前十个结果
         List<Map.Entry<Long, BigDecimal>> sortedList = sumByMemberId.entrySet().stream()
                 .sorted((entry1, entry2) -> entry2.getValue().compareTo(entry1.getValue()))
-                .limit(10)
+                .limit(20)
                 .collect(Collectors.toList());
-        sortedList.forEach(entry -> {
+
+        for (Map.Entry<Long, BigDecimal> entry : sortedList){
+            if(apiChartVos.size() > 10){
+                break;
+            }
             ApiChartVo apiChartVo = new ApiChartVo();
             MallMember mallMember = this.baseMapper.selectById(entry.getKey());
+            if(null == mallMember){
+                continue;
+            }
+
             apiChartVo.setName(hidePhoneNumber(mallMember.getName()));
             apiChartVo.setAvatar(mallMember.getAvatar());
             apiChartVo.setScore(entry.getValue());
             apiChartVos.add(apiChartVo);
-        });
+        }
+//        sortedList.forEach(entry -> {
+//            ApiChartVo apiChartVo = new ApiChartVo();
+//            MallMember mallMember = this.baseMapper.selectById(entry.getKey());
+//            if(null == mallMember){
+//                apiChartVo.setName(hidePhoneNumber("runStep"));
+//                apiChartVo.setAvatar(null);
+//                apiChartVo.setScore(entry.getValue());
+//            }else{
+//                apiChartVo.setName(hidePhoneNumber(mallMember.getName()));
+//                apiChartVo.setAvatar(mallMember.getAvatar());
+//                apiChartVo.setScore(entry.getValue());
+//            }
+//            apiChartVos.add(apiChartVo);
+//        });
         return apiChartVos;
     }
 

--
Gitblit v1.9.1