From f922185560da4b4001268d5a32ae6319e21a903f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sun, 04 Jun 2023 22:44:36 +0800
Subject: [PATCH] twoCoin项目修改
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 36 +++++++++---------
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 38 +++++++++++--------
2 files changed, 40 insertions(+), 34 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 fa03ad7..2069f5e 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
@@ -838,7 +838,7 @@
*/
BigDecimal poolAllMemberAPercentCntAva = allMemberPerk(poolAllMemberAPercentCnt, FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
DappFundFlowEntity poolAllMemberAFundFlowAva = new DappFundFlowEntity(
- 1L,
+ 294L,
poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
FundFlowEnum.POOL_MEMBER_A_CNT.getCode(),
2,
@@ -847,7 +847,7 @@
chergeRecordId);
dappFundFlowDao.insert(poolAllMemberAFundFlowAva);
dappWalletService.updateWalletMineWithLock(poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
- 1L,1);
+ 294L,1);
/**
* 10%直推
@@ -895,7 +895,7 @@
}
if(directAPercentCnt.compareTo(directAPercentFundFlowToMemberFlag) > 0){
DappFundFlowEntity directAPercentFundFlowToMemberAva = new DappFundFlowEntity(
- 1L,
+ 294L,
directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
FundFlowEnum.DIRECT_A_PERCENT.getCode(),
2,
@@ -904,7 +904,7 @@
chergeRecordId);
dappFundFlowDao.insert(directAPercentFundFlowToMemberAva);
dappWalletService.updateWalletMineWithLock(directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
- 1L,1);
+ 294L,1);
}
}
/**
@@ -940,7 +940,7 @@
if(nodeAPercentCnt.compareTo(nodeAPercentCntAva) > 0){
DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
+ 294L,
nodeAPercentCnt.subtract(nodeAPercentCntAva),
FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(),
2,
@@ -949,7 +949,7 @@
chergeRecordId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(nodeAPercentCnt.subtract(nodeAPercentCntAva),
- 1L,1);
+ 294L,1);
}
/**
* 5%基金会
@@ -963,7 +963,7 @@
//生成一条5%基金会的资金流水记录
DappFundFlowEntity foundationAPercentFundFlow = new DappFundFlowEntity(
- 1L,
+ 295L,
foundationAPercentCnt,
FundFlowEnum.FOUNDATION_A_PERCENT.getCode(),
2,
@@ -972,7 +972,7 @@
chergeRecordId);
dappFundFlowDao.insert(foundationAPercentFundFlow);
//用户的A币账户增加memberGetACnt数量
- dappWalletService.updateWalletMineWithLock(foundationAPercentCnt,1L,1);
+ dappWalletService.updateWalletMineWithLock(foundationAPercentCnt,295L,1);
/**
* 10%级差奖
*/
@@ -1258,7 +1258,7 @@
//用户的A币账户增加divide数量
if(amountTC.compareTo(teamIncomePerkTotal) > 0){
DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
+ 294L,
subtract,
FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode(),
2,
@@ -1267,7 +1267,7 @@
systemProfitId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(subtract,
- 1L,1);
+ 294L,1);
}
}
}
@@ -1288,7 +1288,7 @@
//用户的A币账户增加divide数量
if(averagePerkCnt.compareTo(averagePerkCntAva) > 0){
DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
+ 294L,
averagePerkCnt.subtract(averagePerkCntAva),
FundFlowEnum.DAO_3_NODE_PERK.getCode(),
2,
@@ -1297,7 +1297,7 @@
systemProfitId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(averagePerkCnt.subtract(averagePerkCntAva),
- 1L,1);
+ 294L,1);
}
//生成流水记录
DappFundFlowEntity nodeThreeFundFlow = new DappFundFlowEntity(
@@ -1329,7 +1329,7 @@
//用户的A币账户增加divide数量
if(averagePerkFourCnt.compareTo(averagePerkFourCntAva) > 0){
DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
+ 294L,
averagePerkFourCnt.subtract(averagePerkFourCntAva),
FundFlowEnum.DAO_4_NODE_PERK.getCode(),
2,
@@ -1338,7 +1338,7 @@
systemProfitId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(averagePerkFourCnt.subtract(averagePerkFourCntAva),
- 1L,1);
+ 294L,1);
}
DappFundFlowEntity nodeFourFundFlow = new DappFundFlowEntity(
1L,
@@ -1368,7 +1368,7 @@
//用户的A币账户增加divide数量
if(averagePerkFiveCnt.compareTo(averagePerkFiveCntAva) > 0){
DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
+ 294L,
averagePerkFiveCnt.subtract(averagePerkFiveCntAva),
FundFlowEnum.DAO_5_NODE_PERK.getCode(),
2,
@@ -1377,7 +1377,7 @@
systemProfitId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(averagePerkFiveCnt.subtract(averagePerkFiveCntAva),
- 1L,1);
+ 294L,1);
}
DappFundFlowEntity nodeFiveFundFlow = new DappFundFlowEntity(
1L,
@@ -1409,7 +1409,7 @@
//用户的A币账户增加divide数量
if(nodeFiveEqualsCnt.compareTo(nodeFiveEqualsCntAva) > 0){
DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
+ 294L,
nodeFiveEqualsCnt.subtract(nodeFiveEqualsCntAva),
FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode(),
2,
@@ -1418,7 +1418,7 @@
systemProfitId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(nodeFiveEqualsCnt.subtract(nodeFiveEqualsCntAva),
- 1L,1);
+ 294L,1);
}
DappFundFlowEntity nodeFiveEqualsFundFlow = new DappFundFlowEntity(
1L,
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 5115526..fff3bf3 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
@@ -402,9 +402,15 @@
BigDecimal feePercent = new BigDecimal(toUsdtPercentFeeDic.getValue());
//手续费扣除USDT
BigDecimal feeUsdtAmount = coinUsdtAmount.multiply(feePercent).setScale(4,BigDecimal.ROUND_DOWN);
- //实际提现USDT数量
- BigDecimal realUsdtAmount = coinUsdtAmount.subtract(feeUsdtAmount).setScale(4,BigDecimal.ROUND_DOWN);
+ //实际提现USDT数量,先扣除1%的手续费后,只到账70%
+ DataDictionaryCustom outPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PoolEnum.WALLET_COIN_OUT_PERCENT.getType(),
+ PoolEnum.WALLET_COIN_OUT_PERCENT.getCode()
+ );
+ BigDecimal outPercent = new BigDecimal(outPercentDic.getValue());
+ BigDecimal realUsdtAmount = coinUsdtAmount.subtract(feeUsdtAmount).setScale(4,BigDecimal.ROUND_DOWN);
+ realUsdtAmount = realUsdtAmount.multiply(outPercent).setScale(4,BigDecimal.ROUND_DOWN);
//减少闪对钱包的币的数量
this.updateWalletCoinWithLock(amount, member.getId(), 2);
//增加流水
@@ -429,11 +435,6 @@
/**
* A币卖币规则,卖出100%销毁,30%回流底池溢价
*/
- DataDictionaryCustom outPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.WALLET_COIN_OUT_PERCENT.getType(),
- PoolEnum.WALLET_COIN_OUT_PERCENT.getCode()
- );
- BigDecimal outPercent = new BigDecimal(outPercentDic.getValue());
coinUsdtAmount = coinUsdtAmount.multiply(outPercent).setScale(4,BigDecimal.ROUND_DOWN);
//金本位底池数量
DataDictionaryCustom coinAUsdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
@@ -457,13 +458,6 @@
coinAPrice = coinAUsdtCnt.divide(coinACnt,12,BigDecimal.ROUND_DOWN);
aCoinPriceDic.setValue(coinAPrice.toString());
dataDictionaryCustomMapper.updateById(aCoinPriceDic);
-
- DappFundFlowEntity flowSubtract = new DappFundFlowEntity(1L,
- coinUsdtAmount,
- FundFlowEnum.WALLET_COIN_TO_USDT_W.getCode(),
- 2,
- BigDecimal.ZERO);
- dappFundFlowDao.insert(flowSubtract);
chainProducer.sendAntKLineMsg(0);
}
@@ -685,6 +679,18 @@
}
}
/**
+ * 入金限制
+ * 每人总共入金100U
+ */
+ BigDecimal amountIn = transferADto.getAmount();
+ if(amountIn.compareTo(new BigDecimal(100)) != 0){
+ throw new FebsException("Limit per address 100 USDT");
+ }
+ BigDecimal amountInLast = dappChargeUsdtMapper.selectByMaxAmountMemberId(member.getId());
+ if(BigDecimal.ZERO.compareTo(amountInLast) < 0){
+ throw new FebsException("Limit per address 100 USDT");
+ }
+ /**
* 验证账户是否有入金金额的10%的AUSD
*/
DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(member.getId());
@@ -846,13 +852,13 @@
dappFundFlowDao.insert(memberFeeflow);
//插入资产闪对手续费的流水
DappFundFlowEntity dappFundFlowEntityFee = new DappFundFlowEntity(
- 1L,
+ 295L,
feeCnt,
FundFlowEnum.WALLET_MINE_TO_COIN_FEE.getCode(),
2,
BigDecimal.ZERO);
dappFundFlowDao.insert(dappFundFlowEntityFee);
- this.updateWalletMineWithLock(feeCnt,1L,1);
+ this.updateWalletMineWithLock(feeCnt,295L,1);
}
@Override
--
Gitblit v1.9.1