Skip to content

Commit

Permalink
Add scores to TopMatches
Browse files Browse the repository at this point in the history
  • Loading branch information
mario-vimal committed Mar 7, 2020
1 parent 5200ad7 commit bae99e2
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 50 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package delta.codecharacter.server.controller.api;

import delta.codecharacter.server.controller.request.UpdateMatchRequest;
import delta.codecharacter.server.controller.response.Match.MatchResponse;
import delta.codecharacter.server.service.MatchService;
import delta.codecharacter.server.util.PageUtils;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down Expand Up @@ -36,5 +35,4 @@ public void updateMatch(@RequestBody @Valid UpdateMatchRequest updateMatchReques
return;
matchService.updateMatch(updateMatchRequest);
}

}

This file was deleted.

25 changes: 14 additions & 11 deletions src/main/java/delta/codecharacter/server/service/MatchService.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import delta.codecharacter.server.controller.request.UpdateMatchRequest;
import delta.codecharacter.server.controller.response.GameLogs;
import delta.codecharacter.server.controller.response.Match.DetailedMatchStatsResponse;
import delta.codecharacter.server.controller.response.Match.MatchResponse;
import delta.codecharacter.server.controller.response.Match.PrivateMatchResponse;
import delta.codecharacter.server.model.Match;
import delta.codecharacter.server.model.User;
Expand Down Expand Up @@ -107,19 +106,21 @@ public Match createMatch(Integer playerId1, Integer playerId2, MatchMode matchMo
*
* @return list of top matches
*/
public List<MatchResponse> getTopMatches(Integer PageNumber, Integer PageSize) {
public List<PrivateMatchResponse> getTopMatches(Integer PageNumber, Integer PageSize) {
Pageable pageable = PageRequest.of(PageNumber - 1, PageSize);
var topMatches = topMatchRepository.findAllByOrderByCreatedAtDesc(pageable);
List<MatchResponse> matchResponses = new ArrayList<>();
List<PrivateMatchResponse> matchResponses = new ArrayList<>();
for (var topMatch : topMatches) {
Match match = matchRepository.findFirstById(topMatch.getMatchId());
User user1 = userRepository.findByUserId(match.getPlayerId1());
User user2 = userRepository.findByUserId(match.getPlayerId2());
MatchResponse matchResponse = MatchResponse.builder()
PrivateMatchResponse matchResponse = PrivateMatchResponse.builder()
.username1(user1.getUsername())
.username2(user2.getUsername())
.avatarId1(user1.getAvatarId())
.avatarId2(user2.getAvatarId())
.avatar1(user1.getAvatarId())
.avatar2(user2.getAvatarId())
.score1(match.getScore1())
.score2(match.getScore2())
.verdict(match.getVerdict())
.matchMode(match.getMatchMode())
.games(gameService.getAllGamesByMatchId(match.getId()))
Expand All @@ -140,12 +141,12 @@ public List<MatchResponse> getTopMatches(Integer PageNumber, Integer PageSize) {
public List<PrivateMatchResponse> getManualAndAutoExecutedMatchesPaginated(Integer userId, Pageable pageable) {
Aggregation aggregation = newAggregation(
match(
new Criteria().andOperator(
new Criteria().andOperator(
new Criteria().orOperator(Criteria.where("player_id_1").is(userId), Criteria.where("player_id_2").is(userId)),
new Criteria().orOperator(Criteria.where("match_mode").is(MatchMode.MANUAL), Criteria.where("match_mode").is(MatchMode.AUTO))
), Criteria.where("status").is("EXECUTED")
)
new Criteria().andOperator(
new Criteria().orOperator(Criteria.where("player_id_1").is(userId), Criteria.where("player_id_2").is(userId)),
new Criteria().orOperator(Criteria.where("match_mode").is(MatchMode.MANUAL), Criteria.where("match_mode").is(MatchMode.AUTO))
), Criteria.where("status").is("EXECUTED")
)
),
sort(Sort.by("createdAt").descending()),
skip((long) pageable.getPageNumber() * pageable.getPageSize()),
Expand All @@ -166,6 +167,8 @@ public List<PrivateMatchResponse> getManualAndAutoExecutedMatchesPaginated(Integ
.username2(user2.getUsername())
.avatar1(user1.getAvatarId())
.avatar2(user2.getAvatarId())
.score1(match.getScore1())
.score2(match.getScore2())
.verdict(match.getVerdict())
.playedAt(match.getCreatedAt())
.matchMode(match.getMatchMode())
Expand Down

0 comments on commit bae99e2

Please sign in to comment.