Move to new server
This commit is contained in:
55
src/main/java/nl/connectedit/swiss/mapper/GroupMapper.java
Normal file
55
src/main/java/nl/connectedit/swiss/mapper/GroupMapper.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package nl.connectedit.swiss.mapper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import nl.connectedit.swiss.domain.Status;
|
||||
import nl.connectedit.swiss.domain.entity.Group;
|
||||
import nl.connectedit.swiss.domain.entity.Round;
|
||||
import nl.connectedit.swiss.dto.GroupDto;
|
||||
import nl.connectedit.swiss.dto.RoundDto;
|
||||
import nl.connectedit.swiss.service.StandingsService;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class GroupMapper implements DtoMapper<Group, GroupDto> {
|
||||
|
||||
private final TeamMapper teamMapper;
|
||||
|
||||
private final RoundMapper roundMapper;
|
||||
|
||||
private final StandingsService standingsService;
|
||||
|
||||
private final StandingsMapper standingsMapper;
|
||||
|
||||
@Override
|
||||
public GroupDto toDto(Group group) {
|
||||
var groupDto = new GroupDto();
|
||||
groupDto.setId(group.getId());
|
||||
groupDto.setName(group.getName());
|
||||
groupDto.setType(group.getType().name());
|
||||
groupDto.setStatus(group.getStatus().name());
|
||||
groupDto.setTeams(
|
||||
group.getTeams()
|
||||
.stream()
|
||||
.map(teamMapper::toDto)
|
||||
.toList());
|
||||
|
||||
var standingsGroup = new ArrayList<Round>();
|
||||
var rounds = new ArrayList<RoundDto>();
|
||||
if (group.getRounds() != null) {
|
||||
for (var round : group.getRounds()) {
|
||||
if (round.getStatus() == Status.FINISHED) {
|
||||
standingsGroup.add(round);
|
||||
}
|
||||
rounds.add(roundMapper.toDto(round, standingsGroup, group.getTeams()));
|
||||
}
|
||||
}
|
||||
groupDto.setRounds(rounds);
|
||||
|
||||
var standings = standingsService.getStandings(group.getRounds(), group.getTeams());
|
||||
groupDto.setStandings(standingsMapper.toDto(standings));
|
||||
|
||||
return groupDto;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user