From 1a5e0904bdaf1ea186dd1ea765cc2638eba9930b Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 08 Apr 2023 14:19:29 +0800
Subject: [PATCH] 设置内转开关
---
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 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 214b3a8..7817f85 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
@@ -158,6 +158,7 @@
* 3、不同代理级别获取不用的比例的现金和积分
* 4、董事享受全公司入单分红2%加权(现金)
* 5、合伙人享全公司入单分红5%加权(现金)
+ * 6、入单后,50%入现金池 35%的积分入积分池,更新价格
*/
//获取当前订单子表信息
List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectbyOrderId(orderId);
@@ -328,6 +329,62 @@
}
}
+ /**
+ * 6、入单后,50%入现金池 35%的积分入积分池,更新价格
+ */
+ DataDictionaryCustom poolCashPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PerkEnum.POOL_CASH_PERCENT.getType(),
+ PerkEnum.POOL_CASH_PERCENT.getCode());
+ DataDictionaryCustom poolScorePercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PerkEnum.POOL_SCORE_PERCENT.getType(),
+ PerkEnum.POOL_SCORE_PERCENT.getCode());
+ if(ObjectUtil.isNotEmpty(poolCashPercentDic)){
+ BigDecimal poolCashPercent = new BigDecimal(poolCashPercentDic.getValue()).multiply(AppContants.PERCENTAGE);
+ //新增现金数量
+ BigDecimal poolCashAdd = amountTC.multiply(poolCashPercent);
+ DataDictionaryCustom poolCashDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PerkEnum.POOL_CASH.getType(),
+ PerkEnum.POOL_CASH.getCode());
+ //当前现金池数量
+ BigDecimal poolCash = new BigDecimal(poolCashDic.getValue());
+ poolCash = poolCash.add(poolCashAdd).setScale(2,BigDecimal.ROUND_DOWN);
+ dataDictionaryCustomMapper.updateDicValueByTypeAndCode(
+ PerkEnum.POOL_CASH.getType(),
+ PerkEnum.POOL_CASH.getCode(),
+ poolCash.toString()
+ );
+
+
+ DataDictionaryCustom poolScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PerkEnum.POOL_SCORE_PRICE.getType(),
+ PerkEnum.POOL_SCORE_PRICE.getCode());
+ BigDecimal poolScorePrice = new BigDecimal(poolScorePriceDic.getValue() == null ? "1" : poolScorePriceDic.getValue());
+ BigDecimal poolScorePercent = new BigDecimal(poolScorePercentDic.getValue()).multiply(AppContants.PERCENTAGE);
+ //新增积分数量
+ BigDecimal poolScoreAdd = amountTC.multiply(poolScorePercent);
+ poolScoreAdd = poolScoreAdd.divide(poolScorePrice,2,BigDecimal.ROUND_DOWN);
+ DataDictionaryCustom poolScoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PerkEnum.POOL_SCORE.getType(),
+ PerkEnum.POOL_SCORE.getCode());
+ //当前积分池数量
+ BigDecimal poolScore = new BigDecimal(poolScoreDic.getValue());
+ poolScore = poolScore.add(poolScoreAdd).setScale(2,BigDecimal.ROUND_DOWN);
+ dataDictionaryCustomMapper.updateDicValueByTypeAndCode(
+ PerkEnum.POOL_SCORE.getType(),
+ PerkEnum.POOL_SCORE.getCode(),
+ poolScore.toString()
+ );
+
+ if(poolScore.compareTo(BigDecimal.ZERO) > 0 && poolCash.compareTo(BigDecimal.ZERO) > 0){
+ BigDecimal divide = poolCash.divide(poolScore, 2, BigDecimal.ROUND_DOWN);
+ dataDictionaryCustomMapper.updateDicValueByTypeAndCode(
+ PerkEnum.POOL_SCORE_PRICE.getType(),
+ PerkEnum.POOL_SCORE_PRICE.getCode(),
+ divide.toString()
+ );
+ }
+ }
+
}
/**
--
Gitblit v1.9.1