Hentua
2023-06-06 09eca02701d369e82b29c08b403688648c1d4bc6
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -49,8 +49,7 @@
    private final SqlSessionTemplate sqlSessionTemplate;
    private final MallMoneyFlowMapper mallMoneyFlowMapper;
    private final MallMqRecordMapper mallMqRecordMapper;
    private final MatrixTreeNodeMapper matrixTreeNodeMapper;
    private final IMatrixTreeNodeService matrixTreeNodeService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -61,30 +60,9 @@
            return;
        }
        MatrixTree tree = MatrixTree.getInstance();
        MemberNode node = tree.getNode(member.getInviteId());
        if (node != null) {
            return;
        }
        MatrixTreeNode matrixTreeNode = matrixTreeNodeMapper.selectByTreeNode(memberId);
        if (matrixTreeNode != null) {
            return;
        }
        node = new MemberNode();
        node.setInviteId(member.getInviteId());
        node.setPhone(member.getPhone());
        node.setRefererId(member.getReferrerId());
        node.setMemberId(member.getId());
        MemberNode parentNode = tree.addNode(node);
        matrixTreeNode = new MatrixTreeNode();
        matrixTreeNode.setTreeNode(memberId);
        matrixTreeNode.setParentNode(parentNode == null ? null : parentNode.getMemberId());
        matrixTreeNodeMapper.insert(matrixTreeNode);
        MemberNode parentNode = matrixTreeNodeService.addTreeNode(memberId);
        if (parentNode == null) {
            log.info("父级节点未找到:{}", memberId);
            return;
        }
@@ -93,6 +71,7 @@
        for (DataDictionaryCustom dataDictionaryCustom : dicList) {
            if (Integer.parseInt(dataDictionaryCustom.getValue()) == parentNode.CHILD.size()) {
                dic = dataDictionaryCustom;
                break;
            }
        }
@@ -102,7 +81,10 @@
        MallMember parentMember = memberMapper.selectById(parentNode.getMemberId());
        parentMember.setChildNodeCnt(parentNode.CHILD.size());
        parentMember.setLevel(dic.getCode());
        int levelCode = MemberLevelEnum.getLevelCode(parentMember.getLevel());
        if (Integer.parseInt(dic.getValue()) >= levelCode) {
            parentMember.setLevel(dic.getCode());
        }
        memberMapper.updateById(parentMember);
    }