From 20201b7c7b28d5342be4a0e0b1e8641b2490c78b Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 13 Jan 2025 22:34:13 +0800
Subject: [PATCH] fix(mall): 修复获取积分日榜和月榜时的潜在空指针异常
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 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 e8f070a..5391021 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
@@ -1724,6 +1724,8 @@
* 1:日榜 2:月榜
* 获取当前日期
*/
+
+ List<ApiChartVo> apiChartVos = new ArrayList<>();
LambdaQueryWrapper<MallMoneyFlow> mallMoneyFlowLambdaQueryWrapper = new LambdaQueryWrapper<>();
if(apiRecordDto.getType() == 1){
DateTime dateTime = DateUtil.beginOfDay(DateUtil.date());
@@ -1732,15 +1734,26 @@
DateTime dateTime = DateUtil.beginOfMonth(DateUtil.date());
mallMoneyFlowLambdaQueryWrapper.ge(MallMoneyFlow :: getCreatedTime , dateTime);
}
+ List<MallMember> mallMembers = this.baseMapper.selectList(
+ new LambdaQueryWrapper<MallMember>()
+ .select(MallMember::getId)
+ );
+ if(CollUtil.isEmpty(mallMembers)){
+ return apiChartVos;
+ }
+ //获取mallMembers的全部id
+ List<Long> ids = mallMembers.stream().map(MallMember::getId).collect(Collectors.toList());
mallMoneyFlowLambdaQueryWrapper.eq(MallMoneyFlow :: getFlowType, FlowTypeEnum.SCORE.getValue());
mallMoneyFlowLambdaQueryWrapper.in(
MallMoneyFlow :: getType,
RunVipMoneyFlowTypeEnum.GET_SCORE.getValue(),
RunVipMoneyFlowTypeEnum.SYS_SCORE.getValue()
);
+ mallMoneyFlowLambdaQueryWrapper.in(
+ MallMoneyFlow :: getMemberId,
+ ids
+ );
List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectList(mallMoneyFlowLambdaQueryWrapper);
-
- List<ApiChartVo> apiChartVos = new ArrayList<>();
if(CollUtil.isEmpty(mallMoneyFlows)){
return apiChartVos;
}
--
Gitblit v1.9.1