From f54f8a92c09a2cd76b3bbb796df680215b63ab8a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 21 Feb 2022 14:16:41 +0800
Subject: [PATCH] fix 50 to 40

---
 gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java |   21 ++++++++++++++++++++-
 1 files changed, 20 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 10489b6..d148f04 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
@@ -106,6 +106,9 @@
     public void join(String headId, String userId) {
         log.info("#加入团队:{}, {}#", headId, userId);
         AccountInfo headInfo = accountMapper.selectOneByUserId(headId);
+        if (headInfo == null) {
+            return;
+        }
         if (AccountInfo.IS_HEAD_N.equals(headInfo.getIsHead())) {
             throw new RestException(-3, "不是团长");
         }
@@ -188,6 +191,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 +487,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,7 +533,9 @@
             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);
         }
     }
 
@@ -543,6 +554,14 @@
             return;
         }
 
+        List<UserShareInfo> hasInvite = userShareInfoMapper.selectByPhone(phone);
+        if (CollUtil.isNotEmpty(hasInvite)) {
+            if (hasInvite.size() >= 10) {
+                log.info("超过10个,邀请无效:{}", phone);
+                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());

--
Gitblit v1.9.1