From 9b51a95fa8bc9b3a86108c6900e17fc55f8db467 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 19 May 2025 17:02:07 +0800 Subject: [PATCH] refactor(vip): 优化积分和返佣计算逻辑 --- src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java | 11 ++++++----- 1 files changed, 6 insertions(+), 5 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 a2611dd..7393804 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 @@ -7,6 +7,7 @@ import cc.mrbird.febs.common.enumerates.ScoreFlowTypeEnum; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.LoginUserUtil; +import cc.mrbird.febs.common.utils.MallUtils; import cc.mrbird.febs.mall.dto.ScoreSettingDto; import cc.mrbird.febs.mall.dto.signActivity.ApiSignDataDto; import cc.mrbird.febs.mall.dto.signActivity.ApiSignListDto; @@ -90,11 +91,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) ); @@ -167,7 +168,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); } @@ -295,7 +296,7 @@ member.getId(), amount, ScoreFlowTypeEnum.SIGN_EXPERIENCE.getValue(), - mallScoreSignRecord.getId().toString(), + MallUtils.getOrderNum("s"), FlowTypeEnum.SCORE.getValue(), StrUtil.format(ScoreFlowTypeEnum.SIGN_EXPERIENCE.getDesc(),amount), 2); @@ -306,7 +307,7 @@ member.getId(), amount, ScoreFlowTypeEnum.SIGN_SCORE.getValue(), - mallScoreSignRecord.getId().toString(), + MallUtils.getOrderNum("s"), FlowTypeEnum.PRIZE_SCORE.getValue(), StrUtil.format(ScoreFlowTypeEnum.SIGN_SCORE.getDesc(),amount), 2); -- Gitblit v1.9.1