From ec95da083dc783b7d7ca80b0a65665e9b60a037f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 26 May 2023 16:31:48 +0800
Subject: [PATCH] twoCoin项目修改
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 127 ++++++++++++++++++++++++++++++++++++++++--
src/main/resources/mapper/dapp/DappFundFlowDao.xml | 1
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 1
3 files changed, 121 insertions(+), 8 deletions(-)
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 1c38810..723887d 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
@@ -809,7 +809,19 @@
chergeRecordId);
dappFundFlowDao.insert(poolAllMemberAFundFlow);
- nodePoolPerk(poolAllMemberAPercentCnt, MemberLevelEnum.MEMBER.getType(), FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
+ BigDecimal poolAllMemberAPercentCntAva = nodePoolPerk(poolAllMemberAPercentCnt, MemberLevelEnum.MEMBER.getType(), FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
+ DappFundFlowEntity poolAllMemberAFundFlowAva = new DappFundFlowEntity(
+ 1L,
+ poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
+ FundFlowEnum.POOL_MEMBER_A_CNT.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ chergeRecordId);
+ dappFundFlowDao.insert(poolAllMemberAFundFlowAva);
+ dappWalletService.updateWalletMineWithLock(poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
+ 1L,1);
+
/**
* 10%直推
*/
@@ -854,6 +866,19 @@
//用户的A币账户增加directAPercentCnt数量
dappWalletService.updateWalletMineWithLock(directAPercentFundFlowToMemberFlag,directMemberEntity.getId(),1);
}
+ if(directAPercentCnt.compareTo(directAPercentFundFlowToMemberFlag) > 0){
+ DappFundFlowEntity directAPercentFundFlowToMemberAva = new DappFundFlowEntity(
+ 1L,
+ directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
+ FundFlowEnum.DIRECT_A_PERCENT.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ chergeRecordId);
+ dappFundFlowDao.insert(directAPercentFundFlowToMemberAva);
+ dappWalletService.updateWalletMineWithLock(directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
+ 1L,1);
+ }
}
/**
* 5%节点
@@ -884,7 +909,21 @@
nodeAPercentPoolDic.setValue(nodeAPercentPoolDicCnt.toString());
dataDictionaryCustomMapper.updateById(nodeAPercentPoolDic);
- superNodePoolPerk(nodeAPercentCnt, NodeCodeEnum.SUPER_NODE.getCode(), FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
+ BigDecimal nodeAPercentCntAva = superNodePoolPerk(nodeAPercentCnt, NodeCodeEnum.SUPER_NODE.getCode(), FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
+
+ if(nodeAPercentCnt.compareTo(nodeAPercentCntAva) > 0){
+ DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+ 1L,
+ nodeAPercentCnt.subtract(nodeAPercentCntAva),
+ FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ chergeRecordId);
+ dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+ dappWalletService.updateWalletMineWithLock(nodeAPercentCnt.subtract(nodeAPercentCntAva),
+ 1L,1);
+ }
/**
* 5%基金会
*/
@@ -928,6 +967,11 @@
chergeRecordId);
dappFundFlowDao.insert(levelAPercentCntFundFlow);
chainProducer.sendAntACoinInLevelMsg(levelAPercentCntFundFlow.getId());
+
+ /**
+ * 更新用户为有效用户
+ */
+ dappMemberDao.updateMemberActiveStatus(1,memberId);
}
@@ -1116,7 +1160,19 @@
dappFundFlowDao.updateById(dappFundFlowEntity);
BigDecimal subtract = amountTC.subtract(teamIncomePerkTotal);
//用户的A币账户增加divide数量
- dappWalletService.updateWalletMineWithLock(subtract,1L,1);
+ if(amountTC.compareTo(teamIncomePerkTotal) > 0){
+ DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+ 1L,
+ subtract,
+ FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ systemProfitId);
+ dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+ dappWalletService.updateWalletMineWithLock(subtract,
+ 1L,1);
+ }
}
}
}
@@ -1131,7 +1187,22 @@
BigDecimal averagePerk = nodePerk.getAveragePerk();
BigDecimal averagePerkCnt = amountTC.multiply(averagePerk).setScale(4, BigDecimal.ROUND_DOWN);
- nodePoolPerk(averagePerkCnt, MemberLevelEnum.NODE_3.getType(), FundFlowEnum.DAO_3_NODE_PERK.getCode());
+ BigDecimal averagePerkCntAva = nodePoolPerk(averagePerkCnt, MemberLevelEnum.NODE_3.getType(), FundFlowEnum.DAO_3_NODE_PERK.getCode());
+
+ //用户的A币账户增加divide数量
+ if(averagePerkCnt.compareTo(averagePerkCntAva) > 0){
+ DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+ 1L,
+ averagePerkCnt.subtract(averagePerkCntAva),
+ FundFlowEnum.DAO_3_NODE_PERK.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ systemProfitId);
+ dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+ dappWalletService.updateWalletMineWithLock(averagePerkCnt.subtract(averagePerkCntAva),
+ 1L,1);
+ }
//生成流水记录
DappFundFlowEntity nodeThreeFundFlow = new DappFundFlowEntity(
1L,
@@ -1158,7 +1229,21 @@
BigDecimal averagePerkFour = nodeFourDicPerk.getAveragePerk();
BigDecimal averagePerkFourCnt = amountTC.multiply(averagePerkFour).setScale(4, BigDecimal.ROUND_DOWN);
- nodePoolPerk(averagePerkFourCnt, MemberLevelEnum.NODE_4.getType(), FundFlowEnum.DAO_4_NODE_PERK.getCode());
+ BigDecimal averagePerkFourCntAva = nodePoolPerk(averagePerkFourCnt, MemberLevelEnum.NODE_4.getType(), FundFlowEnum.DAO_4_NODE_PERK.getCode());
+ //用户的A币账户增加divide数量
+ if(averagePerkFourCnt.compareTo(averagePerkFourCntAva) > 0){
+ DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+ 1L,
+ averagePerkFourCnt.subtract(averagePerkFourCntAva),
+ FundFlowEnum.DAO_4_NODE_PERK.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ systemProfitId);
+ dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+ dappWalletService.updateWalletMineWithLock(averagePerkFourCnt.subtract(averagePerkFourCntAva),
+ 1L,1);
+ }
DappFundFlowEntity nodeFourFundFlow = new DappFundFlowEntity(
1L,
averagePerkFourCnt,
@@ -1183,7 +1268,21 @@
BigDecimal averagePerkFive = nodeFiveDicPerk.getAveragePerk();
BigDecimal averagePerkFiveCnt = amountTC.multiply(averagePerkFive).setScale(4, BigDecimal.ROUND_DOWN);
- nodePoolPerk(averagePerkFiveCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_PERK.getCode());
+ BigDecimal averagePerkFiveCntAva = nodePoolPerk(averagePerkFiveCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_PERK.getCode());
+ //用户的A币账户增加divide数量
+ if(averagePerkFiveCnt.compareTo(averagePerkFiveCntAva) > 0){
+ DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+ 1L,
+ averagePerkFiveCnt.subtract(averagePerkFiveCntAva),
+ FundFlowEnum.DAO_5_NODE_PERK.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ systemProfitId);
+ dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+ dappWalletService.updateWalletMineWithLock(averagePerkFiveCnt.subtract(averagePerkFiveCntAva),
+ 1L,1);
+ }
DappFundFlowEntity nodeFiveFundFlow = new DappFundFlowEntity(
1L,
averagePerkFiveCnt,
@@ -1210,7 +1309,21 @@
BigDecimal nodeFiveEquals = new BigDecimal(nodeFiveEqualsDic.getValue());
BigDecimal nodeFiveEqualsCnt = amountTC.multiply(nodeFiveEquals).setScale(4, BigDecimal.ROUND_DOWN);
- nodePoolEqualsPerk(nodeFiveEqualsCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode());
+ BigDecimal nodeFiveEqualsCntAva = nodePoolEqualsPerk(nodeFiveEqualsCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode());
+ //用户的A币账户增加divide数量
+ if(nodeFiveEqualsCnt.compareTo(nodeFiveEqualsCntAva) > 0){
+ DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+ 1L,
+ nodeFiveEqualsCnt.subtract(nodeFiveEqualsCntAva),
+ FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ systemProfitId);
+ dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+ dappWalletService.updateWalletMineWithLock(nodeFiveEqualsCnt.subtract(nodeFiveEqualsCntAva),
+ 1L,1);
+ }
DappFundFlowEntity nodeFiveEqualsFundFlow = new DappFundFlowEntity(
1L,
nodeFiveEqualsCnt,
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index 5e52838..7efe3bc 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -760,7 +760,6 @@
flow.setFromHash(transferADto.getTxHash());
flow.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
dappFundFlowDao.updateById(flow);
- dappMemberDao.updateMemberActiveStatus(1,member.getId());
/**
* 发送消息处理返利逻辑
*/
diff --git a/src/main/resources/mapper/dapp/DappFundFlowDao.xml b/src/main/resources/mapper/dapp/DappFundFlowDao.xml
index 17a8af7..abc7d55 100644
--- a/src/main/resources/mapper/dapp/DappFundFlowDao.xml
+++ b/src/main/resources/mapper/dapp/DappFundFlowDao.xml
@@ -128,6 +128,7 @@
and version = #{version}
and from_hash is null
and is_return = 2
+ and type in (2,3,27)
ORDER BY
id ASC
LIMIT 1
--
Gitblit v1.9.1