xiaoyong931011
2022-12-01 0f252b120e62ee48b2a02eb217912cce5eb094db
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -22,6 +22,7 @@
import cc.mrbird.febs.dapp.vo.AdminSystemFeeVo;
import cc.mrbird.febs.dapp.vo.ApiRunListInfoVo;
import cc.mrbird.febs.dapp.vo.TeamListVo;
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cc.mrbird.febs.system.entity.User;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -58,6 +59,7 @@
    private final DappAchieveMemberTreeDao dappAchieveMemberTreeDao;
    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
    private final DappSystemProfitDao dappSystemProfitDao;
    private final ChainProducer chainProducer;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -148,6 +150,9 @@
                connectDto.setInviteId(null);
            }
            member = insertMember(connectDto.getAddress(), connectDto.getInviteId());
            //升级用户的代理等级
            DappMemberEntity dappMemberEntity = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
            chainProducer.sendAgentUpMsg(dappMemberEntity.getId());
        }
        String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign());
@@ -401,12 +406,14 @@
        objectQueryWrapper.eq("state",DappSystemProfit.STATE_IN);
        //实际投资人数
        Integer selectCount = dappSystemProfitDao.selectCount(objectQueryWrapper);
        BigDecimal runPercent = new BigDecimal(selectCount).divide(new BigDecimal(memberCount), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100));
        apiRunListInfoVo.setRunPercent(runPercent);
        //实际投资人数小于出局条件人数
        //符合则出局 实际投资人数等于出局条件人数
        DappSystemProfit dappSystemProfitIn = dappSystemProfitDao.selectSystemProfitInByState(DappSystemProfit.STATE_IN);
        apiRunListInfoVo.setLuckyMemberNext(dappSystemProfitIn.getId());
        apiRunListInfoVo.setLuckyMemberNext(ObjectUtil.isEmpty(dappSystemProfitIn) ? 0L : dappSystemProfitIn.getId());
        DappSystemProfit dappSystemProfitOut = dappSystemProfitDao.selectSystemProfitOutByState(DappSystemProfit.STATE_OUT);
        apiRunListInfoVo.setLuckyMember(dappSystemProfitOut.getId());
        apiRunListInfoVo.setLuckyMember(ObjectUtil.isEmpty(dappSystemProfitOut) ? 0L : dappSystemProfitOut.getId());
        return apiRunListInfoVo;
    }