xiaoyong931011
2023-07-31 578437af52e1cb25c661efd207273bf49a6e7773
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -9,6 +9,7 @@
import cc.mrbird.febs.dapp.chain.ChainEnum;
import cc.mrbird.febs.dapp.chain.ChainService;
import cc.mrbird.febs.dapp.chain.ContractChainService;
import cc.mrbird.febs.dapp.contract.andao.AndaoContractMain;
import cc.mrbird.febs.dapp.dto.*;
import cc.mrbird.febs.dapp.entity.*;
import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
@@ -32,6 +33,7 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.web3j.utils.Strings;
import java.math.BigDecimal;
import java.util.*;
@@ -138,25 +140,18 @@
        if (member == null) {
            String referenceID = null;
            //
            if (!"asdf4321".equals(connectDto.getInviteId())) {
//                DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
                DappMemberEntity parent = dappMemberDao.selectByAddress(connectDto.getInviteId(), null);
                if (parent == null) {
                    throw new FebsException("recommender is not exist");
                }
                referenceID = parent.getInviteId();
//                List<DappMemberEntity> child = dappMemberDao.selectChildMemberDirectOrNot(connectDto.getInviteId(), 1, null);
//                if (child.size() == 6) {
//                    throw new FebsException("Invite Code is Invalid");
//                }
            } else {
                connectDto.setInviteId(null);
            }
            member = insertMember(connectDto.getAddress(), referenceID);
            //升级用户的代理等级
//            DappMemberEntity dappMemberEntity = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
//            chainProducer.sendAgentUpMsg(dappMemberEntity.getId());
        }
        String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign());
@@ -576,6 +571,23 @@
        BigDecimal subtract = closePriceNow.subtract(closePriceStart);
        BigDecimal bigDecimal = subtract.divide(closePriceStart, 4, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN);
        dappMemberInfoVo.setTodayIncrease(bigDecimal);
        /**
         * 全网剩余ANDAO总量,燃烧ANDAO总量
         */
        DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                PoolEnum.COIN_A_CNT.getType(),
                PoolEnum.COIN_A_CNT.getCode()
        );
        dappMemberInfoVo.setAndaoNum(
                ObjectUtil.isEmpty(coinACntDic) ?
                new BigDecimal("0") :
                new BigDecimal(coinACntDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN)
        );
        BigDecimal bigDecimal1 = dappFundFlowDao.selectSumAmountByType(FundFlowEnum.A_COIN_FIRE.getCode());
        dappMemberInfoVo.setFireAndaoNum(bigDecimal1.setScale(2,BigDecimal.ROUND_DOWN));
        return new FebsResponse().success().data(dappMemberInfoVo);
    }
@@ -765,6 +777,17 @@
        return new FebsResponse().success();
    }
    public static List<List<String>> partitionList(List<String> originalList, int partitionSize) {
        List<List<String>> partitionedList = new ArrayList<>();
        int size = originalList.size();
        for (int i = 0; i < size; i += partitionSize) {
            int end = Math.min(size, i + partitionSize);
            List<String> sublist = originalList.subList(i, end);
            partitionedList.add(sublist);
        }
        return partitionedList;
    }
    /**
     * 获取用户的大小区业绩
     * @param memberId