fix: cache refresh
All checks were successful
Deploy Production Server / if_merged (pull_request) Successful in 7m10s

This commit is contained in:
Thibaut Valentin 2026-03-23 16:29:11 +01:00
parent 2501b998fa
commit 2d883ca1da

View File

@ -755,13 +755,10 @@ public class ResultService {
List<CardModel> cards = new java.util.ArrayList<>(); List<CardModel> cards = new java.util.ArrayList<>();
//noinspection unchecked //noinspection unchecked
cacheClubClassement.invalidateIf( return cacheClubClassement.invalidateIf(
(p) -> ((Pair<Long, List<ClubClassement>>) p).getKey() > System.currentTimeMillis()); (p) -> ((Pair<Long, List<ClubClassement>>) p).getKey() > System.currentTimeMillis())
.chain(__ -> cache ? Uni.createFrom().voidItem() : cacheClubClassement.invalidate(uuid))
if (!cache) .chain(o -> cacheClubClassement.getAsync(uuid, k -> cardRepository.list("competition.uuid = ?1", uuid)
cacheClubClassement.invalidate(uuid);
return cacheClubClassement.getAsync(uuid, k -> cardRepository.list("competition.uuid = ?1", uuid)
.invoke(__ -> System.out.println("Cache miss for club classement with uuid " + uuid)) .invoke(__ -> System.out.println("Cache miss for club classement with uuid " + uuid))
.invoke(cards::addAll) .invoke(cards::addAll)
.chain(__ -> matchRepository.list("category.compet.uuid = ?1", uuid)) .chain(__ -> matchRepository.list("category.compet.uuid = ?1", uuid))
@ -778,7 +775,8 @@ public class ResultService {
.map(entry -> { .map(entry -> {
ResultCategoryData tmp = new ResultCategoryData(); ResultCategoryData tmp = new ResultCategoryData();
getArray2(entry.getValue().stream().map(m -> new MatchModelExtend(m, cards)).toList(), getArray2(entry.getValue().stream().map(m -> new MatchModelExtend(m, cards))
.toList(),
null, tmp); null, tmp);
getClassementArray(entry.getKey(), null, cards, tmp); getClassementArray(entry.getKey(), null, cards, tmp);
@ -789,12 +787,14 @@ public class ResultService {
.map(categoryData -> { .map(categoryData -> {
HashMap<String, ClubClassement> clubMap = new HashMap<>(); HashMap<String, ClubClassement> clubMap = new HashMap<>();
categoryData.forEach(c -> c.getClassement().stream().map(ResultCategoryData.ClassementData::comb) categoryData.forEach(
c -> c.getClassement().stream().map(ResultCategoryData.ClassementData::comb)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.distinct() .distinct()
.map(comb -> { .map(comb -> {
if (comb instanceof MembreModel membreModel2) { if (comb instanceof MembreModel membreModel2) {
return (membreModel2.getClub() != null) ? membreModel2.getClub().getName() : ""; return (membreModel2.getClub() != null) ? membreModel2.getClub()
.getName() : "";
} else if (comb instanceof CompetitionGuestModel guestModel) { } else if (comb instanceof CompetitionGuestModel guestModel) {
return guestModel.getClub(); return guestModel.getClub();
} }
@ -802,28 +802,21 @@ public class ResultService {
}) })
.filter(s -> s != null && !s.isBlank() && !s.equals("Team")) .filter(s -> s != null && !s.isBlank() && !s.equals("Team"))
.distinct() .distinct()
.forEach(clubName -> clubMap.putIfAbsent(clubName, new ClubClassement(clubName)))); .forEach(clubName -> clubMap.putIfAbsent(clubName,
new ClubClassement(clubName))));
System.out.println(clubMap.keySet());
categoryData.forEach(c -> c.getClassement().forEach(classementData -> { categoryData.forEach(c -> c.getClassement().forEach(classementData -> {
System.out.println("Classement data for " + c.getName() + ": " + classementData.name() + " - " +
classementData.comb() + " - " + classementData.rank());
if (classementData.rank() > 3) if (classementData.rank() > 3)
return; return;
System.out.println(
"Processing classement data for " + c.getName() + ": " + classementData.name());
if (classementData.comb() != null) { if (classementData.comb() != null) {
String clubName = ""; String clubName = "";
if (classementData.comb() instanceof MembreModel membreModel2) { if (classementData.comb() instanceof MembreModel membreModel2) {
clubName = (membreModel2.getClub() != null) ? membreModel2.getClub().getName() : ""; clubName = (membreModel2.getClub() != null) ? membreModel2.getClub()
.getName() : "";
} else if (classementData.comb() instanceof CompetitionGuestModel guestModel) { } else if (classementData.comb() instanceof CompetitionGuestModel guestModel) {
clubName = guestModel.getClub(); clubName = guestModel.getClub();
} }
System.out.println("-> " + clubName + "- " + (clubName != null && !clubName.isBlank()
&& !clubName.equals("Team") && clubMap.containsKey(clubName)));
if (clubName != null && !clubName.isBlank() if (clubName != null && !clubName.isBlank()
&& !clubName.equals("Team") && clubMap.containsKey(clubName)) { && !clubName.equals("Team") && clubMap.containsKey(clubName)) {
@ -842,7 +835,7 @@ public class ResultService {
.toList(); .toList();
}) })
.map(l -> new Pair<>(System.currentTimeMillis() + 60 * 1000L, l)) .map(l -> new Pair<>(System.currentTimeMillis() + 60 * 1000L, l))
).map(Pair::getValue); ).map(Pair::getValue));
} }
@Data @Data