Administrator
2025-05-15 57f5dbb0ba230bdbc40409c1274d98f56e35e45b
src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java
@@ -113,7 +113,7 @@
        if(ObjectUtil.isNotEmpty(happyMemberLevel)){
            // 计算自己获得的积分
            BigDecimal minePercent = happyMemberLevel.getMinePercent();
            BigDecimal mineScore = amount.multiply(minePercent.divide(BigDecimal.valueOf(100), 4, RoundingMode.HALF_DOWN)).setScale(0, RoundingMode.HALF_DOWN);
            BigDecimal mineScore = amount.multiply(minePercent).setScale(0, RoundingMode.HALF_DOWN);
            if(BigDecimal.ZERO.compareTo(mineScore) < 0){
                recommendScoreMap.put(memberId, mineScore);
                recommendTypeScoreMap.put(memberId, ScoreFlowTypeEnum.MINE_RECOMMEND.getValue());
@@ -122,7 +122,7 @@
            if(StrUtil.isNotEmpty(member.getReferrerId())){
                MallMember refMember = mallMemberMapper.selectInfoByInviteId(member.getReferrerId());
                BigDecimal otherPercent = happyMemberLevel.getOtherPercent();
                BigDecimal otherScore = amount.multiply(otherPercent.divide(BigDecimal.valueOf(100), 4, RoundingMode.HALF_DOWN)).setScale(0, RoundingMode.HALF_DOWN);
                BigDecimal otherScore = amount.multiply(otherPercent).setScale(0, RoundingMode.HALF_DOWN);
                if(BigDecimal.ZERO.compareTo(otherScore) < 0){
                    recommendScoreMap.put(refMember.getId(), otherScore);
                    recommendTypeScoreMap.put(memberId, ScoreFlowTypeEnum.OTHER_RECOMMEND.getValue());
@@ -275,8 +275,8 @@
            return;
        }
        // 计算返佣金额
        BigDecimal divide = happySaleLevel.getReturnPercent().divide(new BigDecimal(100));
        BigDecimal multiply = mallOrderInfo.getAmount().multiply(divide).setScale(2, RoundingMode.HALF_DOWN);
        BigDecimal returnPercent = happySaleLevel.getReturnPercent();
        BigDecimal multiply = mallOrderInfo.getAmount().multiply(returnPercent).setScale(2, RoundingMode.HALF_DOWN);
        // 如果返佣金额小于等于0,则直接返回
        if(BigDecimal.ZERO.compareTo(multiply) >=0){
            return;
@@ -291,12 +291,13 @@
                multiply,
                ScoreFlowTypeEnum.SALE_RECOMMEND.getValue(),
                mallOrderInfo.getOrderNo(),
                FlowTypeEnum.BALANCE.getValue(),
                FlowTypeEnum.COMMISSION.getValue(),
                StrUtil.format(ScoreFlowTypeEnum.SALE_RECOMMEND.getDesc(),multiply),
                2
        );
        // 更新会员钱包中的余额
        mallMemberWalletService.add(multiply, storeMasterMember.getId(), "balance");
        mallMemberWalletService.add(multiply, storeMasterMember.getId(), "commission");
        mallMemberWalletService.add(multiply, storeMasterMember.getId(), "total_score");
        MallAchieveRecord mallAchieveRecord = new MallAchieveRecord();
        mallAchieveRecord.setMemberId(mallOrderInfo.getMemberId());