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