KKSU
2024-06-13 6a0baf02bb1cc4b7d1d0e9d796ead2218ed9c824
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -164,7 +164,7 @@
            DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount().negate(), 1, 2, transferDto.getFee(), transferDto.getTxHash());
            dappFundFlowDao.insert(fundFlow);
            chainProducer.sendAchieveTreeMsg(member.getId());
//            chainProducer.sendAchieveTreeMsg(member.getId());
        } else {
            int type = 1;
            // 1-认购 2-充值tfc
@@ -411,8 +411,15 @@
        /**
         * 买入先验证当前星团是否已经买入
         *      如果不是购买一星,则验证前一新团是否购买
         */
        if(ObjectUtil.isEmpty(buyStarDto.getNodeType())){
            throw new FebsException("选择购买的星团");
        }
        Integer nodeType = buyStarDto.getNodeType();
        if(NodeType.NODE_13.getNodeType() < nodeType || nodeType < NodeType.NODE_1.getNodeType()){
            throw new FebsException("选择购买的星团");
        }
        QueryWrapper<DbMemberNode> nodeQueryWrapper = new QueryWrapper<>();
        nodeQueryWrapper.eq("member_id",member.getId());
        nodeQueryWrapper.eq("type", nodeType);
@@ -420,6 +427,17 @@
        List<DbMemberNode> dbMemberNodes = dbMemberNodeMapper.selectList(nodeQueryWrapper);
        if(CollUtil.isNotEmpty(dbMemberNodes)){
            throw new FebsException("已购买");
        }
        if(NodeType.NODE_1.getNodeType() != buyStarDto.getNodeType()){
            Integer nextNodeType = nodeType - 1;
            QueryWrapper<DbMemberNode> nextWrapper = new QueryWrapper<>();
            nextWrapper.eq("member_id",member.getId());
            nextWrapper.eq("type", nextNodeType);
            nextWrapper.eq("work_state", DbMemberNode.STATE_ONE);
            List<DbMemberNode> nextNode = dbMemberNodeMapper.selectList(nextWrapper);
            if(CollUtil.isNotEmpty(nextNode)){
                throw new FebsException("请先购买上一星团");
            }
        }
        if (ObjectUtil.isEmpty(buyStarDto.getId())) {//第一次
@@ -467,7 +485,7 @@
    }
    @Override
    public FebsResponse memberNode(MemberNodeDto memberNodeDto) {
    public MemberNodeVo memberNode(MemberNodeDto memberNodeDto) {
        DappMemberEntity member = LoginUserUtil.getAppUser();
        Integer type = memberNodeDto.getType();
@@ -479,18 +497,39 @@
        if(ObjectUtil.isEmpty(dbMemberNode)){
            return null;
        }
        if(ObjectUtil.isNotEmpty(dbMemberNode.getLeftNode())){
        }
        return buildTeamMatrix(dbMemberNode);
    }
    public MemberNodeVo buildTeamMatrix(DbMemberNode dbMemberNode) {
        Long id = dbMemberNode.getId();
        MemberNodeVo memberNodeVo = new MemberNodeVo();
        memberNodeVo.setLeftNode(getInviteId(dbMemberNode.getLeftNode()));
        memberNodeVo.setRightNode(getInviteId(dbMemberNode.getRightNode()));
        memberNodeVo.setInviteId(getInviteId(id));
        memberNodeVo.setId(id);
        memberNodeVo.setParentNode(ObjectUtil.isEmpty(dbMemberNode.getParentNode()) ? 0L : dbMemberNode.getParentNode());
        memberNodeVo.setLeftNode(ObjectUtil.isEmpty(dbMemberNode.getLeftNode()) ? 0L : dbMemberNode.getLeftNode());
        memberNodeVo.setRightNode(ObjectUtil.isEmpty(dbMemberNode.getRightNode()) ? 0L : dbMemberNode.getRightNode());
        memberNodeVo.setLeftRight(ObjectUtil.isEmpty(dbMemberNode.getLeftRight()) ? 0 : dbMemberNode.getLeftRight());
        return null;
        QueryWrapper<DbMemberNode> childQuery = new QueryWrapper<>();
        childQuery.eq("parent_node",id);
        childQuery.eq("type", dbMemberNode.getType());
        childQuery.eq("work_state", DbMemberNode.STATE_ONE);
        List<DbMemberNode> childrenNode = dbMemberNodeMapper.selectList(childQuery);
        if(CollUtil.isEmpty(childrenNode)){
            return memberNodeVo;
        }
        List<MemberNodeVo> list = new ArrayList<>();
        for (DbMemberNode childNode : childrenNode) {
            list.add(buildTeamMatrix(childNode));
        }
        memberNodeVo.setChildren(list);
        return memberNodeVo;
    }
    public String getInviteId(Long memberNodeId){
        MemberNodeVo memberNodeVo = new MemberNodeVo();
        DbMemberNode dbMemberNode = dbMemberNodeMapper.selectById(memberNodeId);
        Long memberId = dbMemberNode.getMemberId();
        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);