| | |
| | | } |
| | | } |
| | | |
| | | 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(), ','); |