From c33c9c03bb90e49ad12fd237058c877e87e96ca4 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Mon, 24 Apr 2023 00:17:41 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java |  101 +-------------------------------------------------
 1 files changed, 3 insertions(+), 98 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index 4eb10b4..76d9a66 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -57,6 +57,9 @@
     public void autoUpAgentLevel(Long memberId) {
         log.info("###代理自动升级###");
         MallMember member = memberMapper.selectById(memberId);
+        if (MemberLevelEnum.ZERO_LEVEL.getType().equals(member.getLevel())) {
+            return;
+        }
 
         MatrixTree tree = MatrixTree.getInstance();
         MemberNode node = tree.getNode(member.getInviteId());
@@ -187,104 +190,6 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void perkMoneyConsumer(long orderId) {
-        long start = System.currentTimeMillis();
-        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId);
-        if(ObjectUtil.isEmpty(mallOrderInfo)){
-            return;
-        }
-//        if(2 != mallOrderInfo.getStatus()){
-//            return;
-//        }
-        /**
-         * 分享补贴 直推消费额10%
-         */
-        BigDecimal amount = mallOrderInfo.getAmount().subtract(mallOrderInfo.getScoreAmount());
-
-        Long memberId = mallOrderInfo.getMemberId();
-        MallMember mallMember = memberMapper.selectById(memberId);
-        //补贴对象 直属上级
-        MallMember mallMemberUp = memberMapper.selectInfoByInviteId(mallMember.getReferrerId());
-        if(ObjectUtil.isNotEmpty(mallMemberUp)){
-            //分享补贴百分比
-            DataDictionaryCustom sharePerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                    DataDictionaryEnum.SHARE_PERK.getType(),
-                    DataDictionaryEnum.SHARE_PERK.getCode());
-            String sharePerk = ObjectUtil.isEmpty(sharePerkDic.getValue()) ? "0" : sharePerkDic.getValue();
-            BigDecimal sharePerkPercent = new BigDecimal(sharePerk).abs().divide(new BigDecimal(100));
-            //分享补贴金额
-            BigDecimal sharePerkAmount = amount.multiply(sharePerkPercent).setScale(2, BigDecimal.ROUND_DOWN);;
-
-            //所有合伙人补贴至消费礼包的三倍额度需要复购一次。
-            MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberUp.getId());
-            BigDecimal totalScore = mallMemberWallet.getTotalScore();
-            if(totalScore.compareTo(sharePerkAmount) < 0){
-                sharePerkAmount = totalScore;
-            }
-            if(BigDecimal.ZERO.compareTo(sharePerkAmount) < 0){
-                //减少补贴额度
-                mallMemberWalletMapper.reduceTotalScoreById(sharePerkAmount, mallMemberWallet.getId());
-
-                reduceStar(mallMemberUp.getId(),sharePerkAmount);
-
-                mallMemberWalletMapper.addBalanceById(sharePerkAmount, mallMemberWallet.getId());
-
-//                mallMoneyFlowService.addMoneyFlow(
-//                        mallMemberUp.getId(),
-//                        sharePerkAmount,
-//                        MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(),
-//                        mallOrderInfo.getOrderNo(),
-//                        "直推奖",
-//                        "补贴额度:"+totalScore,
-//                        memberId,
-//                        2,
-//                        FlowTypeEnum.BALANCE.getValue(),
-//                        1);
-            }
-        }
-        /**
-         * 星级奖励
-         *  从最顶级级别的合伙人开始补贴
-         *      补贴完,把已经补贴的合伙人加入下一个级别
-         */
-        List<MallMember> sevenLevelRecord = getStarRecord(null,  MemberLevelEnum.SEVEN_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_SEVEN.getValue());
-        List<MallMember> sixLevelRecord = getStarRecord(sevenLevelRecord,  MemberLevelEnum.SIX_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_SIX.getValue());
-        List<MallMember> fifthLevelRecord = getStarRecord(sixLevelRecord,  MemberLevelEnum.FIFTH_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_FIVE.getValue());
-        List<MallMember> fourLevelRecord = getStarRecord(fifthLevelRecord,  MemberLevelEnum.FOUR_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_FOUR.getValue());
-        List<MallMember> thirdLevelRecord = getStarRecord(fourLevelRecord,  MemberLevelEnum.THIRD_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_THREE.getValue());
-        List<MallMember> secondLevelRecord = getStarRecord(thirdLevelRecord,  MemberLevelEnum.SECOND_LEVEL.name(), amount, mallOrderInfo.getOrderNo(), memberId,MoneyFlowTypeEnum.STAR_PERK_TWO.getValue());
-
-        /**
-         * 团队补贴
-         */
-        //团队补贴百分比
-        DataDictionaryCustom teamPerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                DataDictionaryEnum.TEAM_PERK.getType(),
-                DataDictionaryEnum.TEAM_PERK.getCode());
-        String teamPerk = ObjectUtil.isEmpty(teamPerkDic.getValue()) ? "0" : teamPerkDic.getValue();
-        BigDecimal teamPerkPercent = new BigDecimal(teamPerk).abs().divide(new BigDecimal(100));
-        //分享补贴金额
-        BigDecimal teamPerkAmount = amount.multiply(teamPerkPercent);
-        //团队补贴对象
-        List<MallMember> mallMemberTeamPerkList = mallMemberTeamPerkListInfo(memberId);
-        if(CollUtil.isNotEmpty(mallMemberTeamPerkList)){
-            List<Long> mallMemberTeamPerkIds = mallMemberTeamPerkList.stream().map(MallMember::getId).collect(Collectors.toList());
-            List<MallMemberWallet> mallMemberWallets = mallMemberWalletMapper.selectMemberWalletsByIds(mallMemberTeamPerkIds);
-            flowTotalScoreBalance(
-                    mallMemberWallets,
-                    teamPerkAmount,
-                    MoneyFlowTypeEnum.TEAM_PERK.getValue(),
-                    mallOrderInfo.getOrderNo(),
-                    memberId
-            );
-        }
-
-        long end = System.currentTimeMillis();
-        log.info("============订单:{},时间:{}===========",mallOrderInfo.getOrderNo(),(end - start)/1000);
-        MallMqRecord mallMqRecord = mallMqRecordMapper.selectByOrderId(orderId);
-        if(ObjectUtil.isNotEmpty(mallMqRecord)){
-            mallMqRecord.setState(1);
-            mallMqRecordMapper.updateById(mallMqRecord);
-        }
     }
 
     /**

--
Gitblit v1.9.1