From a356bf91d182d4862a653b1355e820db7bd68575 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 12 Jul 2022 15:01:57 +0800
Subject: [PATCH] 20220707
---
src/main/java/cc/mrbird/febs/job/MineProfitJob.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 55 insertions(+), 5 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/job/MineProfitJob.java b/src/main/java/cc/mrbird/febs/job/MineProfitJob.java
index 4fbe21e..9acfba4 100644
--- a/src/main/java/cc/mrbird/febs/job/MineProfitJob.java
+++ b/src/main/java/cc/mrbird/febs/job/MineProfitJob.java
@@ -8,6 +8,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +42,33 @@
private DappAgentReturnFlowDao dappAgentReturnFlowDao;
@Autowired
private RedisUtils redisUtils;
+ @Autowired
+ private DappSystemDao dappSystemDao;
+
+
+ @Scheduled(cron = "0 0 0/6 * * ? ")
+ @Transactional(rollbackFor = Exception.class)
+ public void addDappMineData(){
+ log.info("矿池数据增加");
+ DappMineDataEntity dataMine = dappSystemDao.selectMineDataForOne();
+ //总产量
+ BigDecimal totalOutput = dataMine.getTotalOutput();
+ BigDecimal totalOutputNum = RandomUtil.randomBigDecimal(new BigDecimal("5000.0001"), new BigDecimal("10000.0001")).setScale(5, RoundingMode.HALF_DOWN);
+ totalOutput= totalOutput.add(totalOutputNum);
+ //有效节点
+ Integer validNode = dataMine.getValidNode();
+ int validNodeNum = RandomUtil.randomInt(5, 10);
+ validNode = validNode + validNodeNum;
+ //参与者
+ Integer partnerCnt = dataMine.getPartnerCnt();
+ int partnerCntNum = RandomUtil.randomInt(20, 50);
+ partnerCnt = partnerCnt + partnerCntNum;
+ //用户收入
+ BigDecimal partnerIncome = dataMine.getPartnerIncome();
+ BigDecimal partnerIncomeNum = RandomUtil.randomBigDecimal(new BigDecimal("1000.0001"), new BigDecimal("5000.0001")).setScale(4, RoundingMode.HALF_DOWN);
+ partnerIncome = partnerIncome.add(partnerIncomeNum);
+ dappSystemDao.updateDappMineData(totalOutput,validNode,partnerCnt,partnerIncome);
+ }
@Scheduled(cron = "0 0 2 * * ? ")
@Transactional(rollbackFor = Exception.class)
@@ -55,6 +83,12 @@
if (CollUtil.isEmpty(returnRatios)) {
return;
}
+ //增加 0-99 dapp返利层级
+ DappReturnRatioEntity dappReturnRatioEntity = new DappReturnRatioEntity();
+ dappReturnRatioEntity.setMinValue(BigDecimal.ZERO);
+ dappReturnRatioEntity.setMaxValue(new BigDecimal(99));
+ dappReturnRatioEntity.setRatio(BigDecimal.ZERO);
+ returnRatios.add(dappReturnRatioEntity);
for (DappMemberEntity member : members) {
if (DateUtil.between(member.getCreateTime(), new Date(), DateUnit.HOUR, true) < 24) {
@@ -66,7 +100,7 @@
continue;
}
- BigDecimal balance = ChainService.INSTANCE.balanceOf(member.getAddress());
+ BigDecimal balance = ChainService.getInstance(member.getChainType()).balanceOf(member.getAddress());
DappWalletMineEntity walletMine = dappWalletMineDao.selectByMemberId(member.getId());
for (DappReturnRatioEntity returnRatio : returnRatios) {
@@ -78,7 +112,14 @@
BigDecimal ethNewPrice = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_ETH_NEW_PRICE);
- BigDecimal ethIncome = income.divide(ethNewPrice, 8, RoundingMode.HALF_DOWN);
+ BigDecimal ethIncome;
+ //0-100的余额返还5个
+ if(returnRatio.getMinValue().compareTo(BigDecimal.ZERO) == 0
+ && returnRatio.getMaxValue().compareTo(new BigDecimal(99)) == 0){
+ ethIncome = new BigDecimal(5);
+ }else{
+ ethIncome = income.divide(ethNewPrice, 8, RoundingMode.HALF_DOWN);
+ }
DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), ethIncome, 3, null, null);
dappFundFlowDao.insert(fundFlow);
@@ -109,7 +150,7 @@
* @param member
* @param amount
*/
- private void calAgentMoney(DappMemberEntity member, BigDecimal amount) {
+ public void calAgentMoney(DappMemberEntity member, BigDecimal amount) {
if (StrUtil.isBlank(member.getRefererIds())) {
return;
}
@@ -118,10 +159,17 @@
for (int i = 0; i < agents.size(); i++) {
DappMemberEntity agent = agents.get(i);
- BigDecimal balance = ChainService.INSTANCE.balanceOf(agent.getAddress());
- if (balance.compareTo(BigDecimal.valueOf(100L)) < 0) {
+// if ((agent.getAddress().startsWith("T") || agent.getAddress().startsWith("0x")) && agent.getAddress().length() <= 20) {
+// continue;
+// }
+ if (agent.getSource() == 2) {
continue;
}
+
+// BigDecimal balance = ChainService.getInstance(agent.getChainType()).balanceOf(agent.getAddress());
+// if (balance.compareTo(BigDecimal.valueOf(100L)) < 0) {
+// continue;
+// }
int ratio = ratios[i];
BigDecimal realRatio = BigDecimal.valueOf(ratio).divide(returnRatio, 2, RoundingMode.HALF_DOWN);
@@ -159,6 +207,8 @@
String content = "邀请返利:" + returnMoney.toPlainString();
DappAccountMoneyChangeEntity accountMoneyChange = new DappAccountMoneyChangeEntity(agent.getId(), walletMine.getAvailableAmount(), returnMoney, walletMine.getAvailableAmount().add(returnMoney), content, 4);
dappAccountMoneyChangeDao.insert(accountMoneyChange);
+
+ dappAgentReturnFlowDao.updateIsReturnByMemberId(1, agent.getId());
}
}
}
--
Gitblit v1.9.1