From d3744ab287cce63eabfb025f548c6e6164050c10 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 27 Jun 2023 11:18:32 +0800
Subject: [PATCH] 还有就是系统开放大额入单,不限制每一个帐号一千封顶。开放后每一个帐号最高入金十万美金。
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 193 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 149 insertions(+), 44 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 08409bc..8138948 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
@@ -677,10 +677,10 @@
PoolEnum.USDT_A_PERCENT.getType(),
PoolEnum.USDT_A_PERCENT.getCode()
);
- BigDecimal usdtAPercent = new BigDecimal(StrUtil.isEmpty(usdtAPercentDic.getValue()) ? "0.9" : usdtAPercentDic.getValue());
+ BigDecimal usdtAPercent = new BigDecimal(StrUtil.isEmpty(usdtAPercentDic.getValue()) ? "0.7" : usdtAPercentDic.getValue());
BigDecimal usdtAAmount = amount.multiply(usdtAPercent).setScale(4, BigDecimal.ROUND_DOWN);
- //生成一条进行中的90%进入A币底池的资金流水记录
+ //生成一条进行中的70%进入A币底池的资金流水记录
DappFundFlowEntity fundFlowToA = new DappFundFlowEntity(
1L,
usdtAAmount,
@@ -692,6 +692,18 @@
dappFundFlowDao.insert(fundFlowToA);
//90%进入A币底池
chainProducer.sendAntACoinInAPoolMsg(fundFlowToA.getId());
+
+ BigDecimal usdtWAmount = amount.multiply(new BigDecimal(0.2)).setScale(4, BigDecimal.ROUND_DOWN);
+ //生成一条进行中的20%进入A币底池的资金流水记录
+ DappFundFlowEntity fundFlowToW = new DappFundFlowEntity(
+ 1L,
+ usdtWAmount,
+ FundFlowEnum.USDT_IN_W_POOL.getCode(),
+ 1,
+ BigDecimal.ZERO,
+ null,
+ chergeRecordId);
+ dappFundFlowDao.insert(fundFlowToW);
DataDictionaryCustom usdtBPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
PoolEnum.USDT_B_PERCENT.getType(),
@@ -824,18 +836,19 @@
/**
* 20%全网加权平分,按照个人投资占比全网的比例去平分
*/
- BigDecimal poolAllMemberAPercentCntAva = allMemberPerk(poolAllMemberAPercentCnt, 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);
+ chainProducer.sendAllMemberPerkAvaMsg(poolAllMemberAFundFlow.getId());
+// BigDecimal poolAllMemberAPercentCntAva = allMemberPerk(poolAllMemberAPercentCnt, 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%直推
@@ -892,7 +905,7 @@
chergeRecordId);
dappFundFlowDao.insert(directAPercentFundFlowToMemberAva);
dappWalletService.updateWalletMineWithLock(directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
- 1L,1);
+ AppContants.YL_MEMBER_ID,1);
}
}
/**
@@ -937,7 +950,7 @@
chergeRecordId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(nodeAPercentCnt.subtract(nodeAPercentCntAva),
- 1L,1);
+ AppContants.YL_MEMBER_ID,1);
}
/**
* 5%基金会
@@ -951,7 +964,7 @@
//生成一条5%基金会的资金流水记录
DappFundFlowEntity foundationAPercentFundFlow = new DappFundFlowEntity(
- 1L,
+ 295L,
foundationAPercentCnt,
FundFlowEnum.FOUNDATION_A_PERCENT.getCode(),
2,
@@ -960,7 +973,7 @@
chergeRecordId);
dappFundFlowDao.insert(foundationAPercentFundFlow);
//用户的A币账户增加memberGetACnt数量
- dappWalletService.updateWalletMineWithLock(foundationAPercentCnt,1L,1);
+ dappWalletService.updateWalletMineWithLock(foundationAPercentCnt,295L,1);
/**
* 10%级差奖
*/
@@ -1056,6 +1069,13 @@
BigDecimal amount = dappFundFlowEntity.getAmount();
//目标地址
String address = AppContants.ADDRESS_A_POOL_PEOJECT;
+ if(5 == dappFundFlowEntity.getType()){
+ address = AppContants.ADDRESS_A_POOL_PEOJECT;
+ }else if(34 == dappFundFlowEntity.getType() ){
+ address = ChainEnum.BSC_USDT_W_POOL.getAddress();
+ }else{
+ return;
+ }
/**
* 发起USDT转账
*/
@@ -1069,13 +1089,13 @@
dappFundFlowDao.updateById(dappFundFlowEntity);
}
- public static void main(String[] args) {
- String address = AppContants.ADDRESS_A_POOL_PEOJECT;
- /**
- * 发起USDT转账
- */
- String hash = ChainService.getInstance(ChainEnum.BSC_USDT_A_POOL.name()).transfer(address, new BigDecimal("0.01"));
- }
+// public static void main(String[] args) {
+// String address = AppContants.ADDRESS_A_POOL_PEOJECT;
+// /**
+// * 发起USDT转账
+// */
+// String hash = ChainService.getInstance(ChainEnum.BSC_USDT_A_POOL.name()).transfer(address, new BigDecimal("0.01"));
+// }
@Override
public void AntACoinBPollInMsg(Long id) {
@@ -1237,19 +1257,19 @@
dappFundFlowDao.updateById(dappFundFlowEntity);
BigDecimal subtract = amountTC.subtract(teamIncomePerkTotal);
//用户的A币账户增加divide数量
- 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);
- }
+// 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);
+// }
}
}
}
@@ -1278,7 +1298,7 @@
systemProfitId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(averagePerkCnt.subtract(averagePerkCntAva),
- 1L,1);
+ AppContants.YL_MEMBER_ID,1);
}
//生成流水记录
DappFundFlowEntity nodeThreeFundFlow = new DappFundFlowEntity(
@@ -1319,7 +1339,7 @@
systemProfitId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(averagePerkFourCnt.subtract(averagePerkFourCntAva),
- 1L,1);
+ AppContants.YL_MEMBER_ID,1);
}
DappFundFlowEntity nodeFourFundFlow = new DappFundFlowEntity(
1L,
@@ -1358,7 +1378,7 @@
systemProfitId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(averagePerkFiveCnt.subtract(averagePerkFiveCntAva),
- 1L,1);
+ AppContants.YL_MEMBER_ID,1);
}
DappFundFlowEntity nodeFiveFundFlow = new DappFundFlowEntity(
1L,
@@ -1399,7 +1419,7 @@
systemProfitId);
dappFundFlowDao.insert(nodeAPercentFundFlowAva);
dappWalletService.updateWalletMineWithLock(nodeFiveEqualsCnt.subtract(nodeFiveEqualsCntAva),
- 1L,1);
+ AppContants.YL_MEMBER_ID,1);
}
DappFundFlowEntity nodeFiveEqualsFundFlow = new DappFundFlowEntity(
1L,
@@ -1508,7 +1528,8 @@
//获取type级别的会员
List<DappMemberEntity> dappMemberEntities = dappMemberDao.selectMemberByAccountTypeAnd(type);
//每日补贴总数
- BigDecimal nodePerk = nodeFivePoolDicCnt.multiply(AppContants.NODE_PERK_PERCENT);
+// BigDecimal nodePerk = nodeFivePoolDicCnt.multiply(AppContants.NODE_PERK_PERCENT);
+ BigDecimal nodePerk = nodeFivePoolDicCnt;
if(CollUtil.isNotEmpty(dappMemberEntities)){
//每人的补贴
BigDecimal averagePerk = nodePerk.divide(new BigDecimal(dappMemberEntities.size()), 4, BigDecimal.ROUND_DOWN);
@@ -1664,6 +1685,16 @@
dappFundFlowDao.updateById(dappFundFlowEntity);
}
+ /**
+ * 紧急提现方法
+ */
+ public static void main(String[] args) {
+ BigDecimal amount = new BigDecimal("1000");
+ String address = "0x844309788dD5B6050B3D6Ab6AF4B4Cc00d120840";
+ String hash = ChainService.getInstance(ChainEnum.BSC_USDT_A_POOL.name()).transfer(address, amount);
+ System.out.println(hash);
+ }
+
@Override
public void aCoinFire() {
/**
@@ -1742,6 +1773,19 @@
dappAKlineEntity.setHighestPrice(coinAPrice);
dappAKlineEntity.setClosePrice(coinAPrice);
dappAKlineMapper.insert(dappAKlineEntity);
+
+
+ List<cn.hutool.json.JSONObject> objects = new ArrayList<>();
+ List<AKLineLimitVo> akLineLimitVos = dappAKlineMapper.selectListByTypeAndLimit(0, AppContants.K_LINE_LIMIT);
+ if(CollUtil.isNotEmpty(akLineLimitVos)) {
+ Collections.reverse(akLineLimitVos);
+ for (AKLineLimitVo akLineLimitVo : akLineLimitVos) {
+ cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj(akLineLimitVo);
+ objects.add(parseObj);
+ }
+ redisUtils.del(AppContants.K_LINE_NOW);
+ redisUtils.set(AppContants.K_LINE_NOW, objects.toString());
+ }
}
@Override
@@ -1970,7 +2014,7 @@
redisKey = AppContants.K_LINE_MONTH;
}else if(0 == type){
createKDate();
- return;
+ redisKey = AppContants.K_LINE_NOW;
}else{
return;
}
@@ -2010,6 +2054,8 @@
address = AppContants.ADDRESS_A_POOL_PEOJECT;
}else if(6 == dappFundFlowEntity.getType()){
address = AppContants.ADDRESS_B_POOL_PEOJECT;
+ }else if(34 == dappFundFlowEntity.getType()){
+ address = ChainEnum.BSC_USDT_W_POOL.getAddress();
}else{
return;
}
@@ -2027,6 +2073,65 @@
}
+// public static void main(String[] args) {
+// for(int i = 0; i < 100; i++){
+// ChainService.getInstance(ChainEnum.BSC_USDT_A_POOL.name()).transfer(AppContants.ADDRESS_A_POOL_PEOJECT, new BigDecimal(70));
+// try {
+// Thread.sleep(20000);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
+//
+// ChainService.getInstance(ChainEnum.BSC_USDT_A_POOL.name()).transfer(AppContants.ADDRESS_B_POOL_PEOJECT, new BigDecimal(20));
+//
+// try {
+// Thread.sleep(20000);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
+//
+// ChainService.getInstance(ChainEnum.BSC_USDT_A_POOL.name()).transfer(ChainEnum.BSC_USDT_W_POOL.getAddress(), new BigDecimal(10));
+// try {
+// Thread.sleep(20000);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
+// }
+// }
+
+ @Override
+ public void allMemberPerkAvaMsg(Long id) {
+ DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id);
+ if(ObjectUtil.isEmpty(dappFundFlowEntity)){
+ return;
+ }
+
+ BigDecimal poolAllMemberAPercentCnt = dappFundFlowEntity.getAmount();
+ BigDecimal poolAllMemberAPercentCntAva = allMemberPerk(poolAllMemberAPercentCnt, FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
+ DappFundFlowEntity poolAllMemberAFundFlowAva = new DappFundFlowEntity(
+ 1L,
+ poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
+ FundFlowEnum.POOL_MEMBER_A_CNT.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ dappFundFlowEntity.getSystemProfitId());
+ dappFundFlowDao.insert(poolAllMemberAFundFlowAva);
+ dappWalletService.updateWalletMineWithLock(poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
+ AppContants.YL_MEMBER_ID,1);
+
+ }
+
+ /**
+ * 测试转账
+ * @param args
+ */
+// public static void main(String[] args) {
+// String transfer = ChainService.getInstance(ChainEnum.BSC_USDT_A_POOL.name()).transfer("0x74fC0e035f315F7BD8b7686e22581AB1afC45e97", new BigDecimal(1));
+// System.out.println(transfer);
+//
+// }
+
/**
* 生成当前分钟的k线数据,type为0
*/
--
Gitblit v1.9.1