From 57f5dbb0ba230bdbc40409c1274d98f56e35e45b Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 15 May 2025 16:11:02 +0800 Subject: [PATCH] refactor(mall): 优化订单列表接口响应时间 --- src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java index ed0a2b2..f2f6832 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java @@ -26,6 +26,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -89,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) ); @@ -166,7 +167,7 @@ } // 若最新签到日期,与当天相差大于一天,则更新数据库(避免定时器更新失败) - if (DateUtil.betweenDay(mallScoreSignRecord.getSignTime(), new Date(), true) > 1 || mallScoreSignRecord.getTotalCnt() == 7) { + if (DateUtil.betweenDay(mallScoreSignRecord.getSignTime(), new Date(), true) > 1) { mallScoreSignRecord.setTotalCnt(0); mallScoreSignRecordMapper.updateById(mallScoreSignRecord); } @@ -182,19 +183,18 @@ // 创建分页对象,传入当前页和每页大小 Page<MallMoneyFlow> page = new Page<>(dto.getPageNow(), dto.getPageSize()); LambdaQueryWrapper<MallMoneyFlow> mallMoneyFlowLambdaQueryWrapper = new LambdaQueryWrapper<>(); + List<Integer> integers = Arrays.asList(ScoreFlowTypeEnum.SIGN_SCORE.getValue(), ScoreFlowTypeEnum.SIGN_EXPERIENCE.getValue()); mallMoneyFlowLambdaQueryWrapper - .select(MallMoneyFlow::getCreatedTime, MallMoneyFlow::getAmount) + .select(MallMoneyFlow::getCreatedTime, MallMoneyFlow::getRemark) .eq(MallMoneyFlow::getMemberId, memberId) - .eq(MallMoneyFlow::getFlowType, FlowTypeEnum.PRIZE_SCORE.getValue()) - .eq(MallMoneyFlow::getType, MoneyFlowTypeEnum.SCORE_SIGN.getValue()) + .in(MallMoneyFlow::getType, integers) .orderByDesc(MallMoneyFlow::getId) ; - // 调用Mapper方法获取活动分页数据 Page<MallMoneyFlow> mallMoneyFlowPage = mallMoneyFlowService.getBaseMapper().selectPage(page, mallMoneyFlowLambdaQueryWrapper); if(CollUtil.isNotEmpty(mallMoneyFlowPage.getRecords())){ mallMoneyFlowPage.getRecords().forEach(item -> { ApiSignListVo apiSignListVo = new ApiSignListVo(); - apiSignListVo.setAmount(item.getAmount()); + apiSignListVo.setRemark(item.getRemark()); apiSignListVo.setCreatedTime(item.getCreatedTime()); apiSignListVos.add(apiSignListVo); }); @@ -297,7 +297,7 @@ ScoreFlowTypeEnum.SIGN_EXPERIENCE.getValue(), mallScoreSignRecord.getId().toString(), FlowTypeEnum.SCORE.getValue(), - ScoreFlowTypeEnum.SIGN_EXPERIENCE.getDesc(), + StrUtil.format(ScoreFlowTypeEnum.SIGN_EXPERIENCE.getDesc(),amount), 2); } if(mostSignIn == 2){ @@ -308,7 +308,7 @@ ScoreFlowTypeEnum.SIGN_SCORE.getValue(), mallScoreSignRecord.getId().toString(), FlowTypeEnum.PRIZE_SCORE.getValue(), - ScoreFlowTypeEnum.SIGN_SCORE.getDesc(), + StrUtil.format(ScoreFlowTypeEnum.SIGN_SCORE.getDesc(),amount), 2); } -- Gitblit v1.9.1