From e63f08bb358dd2d53a1bece9fb7654ff196c113b Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 09 Jan 2025 18:03:58 +0800
Subject: [PATCH] refactor(mall): 优化 BigDecimal 的舍入方式
---
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..e8f070a 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