| | |
| | | import java.math.RoundingMode; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @author |
| | |
| | | |
| | | //如果添加的为右节点,那么进入判断 |
| | | if(DbMemberNode.STATE_TWO == dbMemberNode.getLeftRight()){ |
| | | //更新父节点的右节点 |
| | | dbMemberNodeOld.setRightNode(dbMemberNode.getId()); |
| | | dbMemberNodeMapper.updateById(dbMemberNodeOld); |
| | | |
| | | //父节点为右节点,那么进入判断,父节点是否有上级节点 |
| | | int leftRight = ObjectUtil.isEmpty(dbMemberNodeOld.getLeftNode()) ? 1 : 2; |
| | | int leftRight = ObjectUtil.isEmpty(dbMemberNodeOld.getLeftRight()) ? 1 : dbMemberNodeOld.getLeftRight(); |
| | | if(DbMemberNode.STATE_TWO == leftRight){ |
| | | if(ObjectUtil.isEmpty(dbMemberNodeOld.getParentNode())){ |
| | | return; |
| | |
| | | return; |
| | | } |
| | | }else{ |
| | | //更新父节点的左节点 |
| | | dbMemberNodeOld.setLeftNode(dbMemberNode.getId()); |
| | | dbMemberNodeMapper.updateById(dbMemberNodeOld); |
| | | //如果添加的为左节点,那么没人出局 |
| | | return; |
| | | } |
| | |
| | | */ |
| | | public void memberNodeNext(DbMemberNode dbMemberNodeRoot) { |
| | | log.info("进入复投"); |
| | | |
| | | DataDictionaryCustom inviteNumDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.INVITE_NUM.getType(), |
| | | DataDictionaryEnum.INVITE_NUM.getCode() |
| | | ); |
| | | |
| | | int inviteNum = Integer.parseInt(inviteNumDic.getValue()); |
| | | |
| | | Long memberId = dbMemberNodeRoot.getMemberId(); |
| | |
| | | if(inviteNum > dappMemberEntities.size()){ |
| | | return; |
| | | } |
| | | List<Long> collect = dappMemberEntities.stream().map(DappMemberEntity::getId).collect(Collectors.toList()); |
| | | QueryWrapper<DbMemberNode> inviteNodeQuery = new QueryWrapper<>(); |
| | | inviteNodeQuery.select("member_id"); |
| | | inviteNodeQuery.eq("work_state", DbMemberNode.STATE_ONE); |
| | | inviteNodeQuery.in("member_id",collect); |
| | | inviteNodeQuery.groupBy("member_id"); |
| | | List<DbMemberNode> inviteNodes = dbMemberNodeMapper.selectList(inviteNodeQuery); |
| | | if(CollUtil.isEmpty(inviteNodes)){ |
| | | return; |
| | | } |
| | | if(inviteNum > inviteNodes.size()){ |
| | | return; |
| | | } |
| | | //任何星级的原来节点都要出局 |
| | | dbMemberNodeRoot.setWorkState(DbMemberNode.STATE_TWO); |
| | | dbMemberNodeMapper.updateById(dbMemberNodeRoot); |
| | | //任何星级,10轮,收益本金都返回 |
| | | Integer countFund = dbMemberNodeRoot.getCountFund(); |
| | | //收益 |
| | |
| | | if(10 == countFund){//任何星级,10轮,收益本金都返回 |
| | | BigDecimal add = dbMemberNodeRoot.getAmount().add(perkAmount); |
| | | perkSevenTeen(memberId,add,countFund); |
| | | |
| | | dbMemberNodeRoot.setWorkState(DbMemberNode.STATE_TWO); |
| | | dbMemberNodeMapper.updateById(dbMemberNodeRoot); |
| | | |
| | | return; |
| | | }else{ |
| | |
| | | } |
| | | dbMemberNode.setWorkState(1); |
| | | dbMemberNodeMapper.insert(dbMemberNode); |
| | | |
| | | if(ObjectUtil.isNotEmpty(dbMemberNodeOld)){ |
| | | if(dbMemberNode.getLeftRight() == 1){ |
| | | dbMemberNodeOld.setLeftNode(dbMemberNode.getId()); |
| | | }else{ |
| | | dbMemberNodeOld.setRightNode(dbMemberNode.getId()); |
| | | } |
| | | dbMemberNodeMapper.updateById(dbMemberNodeOld); |
| | | } |
| | | } |
| | | |
| | | |