| | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | happyMemberLevelLambdaQueryWrapper.eq(HappyMemberLevel::getCode, director); |
| | | happyMemberLevelLambdaQueryWrapper.last("limit 1"); |
| | | HappyMemberLevel happyMemberLevel = happyMemberLevelMapper.selectOne(happyMemberLevelLambdaQueryWrapper); |
| | | log.info("会员等级信息:{}", JSONUtil.toJsonStr(happyMemberLevel)); |
| | | if(ObjectUtil.isNotEmpty(happyMemberLevel)){ |
| | | // 计算自己获得的积分 |
| | | BigDecimal minePercent = happyMemberLevel.getMinePercent(); |
| | | BigDecimal mineScore = amount.multiply(minePercent).setScale(0, RoundingMode.HALF_DOWN); |
| | | if(BigDecimal.ZERO.compareTo(mineScore) < 0){ |
| | | log.info("下单获得积分:{}", mineScore); |
| | | if(mineScore.compareTo(BigDecimal.ZERO) > 0){ |
| | | recommendScoreMap.put(memberId, mineScore); |
| | | recommendTypeScoreMap.put(memberId, ScoreFlowTypeEnum.MINE_RECOMMEND.getValue()); |
| | | } |
| | |
| | | MallMember refMember = mallMemberMapper.selectInfoByInviteId(member.getReferrerId()); |
| | | BigDecimal otherPercent = happyMemberLevel.getOtherPercent(); |
| | | BigDecimal otherScore = amount.multiply(otherPercent).setScale(0, RoundingMode.HALF_DOWN); |
| | | if(BigDecimal.ZERO.compareTo(otherScore) < 0){ |
| | | log.info("推荐人获得积分:{}", otherScore); |
| | | if(otherScore.compareTo(BigDecimal.ZERO) > 0){ |
| | | recommendScoreMap.put(refMember.getId(), otherScore); |
| | | recommendTypeScoreMap.put(memberId, ScoreFlowTypeEnum.OTHER_RECOMMEND.getValue()); |
| | | } |
| | |
| | | // 计算返佣金额 |
| | | BigDecimal returnPercent = happySaleLevel.getReturnPercent(); |
| | | BigDecimal multiply = mallOrderInfo.getAmount().multiply(returnPercent).setScale(2, RoundingMode.HALF_DOWN); |
| | | log.info("团长获得返佣:{}",multiply); |
| | | // 如果返佣金额小于等于0,则直接返回 |
| | | if(BigDecimal.ZERO.compareTo(multiply) >=0){ |
| | | return; |