From 7f55c18d7db36c9cad2ac96e481680bc1107e51c Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Thu, 15 Jun 2023 11:16:11 +0800 Subject: [PATCH] Merge branch 'meiye_mall' of http://120.27.238.55:7000/r/xc-mall into meiye_mall --- src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 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 5c12fec..e6ff8d5 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 @@ -18,6 +18,7 @@ import cc.mrbird.febs.mall.service.IMallMoneyFlowService; import cc.mrbird.febs.mall.service.IScoreService; import cc.mrbird.febs.mall.vo.*; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; @@ -26,6 +27,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -414,6 +416,25 @@ break; } + MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(member.getId()); + if (wallet.getPrizeScore().compareTo(new BigDecimal(scoreSetting.getMostSignIn())) > 0) { + throw new FebsException("积分达到上限"); + } + + LambdaQueryWrapper<MallScoreSignRecord> hasSignQuery = new LambdaQueryWrapper<>(); + hasSignQuery.le(MallScoreSignRecord::getSignTime, DateUtil.endOfDay(DateUtil.endOfMonth(new Date()))); + hasSignQuery.gt(MallScoreSignRecord::getSignTime, DateUtil.beginOfDay(DateUtil.beginOfMonth(new Date()))); + hasSignQuery.eq(MallScoreSignRecord::getMemberId, member.getId()); + List<MallScoreSignRecord> hasSignTotalList = mallScoreSignRecordMapper.selectList(hasSignQuery); + if (CollUtil.isNotEmpty(hasSignTotalList)) { + int totalScore = hasSignTotalList.stream().mapToInt(MallScoreSignRecord::getScore).sum(); + + if (totalScore + mallScoreSignRecord.getScore() > scoreSetting.getMostSignIn()) { +// throw new FebsException("达到当月积分上限"); + mallScoreSignRecord.setScore(scoreSetting.getMostSignIn() - totalScore); + } + } + mallScoreSignRecord.setMemberId(member.getId()); mallScoreSignRecord.setTotalCnt(days); mallScoreSignRecord.setSignTime(new Date()); -- Gitblit v1.9.1