[AB-272] improving leaderboard performance

fixing leaderboard returning wrong pages
making template cache update duration longer
This commit is contained in:
Sheldan
2021-05-26 21:41:04 +02:00
parent 919b52a607
commit 95a639a733
16 changed files with 98 additions and 90 deletions

View File

@@ -36,7 +36,7 @@ public class AServer implements SnowFlake, Serializable {
@Transient
private boolean fake;
@OneToOne(mappedBy = "server", cascade = CascadeType.ALL)
@OneToOne(mappedBy = "server", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
private AllowedMention allowedMention;

View File

@@ -21,11 +21,11 @@ public class AUserInAServer implements Serializable {
@Column(name = "user_in_server_id", nullable = false)
private Long userInServerId;
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
private AUser userReference;
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY)
@JoinColumn(name = "server_id", nullable = false)
private AServer serverReference;

View File

@@ -9,6 +9,7 @@ import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.User;
import java.util.List;
import java.util.concurrent.CompletableFuture;
public interface MemberService {
@@ -16,6 +17,7 @@ public interface MemberService {
CompletableFuture<GuildChannelMember> getServerChannelUserAsync(Long serverId, Long channelId, Long userId);
Member getMemberInServer(Long serverId, Long memberId);
CompletableFuture<Member> getMemberInServerAsync(Long serverId, Long memberId);
CompletableFuture<List<Member>> getMembersInServerAsync(Long serverId, List<Long> memberIds);
CompletableFuture<Member> retrieveMemberInServer(ServerUser serverUser);
CompletableFuture<User> retrieveUserById(Long userId);
boolean isUserInGuild(AUserInAServer aUserInAServer);