Merge pull request 'fix: cache refresh' (#122) from dev into master
Reviewed-on: #122
This commit is contained in:
commit
a1e5006e95
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user