From 96797576f4ececd59bf573cccf0f6e47581673d0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 11 Sep 2023 15:32:41 +0800
Subject: [PATCH] 领红包
---
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 22 ++++++++++++++++------
1 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
index 1003999..d7b9f3e 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -18,7 +18,9 @@
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
@@ -500,6 +502,13 @@
@Override
public void scorePool() {
log.info("#####==积分池==start==######");
+
+ String redisKey = "scorePool";
+// List<MallOrderInfo> mallOrderInfos = mallOrderInfoMapper.selectList(new QueryWrapper<>());
+// if(CollUtil.isEmpty(mallOrderInfos)){
+// redisUtils.set(redisKey,0,0L);
+// return;
+// }
/**
* 后一天2点,结算前一天的所有消费
* 积分池增加每日消费的10%
@@ -517,8 +526,6 @@
Date date = DateUtil.offsetDay(new Date(), -1);
BigDecimal totalAmount = mallOrderInfoMapper.selectTotalAmountByPayDoneAndDataString(1, date);
BigDecimal multiplyTotalAmount = totalAmount.multiply(everydayRatio);
-
- String redisKey = "scorePool";
String scorePoolRedis = redisUtils.getString(redisKey);
if(StrUtil.isBlank(scorePoolRedis)){
redisUtils.set(redisKey,0,0L);
@@ -531,6 +538,7 @@
BigDecimal scorePoolToDay = scorePoolNew.multiply(dividEquallyRatio);
redisUtils.set(redisKey,scorePoolNew.subtract(scorePoolToDay).intValue(),0L);
+ redisUtils.set(AppContants.SCORE_POOL_TODAY,scorePoolToDay.intValue(),0L);
QueryWrapper<MallMember> formalMember = new QueryWrapper<>();
formalMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
@@ -556,10 +564,12 @@
}else{
outCome = income;
}
- walletService.add(outCome, mallMember.getId(), "commission");
- walletService.reduce(outCome, mallMember.getId(), "score");
- moneyFlowService.addMoneyFlow(mallMember.getId(), outCome, MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
- moneyFlowService.addMoneyFlow(mallMember.getId(), outCome.negate(), MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.SCORE.getValue());
+
+ outCome = new BigDecimal(RandomUtil.randomBigDecimal(BigDecimal.ZERO,outCome).intValue()).setScale(2,BigDecimal.ROUND_DOWN);
+// walletService.add(outCome, mallMember.getId(), "commission");
+// walletService.reduce(outCome, mallMember.getId(), "score");
+ moneyFlowService.addMoneyFlow(1,mallMember.getId(), outCome, MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
+ moneyFlowService.addMoneyFlow(1,mallMember.getId(), outCome.negate(), MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.SCORE.getValue());
cnt ++;
}
}
--
Gitblit v1.9.1