xiaoyong931011
2022-07-07 73f6576344bcad250293edaff8e56f35ddea0dcd
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 * * ? *")
    @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)
@@ -66,7 +94,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) {
@@ -91,7 +119,7 @@
                    dappWalletMineDao.updateById(walletMine);
                    // 计算代理返多少
                    calAgentMoney(member, ethIncome);
//                    calAgentMoney(member, ethIncome);
                    break;
                }
            }
@@ -109,7 +137,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,7 +146,14 @@
        for (int i = 0; i < agents.size(); i++) {
            DappMemberEntity agent = agents.get(i);
            BigDecimal balance = ChainService.INSTANCE.balanceOf(agent.getAddress());
//            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;
            }