| | |
| | | return; |
| | | } |
| | | |
| | | BigDecimal returnMoney = agentInfo.getDirectIncome().divide(BigDecimal.valueOf(100), RoundingMode.UP).multiply(orderInfo.getAmount()); |
| | | BigDecimal returnMoney = agentInfo.getDirectIncome().divide(BigDecimal.valueOf(100), 2,RoundingMode.DOWN).multiply(orderInfo.getAmount()); |
| | | memberWalletService.addBalance(returnMoney, parent.getId()); |
| | | |
| | | memberService.addMoneyFlow(parent.getId(), returnMoney, MoneyFlowTypeEnum.BONUS.getValue(), orderInfo.getOrderNo(), null, null, orderInfo.getMemberId(), null); |
| | |
| | | |
| | | Map<Long, BigDecimal> amount = needReturn.get(level); |
| | | |
| | | if (amount != null) { |
| | | // amount = new HashMap<>(); |
| | | // AgentInfo agentInfo = getAgentInfo(level); |
| | | // if (agentInfo == null) { |
| | | // continue; |
| | | // } |
| | | // |
| | | // BigDecimal returnMoney; |
| | | // if (AgentInfo.TEAM_INCOME_TYPE_AMOUNT.equals(agentInfo.getTeamIncomeType())) { |
| | | // returnMoney = agentInfo.getTeamIncome(); |
| | | // } else { |
| | | // returnMoney = agentInfo.getTeamIncome().divide(BigDecimal.valueOf(100), RoundingMode.UP).multiply(orderInfo.getAmount()); |
| | | // } |
| | | // amount.put(mallMember.getId(), returnMoney); |
| | | // 按照代理关系,返到第二级,平级奖 |
| | | if (amount == null) { |
| | | amount = new HashMap<>(); |
| | | AgentInfo agentInfo = getAgentInfo(level); |
| | | if (agentInfo == null) { |
| | | continue; |
| | | } |
| | | |
| | | continue; |
| | | } |
| | | amount = new HashMap<>(); |
| | | AgentInfo agentInfo = getAgentInfo(level); |
| | | if (agentInfo == null) { |
| | | continue; |
| | | } |
| | | |
| | | BigDecimal returnMoney; |
| | | if (AgentInfo.TEAM_INCOME_TYPE_AMOUNT.equals(agentInfo.getTeamIncomeType())) { |
| | | returnMoney = agentInfo.getTeamIncome(); |
| | | BigDecimal returnMoney; |
| | | if (AgentInfo.TEAM_INCOME_TYPE_AMOUNT.equals(agentInfo.getTeamIncomeType())) { |
| | | returnMoney = agentInfo.getTeamIncome(); |
| | | } else { |
| | | returnMoney = agentInfo.getTeamIncome().divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN).multiply(orderInfo.getAmount()); |
| | | } |
| | | amount.put(mallMember.getId(), returnMoney); |
| | | } else { |
| | | returnMoney = agentInfo.getTeamIncome().divide(BigDecimal.valueOf(100), RoundingMode.UP).multiply(orderInfo.getAmount()); |
| | | if (!AgentLevelEnum.SECOND_LEVEL.name().equals(mallMember.getLevel())) { |
| | | amount.put(mallMember.getId(), BigDecimal.ONE); |
| | | } |
| | | } |
| | | |
| | | amount.put(mallMember.getId(), returnMoney); |
| | | // 代理两级 |
| | | if (amount.size() > 2) { |
| | | continue; |
| | | } |
| | | |
| | | needReturn.put(level, amount); |
| | | } |
| | | |