From c4d8357ad30bb39968279957d1fb594ef8dfdf5f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 10 Nov 2021 16:09:56 +0800
Subject: [PATCH] fix
---
gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 49 insertions(+), 1 deletions(-)
diff --git a/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java b/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
index d877616..4cb50d3 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
@@ -188,6 +188,7 @@
stringBuffer.append(pointReward);
redPaperRule.setStatus((short) 0);
redPaperRule.setRuleName("分销规则");
+ redPaperRule.setRuleType("9");
redPaperRule.setSharingProfitType("frist_reward,order_num_frist,regular_point,regular_money_percent,point_reward");
redPaperRule.setShareRatio(stringBuffer.toString());
redPaperRuleMapper.insert(redPaperRule);
@@ -483,6 +484,11 @@
}
RedPaperRule rule = redPaperRules.get(0);
+ if (rule.getStatus() == 0) {
+ log.info("规则被禁用, 不执行返利");
+ return;
+ }
+
String shareTimes = getRuleValue(rule, CommonEnum.朋友圈分享限次.getValue());
String shareScore = getRuleValue(rule, CommonEnum.朋友圈分享奖励.getValue());
@@ -524,10 +530,52 @@
sysMessage.setFlag("2");
sysMessageMapper.insert(sysMessage);
- redisUtil.setex(key, times.toString(), 84400);
+ Date tomorrow = DateUtil.parse(DateUtil.tomorrow().toString("yyyy-MM-dd") + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
+ long time = DateUtil.between(new Date(), tomorrow, DateUnit.SECOND, false);
+ redisUtil.setex(key, times.toString(), (int) time);
}
}
+ public void inviteAward(String phone) {
+ AccountInfo accountInfo = accountMapper.selectAccountInfoByPhone(phone);
+
+ List<RedPaperRule> redPaperRules = redPaperRuleMapper.selectByRuleType("10");
+ if (CollUtil.isEmpty(redPaperRules)) {
+ return;
+ }
+
+ RedPaperRule rule = redPaperRules.get(0);
+ String invite = getRuleValue(rule, CommonEnum.邀请奖励.getValue());
+
+ if (StrUtil.isBlank(invite)) {
+ return;
+ }
+
+ BigDecimal returnScore = new BigDecimal(invite);
+ BigDecimal collectScore = StrUtil.isNotBlank(accountInfo.getCollectScore()) ? new BigDecimal(accountInfo.getCollectScore()) : BigDecimal.ZERO;
+ accountInfo.setCollectScore(collectScore.add(returnScore).setScale(0, RoundingMode.DOWN).toString());
+ accountMapper.updateByPrimaryKey(accountInfo);
+
+ ScoreDetails scoreDetails = new ScoreDetails();
+ scoreDetails.setCurrentScore(new BigDecimal(accountInfo.getCollectScore()));
+ scoreDetails.setOriginalScore(collectScore);
+ scoreDetails.setChangeScore(returnScore);
+ scoreDetails.setCreatedTime(new Date());
+ scoreDetails.setType(ScoreDetails.SCORE_TYPE_INVITE);
+ scoreDetails.setUserId(accountInfo.getUserId());
+ scoreDetailsMapper.insert(scoreDetails);
+
+ SysMessage sysMessage = new SysMessage();
+ sysMessage.setCreateTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
+ sysMessage.setCreateUserId(accountInfo.getUserId());
+ sysMessage.setUserId(accountInfo.getUserId());
+ sysMessage.setMessageType("4");
+ sysMessage.setMessageSubTypeName("邀请奖励");
+ sysMessage.setMessage("邀请奖励, 积分:" + returnScore);
+ sysMessage.setFlag("2");
+ sysMessageMapper.insert(sysMessage);
+ }
+
private String getRuleValue(RedPaperRule redPaperRule, String key) {
List<String> rules = StrUtil.split(redPaperRule.getSharingProfitType(), ',');
List<String> values = StrUtil.split(redPaperRule.getShareRatio(), ',');
--
Gitblit v1.9.1