fix
wzy
2022-11-06 420efcecbc5b9b17f96b9c0a37d9bc3a5f1afccd
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -4,6 +4,8 @@
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.common.utils.SpringContextUtil;
import cc.mrbird.febs.dapp.chain.ChainEnum;
import cc.mrbird.febs.dapp.chain.ChainService;
import cc.mrbird.febs.dapp.dto.SystemDto;
import cc.mrbird.febs.dapp.entity.*;
import cc.mrbird.febs.dapp.mapper.*;
@@ -12,6 +14,7 @@
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cc.mrbird.febs.tree.MatrixTree;
import cc.mrbird.febs.tree.MemberNode;
import cc.mrbird.febs.tree.TreeConstants;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
@@ -172,29 +175,44 @@
        // 如果是复投的,则需奖励
        if (isReIn == 1) {
            member.setOutCnt(member.getOutCnt() + 1);
            dappMemberDao.updateById(member);
            List<DappMemberEntity> directCnt = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 1, 1);
            dappWalletService.updateWalletCoinWithLock(new BigDecimal(190), member.getId(), 1);
            /**
             * 复投后,推一个拿一轮,推两个拿两轮,推三个后终身有效。
             * 200u单。
             * 无直推则收益200U
             * 一人加一轮400u,二人二轮
             * 三人永久。
             */
            if (directCnt.size() < 3 && member.getOutCnt() != 0 && member.getOutCnt() - 1 == directCnt.size()) {
                return;
            } else {
                BigDecimal amount = null;
                if (directCnt.size() < 1) {
                    amount = TreeConstants.PUT_IN_AMOUNT;
                } else {
                    amount = TreeConstants.FULL_PROFIT_AMOUNT;
                }
            DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity(memberId, new BigDecimal("190"), 2, 2, null, null);
            dappFundFlowDao.insert(matrixProfitFlow);
                dappWalletService.releaseFrozenAmountWithLock(memberId);
            DappFundFlowEntity rePutInFlow = new DappFundFlowEntity(memberId, new BigDecimal("100").negate(), 1, 2, null, null);
                member.setOutCnt(member.getOutCnt() + 1);
                dappMemberDao.updateById(member);
                dappWalletService.updateWalletCoinWithLock(amount, member.getId(), 1);
                DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity(memberId, amount, 2, 2, null, null);
                dappFundFlowDao.insert(matrixProfitFlow);
            }
            DappFundFlowEntity rePutInFlow = new DappFundFlowEntity(memberId, TreeConstants.PUT_IN_AMOUNT.negate(), 1, 2, null, null);
            dappFundFlowDao.insert(rePutInFlow);
            DappFundFlowEntity safePoolFlow = new DappFundFlowEntity(memberId, new BigDecimal("10").negate(), 4, 2, null, null);
            dappFundFlowDao.insert(safePoolFlow);
            DappMineDataEntity mineData = dappSystemDao.selectMineDataForOne();
            mineData.setSafePool(mineData.getSafePool().add(BigDecimal.TEN));
            dappSystemDao.updateMineData(mineData);
        }
    }
    @Override
    public void tfcNewPrice(String data) {
        redisUtils.set(AppContants.REDIS_KEY_TFC_NEW_PRICE, new BigDecimal(data));
//        redisUtils.set(AppContants.REDIS_KEY_TFC_NEW_PRICE, new BigDecimal(data));
    }
    @Override