From 8b854ff5dfae5bb3066380a461b6e972b9fa502d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 13 Jun 2022 19:40:47 +0800
Subject: [PATCH] fix maker distrib
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 32 ++++++++++++++++++++++++++++++--
src/main/resources/mapper/dapp/DappMemberDao.xml | 5 +++++
src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java | 2 ++
src/main/java/cc/mrbird/febs/dapp/vo/SlipSettingVo.java | 12 ++++++++----
4 files changed, 45 insertions(+), 6 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
index 21aff3e..47e2449 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
@@ -38,4 +38,6 @@
BigDecimal selectChildHoldAmount(@Param("inviteId") String inviteId);
IPage<TeamListVo> selectTeamListInPage(@Param("record") TeamListDto teamListDto, Page<TeamListDto> page);
+
+ List<DappMemberEntity> selectMakerAddress();
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
index 612a694..adaa965 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -196,7 +196,6 @@
}
BigDecimal total = distrbAmount.multiply(new BigDecimal(distribDic.getValue()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP));
-
OnlineTransferUtil.addTransfer(parent.getAddress(), total, fundflow.getType(), 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo);
DappFundFlowEntity distribFlow = new DappFundFlowEntity(parent.getId(), total, 4, 2, BigDecimal.ZERO);
@@ -207,9 +206,38 @@
}
}
+ // 铸池滑点金额
+ BigDecimal makerAmount = distrbAmount.multiply(slipSetting.getMakeProp().divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP));
+ log.info("铸池滑点金额:{}", makerAmount);
+ if (makerAmount.compareTo(BigDecimal.ZERO) > 0) {
+ List<DappMemberEntity> makerAddress = dappMemberDao.selectMakerAddress();
+ if (CollUtil.isNotEmpty(makerAddress)) {
+ BigDecimal totalMaker = BigDecimal.ZERO;
+ Map<String, BigDecimal> map = new HashMap<>();
+ Map<String, Long> addressAndId = new HashMap<>();
+ for (DappMemberEntity maker : makerAddress) {
+ BigDecimal balance = instance.balanceOf(maker.getAddress());
+ map.put(maker.getAddress(), balance);
+ addressAndId.put(maker.getAddress(), maker.getId());
+
+ totalMaker = totalMaker.add(balance);
+ }
+
+ for (Map.Entry<String, BigDecimal> entry : map.entrySet()) {
+ BigDecimal target = makerAmount.multiply(entry.getValue().divide(totalMaker, 2, RoundingMode.HALF_UP));
+
+ OnlineTransferUtil.addTransfer(entry.getKey(), target, fundflow.getType(), 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo);
+
+ DappFundFlowEntity distribFlow = new DappFundFlowEntity(addressAndId.get(entry.getKey()), target, 4, 2, BigDecimal.ZERO);
+ dappFundFlowDao.insert(distribFlow);
+ }
+ }
+ }
+
+
// 若节点金额还有剩余,则进入技术金额
techAmount = techAmount.add(nodeAmount);
- OnlineTransferUtil.addTransfer(ChainEnum.BSC_TFC_TECH.getAddress(), techAmount, fundflow.getType(), 2, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo);
+ OnlineTransferUtil.addTransfer(ChainEnum.BSC_TFC_TECH.getAddress(), techAmount, fundflow.getType(), 3, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo);
Map<String, String> map = new HashMap<>();
map.put("batchNo", batchNo);
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/SlipSettingVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/SlipSettingVo.java
index 1da73bf..704ab0d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/vo/SlipSettingVo.java
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/SlipSettingVo.java
@@ -12,24 +12,28 @@
public class SlipSettingVo {
/**
- * 交易滑点 8%
+ * 交易滑点 10%
*/
private BigDecimal allPoint;
/**
- * 销毁滑点 8% 中 的八分之一
+ * 销毁滑点 10% 中 的2
*/
private BigDecimal destroyPoint;
/**
- * 分发滑点 8% 中的 八分之七
+ * 分发滑点 10% 中的 8
*/
private BigDecimal distrbPoint;
/**
- * 技术比例 分发滑点中的 20%
+ * 技术比例 分发滑点中的 10%
*/
private BigDecimal techProp;
+ /**
+ * 铸池用户滑点 分发滑点中的 10%
+ */
+ private BigDecimal makeProp;
/**
* 创始方比例 分发滑点中的 80%
diff --git a/src/main/resources/mapper/dapp/DappMemberDao.xml b/src/main/resources/mapper/dapp/DappMemberDao.xml
index 89b4ec8..fe9aa5a 100644
--- a/src/main/resources/mapper/dapp/DappMemberDao.xml
+++ b/src/main/resources/mapper/dapp/DappMemberDao.xml
@@ -120,4 +120,9 @@
from dapp_member a
where find_in_set(#{record.inviteId}, a.fee_profit_ids)
</select>
+
+ <select id="selectMakerAddress" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity">
+ select * from dapp_member
+ where maker_type=2 and account_type='normal'
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1