xiaoyong931011
2021-11-09 817cf20960789a20ac87617b2371063013699396
gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
@@ -483,6 +483,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());
@@ -528,6 +533,46 @@
        }
    }
    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(), ',');