From c8553669f87a7bc4df3b2279ad4473b6b212a127 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 15 Mar 2023 14:46:42 +0800 Subject: [PATCH] 后台修改 --- src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java | 20 ++++++++++++++++++-- 1 files changed, 18 insertions(+), 2 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 22159cc..7697f74 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 @@ -22,6 +22,7 @@ import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; @@ -100,6 +101,7 @@ if (signScoreDic == null) { throw new FebsException("签到活动未开启"); } + Integer signScore = Integer.parseInt(signScoreDic.getValue()); MallScoreSignRecord mallScoreSignRecord = mallScoreSignRecordMapper.selectRecentSignRecord(member.getId()); if (mallScoreSignRecord == null) { @@ -109,8 +111,22 @@ if (mallScoreSignRecord.getSignTime() != null && DateUtil.betweenDay(mallScoreSignRecord.getSignTime(), new Date(), true) == 0) { throw new FebsException("今日已签到"); } - - Integer signScore = Integer.parseInt(signScoreDic.getValue()); + /** + * 获取签到次数 + * 判断签到次数是否大于规定的时长signScoreDays,超出则获得的积分数为signScoreCnt + */ + Integer count = mallScoreSignRecordMapper.selectCountByMemberId(member.getId()); + DataDictionaryCustom signScoreDaysDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.SIGN_SCORE_DAYS.getType(), + DataDictionaryEnum.SIGN_SCORE_DAYS.getCode()); + Integer signScoreDays = Integer.parseInt(signScoreDaysDic.getValue()); + if(count >= signScoreDays){ + DataDictionaryCustom signScoreCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.SIGN_SCORE_CNT.getType(), + DataDictionaryEnum.SIGN_SCORE_CNT.getCode()); + Integer signScoreCnt = Integer.parseInt(signScoreCntDic.getValue()); + signScore = signScoreCnt; + } mallScoreSignRecord.setMemberId(member.getId()); mallScoreSignRecord.setTotalCnt(signScore); mallScoreSignRecord.setSignTime(new Date()); -- Gitblit v1.9.1