| | |
| | | "33502855,26309863,99073916,98024982," + |
| | | "97059583,95058331,92037722,91048635," + |
| | | "89019478,88021442,84073227,20441682"; |
| | | String target = "89019478"; |
| | | String target = "33502855"; |
| | | |
| | | // 调用函数进行匹配并输出结果 |
| | | if (findAndOutputIfMatchBeforeEighthPosition(inputString, target)) { |
| | | if (shouldOutputString(inputString, target)) { |
| | | System.out.println(inputString); |
| | | } else { |
| | | System.out.println("No match found within the last 8 substrings."); |
| | | } |
| | | } |
| | | /** |
| | | * 检查给定的字符串中是否包含目标子串,并且该子串出现的位置是否小于8(从字符串开始到匹配子串的起始位置)。 |
| | | * 如果满足条件,则返回原始字符串;否则返回null。 |
| | | * |
| | | * @param inputString 给定的字符串 |
| | | * @param target 需要匹配的目标子串 |
| | | * @return 匹配的字符串(如果满足条件),否则为null |
| | | */ |
| | | public static boolean findAndOutputIfMatchBeforeEighthPosition(String inputString, String target) { |
| | | // 使用逗号分割字符串 |
| | | String[] substrings = inputString.split(","); |
| | | |
| | | // 遍历分割后的子串 |
| | | for (String substring : substrings) { |
| | | |
| | | System.out.println(substring); |
| | | // 检查是否包含目标子串 |
| | | if (substring.contains(target)) { |
| | | // 计算目标子串在子串中的起始位置(注意:这里不是索引位置) |
| | | int position = substring.indexOf(target); |
| | | // 如果起始位置小于8(即前8个字符内),则输出原始字符串 |
| | | if (position < 8) { |
| | | return true; // 输出整个原始字符串 |
| | | } |
| | | break; // 匹配但位置不在要求范围内,退出循环 |
| | | } |
| | | } |
| | | |
| | | // 如果没有找到匹配的子串或位置不满足条件,则返回null |
| | | return false; // 没有找到匹配项或匹配项位置不符合要求 |
| | | } |
| | | |
| | | /** |
| | | * 检查输入字符串从后往前匹配目标字符串的位置是否小于8(基于逗号分隔的子串数量) |
| | | * 检查输入字符串从前往后匹配目标字符串的位置是否小于8(基于逗号分隔的子串数量) |
| | | * |
| | | * @param inputString 输入的字符串 |
| | | * @param target 目标字符串 |
| | |
| | | // 按逗号分隔字符串 |
| | | String[] substrings = inputString.split(","); |
| | | |
| | | // 从后往前遍历子串数组 |
| | | for (int i = substrings.length - 1; i >= 0; i--) { |
| | | // 从前往后遍历子串数组 |
| | | for (int i = 0; i < substrings.length; i++) { |
| | | // 去掉子串两侧的空白字符(如果有的话) |
| | | String trimmedSubstring = substrings[i].trim(); |
| | | System.out.println(trimmedSubstring); |
| | | |
| | | // 检查子串是否与目标字符串匹配 |
| | | if (trimmedSubstring.equals(target)) { |
| | | // 如果匹配且位置小于8(基于0索引,所以实际上是倒数第9个或更前的位置) |
| | | if (substrings.length - i < 8) { |
| | | // 如果匹配且位置小于8(基于0索引,所以实际上是前8个或更前的位置) |
| | | if (i < 8) { |
| | | return true; // 输出整个原始字符串 |
| | | } |
| | | break; // 匹配但位置不在要求范围内,退出循环 |
| | |
| | | teamListVo.setAvaCount(0); |
| | | teamListVo.setAvaAmount(BigDecimal.ZERO); |
| | | } |
| | | //八层团队业绩 |
| | | if(CollUtil.isNotEmpty(dappMemberEntities)){ |
| | | ArrayList<DappMemberEntity> objects = new ArrayList<>(); |
| | | for(DappMemberEntity memberEntity : dappMemberEntities){ |
| | | String refererIds = memberEntity.getRefererIds(); |
| | | if (shouldOutputString(refererIds, member.getInviteId())) { |
| | | objects.add(memberEntity); |
| | | } |
| | | } |
| | | List<Long> collect = objects.stream().map(DappMemberEntity::getId).collect(Collectors.toList()); |
| | | QueryWrapper<DappAchieve> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.in("member_id",collect); |
| | | List<DappAchieve> dappAchieveSumList = dappAchieveMapper.selectList(queryWrapper); |
| | | |
| | | // ArrayList<DappMemberEntity> objects = new ArrayList<>(); |
| | | // //八层团队业绩 |
| | | // if(CollUtil.isNotEmpty(dappMemberEntities)){ |
| | | // for(DappMemberEntity memberEntity : dappMemberEntities){ |
| | | // String refererIds = memberEntity.getRefererIds(); |
| | | // if (shouldOutputString(refererIds, member.getInviteId())) { |
| | | // objects.add(memberEntity); |
| | | // } |
| | | // } |
| | | // List<Long> collect = objects.stream().map(DappMemberEntity::getId).collect(Collectors.toList()); |
| | | // QueryWrapper<DappAchieve> queryWrapper = new QueryWrapper<>(); |
| | | // queryWrapper.in("member_id",collect); |
| | | // List<DappAchieve> dappAchieveSumList = dappAchieveMapper.selectList(queryWrapper); |
| | | // |
| | | // List<DappAchieve> filteredList = dappAchieveSumList.stream() |
| | | // .filter(obj -> obj.getState() == 1) |
| | | // .collect(Collectors.toList()); |
| | | // BigDecimal perkAmount = filteredList.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | // teamListVo.setPerkAmount(perkAmount); |
| | | // |
| | | // }else{ |
| | | // teamListVo.setPerkAmount(BigDecimal.ZERO); |
| | | // } |
| | | List<DappAchieve> filteredList = dappAchieveSumList.stream() |
| | | .filter(obj -> obj.getState() == 1) |
| | | .collect(Collectors.toList()); |
| | | BigDecimal perkAmount = filteredList.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | teamListVo.setPerkAmount(perkAmount); |
| | | |
| | | }else{ |
| | | teamListVo.setPerkAmount(BigDecimal.ZERO); |
| | | } |
| | | |
| | | |
| | | List<DappMemberEntity> dappMemberEntitiesAva = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 1); |