Administrator
2025-05-12 00406b304226f6d56e07e9a23e87246fb047212d
refactor(mall): 优化积分查询逻辑

- 将单个积分类型查询改为多个积分类型查询
- 提高了查询效率,减少了数据库访问次数
1 files modified
4 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
@@ -90,11 +90,11 @@
        long between = DateUtil.between(startTime, endTime, DateUnit.DAY);
        List<ApiGetRunDateVo> apiGetRunDateVos = generateDateList(startTime, between);
        List<Integer> typeList = Arrays.asList(ScoreFlowTypeEnum.SIGN_SCORE.getValue(), ScoreFlowTypeEnum.SIGN_EXPERIENCE.getValue());
        List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowService.getBaseMapper().selectList(
                new LambdaQueryWrapper<MallMoneyFlow>()
                        .eq(MallMoneyFlow::getMemberId, memberId)
                        .eq(MallMoneyFlow::getFlowType, FlowTypeEnum.PRIZE_SCORE.getValue())
                        .eq(MallMoneyFlow::getType, MoneyFlowTypeEnum.SCORE_SIGN.getValue())
                        .in(MallMoneyFlow::getType, typeList)
                        .ge(MallMoneyFlow::getCreatedTime, startTime)
                        .le(MallMoneyFlow::getCreatedTime, endTime)
        );