From d41bbcde17f899035aff34890cafeda2cc23d30e Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Sat, 08 Apr 2023 12:32:33 +0800 Subject: [PATCH] 设置内转开关 --- src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 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 bde3d03..214b3a8 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 @@ -278,6 +278,11 @@ String levelNormal = MemberLevelEnum.NORMAL.getType(); BigDecimal cashPercentNormal = BigDecimal.ZERO; BigDecimal scorePercentNormal = BigDecimal.ZERO; + + DataDictionaryCustom poolScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + PerkEnum.POOL_SCORE_PRICE.getType(), + PerkEnum.POOL_SCORE_PRICE.getCode()); + BigDecimal poolScorePrice = new BigDecimal(poolScorePriceDic.getValue() == null ? "1" : poolScorePriceDic.getValue()); for(MallMember teamPerkMember : mallMemberTeamPerk){ String level = teamPerkMember.getLevel(); //比较两个级别的大小,level大于levelNormal返回1 @@ -295,7 +300,10 @@ scorePercent = scorePercent.subtract(scorePercentNormal); BigDecimal cashAmount = amountTC.multiply(cashPercent).setScale(2, BigDecimal.ROUND_DOWN); + + //如果是积分,除以当前价格,得到数量。 BigDecimal scoreCnt = amountTC.multiply(scorePercent).setScale(2, BigDecimal.ROUND_DOWN); + scoreCnt = scoreCnt.divide(poolScorePrice, 2 ,BigDecimal.ROUND_DOWN); if(cashAmount.compareTo(BigDecimal.ZERO) > 0){ addWalletInfoAndMoneyFlow(cashAmount, teamPerkMemberId, @@ -340,6 +348,14 @@ BigDecimal perkEnumDicPercent = new BigDecimal(perkEnumDic.getValue() == null ? "0" : perkEnumDic.getValue()); //获得数量 BigDecimal perkEnumDicPercentPerk = perkEnumDicPercent.multiply(AppContants.PERCENTAGE).multiply(amountTC).setScale(2, BigDecimal.ROUND_DOWN); + //如果是积分,除以当前价格,得到数量。 + if(walletField.equals("score")){ + DataDictionaryCustom poolScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + PerkEnum.POOL_SCORE_PRICE.getType(), + PerkEnum.POOL_SCORE_PRICE.getCode()); + BigDecimal poolScorePrice = new BigDecimal(poolScorePriceDic.getValue() == null ? "1" : poolScorePriceDic.getValue()); + perkEnumDicPercentPerk = perkEnumDicPercentPerk.divide(poolScorePrice, 2 ,BigDecimal.ROUND_DOWN); + } if(perkEnumDicPercentPerk.compareTo(BigDecimal.ZERO) > 0){ addWalletInfoAndMoneyFlow(perkEnumDicPercentPerk,memberId,walletField,type,flowType,orderNo); } -- Gitblit v1.9.1