Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
import com.weeth.domain.schedule.domain.service.EventSaveService;
import com.weeth.domain.schedule.domain.service.EventUpdateService;
import com.weeth.domain.user.domain.entity.User;
import com.weeth.domain.user.domain.service.CardinalGetService;
import com.weeth.domain.user.domain.service.UserGetService;
import com.weeth.domain.user.domain.repository.CardinalReader;
import com.weeth.domain.user.domain.repository.UserReader;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
Expand All @@ -20,12 +20,12 @@
@RequiredArgsConstructor
public class EventUseCaseImpl implements EventUseCase {

private final UserGetService userGetService;
private final UserReader userReader;
private final EventGetService eventGetService;
private final EventSaveService eventSaveService;
private final EventUpdateService eventUpdateService;
private final EventDeleteService eventDeleteService;
private final CardinalGetService cardinalGetService;
private final CardinalReader cardinalReader;
private final EventMapper mapper;

@Override
Expand All @@ -36,16 +36,16 @@ public Response find(Long eventId) {
@Override
@Transactional
public void save(ScheduleDTO.Save dto, Long userId) {
User user = userGetService.find(userId);
cardinalGetService.findByUserSide(dto.cardinal());
User user = userReader.getById(userId);
cardinalReader.getByCardinalNumber(dto.cardinal());

eventSaveService.save(mapper.from(dto, user));
}

@Override
@Transactional
public void update(Long eventId, ScheduleDTO.Update dto, Long userId) {
User user = userGetService.find(userId);
User user = userReader.getById(userId);
Event event = eventGetService.find(eventId);
eventUpdateService.update(event, dto, user);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@
import com.weeth.domain.user.domain.entity.Cardinal;
import com.weeth.domain.user.domain.entity.User;
import com.weeth.domain.user.domain.entity.enums.Role;
import com.weeth.domain.user.domain.service.CardinalGetService;
import com.weeth.domain.user.domain.service.UserGetService;
import com.weeth.domain.user.domain.entity.enums.Status;
import com.weeth.domain.user.domain.repository.CardinalReader;
import com.weeth.domain.user.domain.repository.UserReader;
import com.weeth.domain.user.domain.repository.UserRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
Expand All @@ -31,7 +33,6 @@
import java.util.Comparator;
import java.util.List;

import static com.weeth.domain.schedule.application.dto.MeetingDTO.Info;
import static com.weeth.domain.schedule.application.dto.MeetingDTO.Response;

@Slf4j
Expand All @@ -42,21 +43,22 @@ public class MeetingUseCaseImpl implements MeetingUseCase {
private final MeetingGetService meetingGetService;
private final MeetingMapper mapper;
private final MeetingSaveService meetingSaveService;
private final UserGetService userGetService;
private final UserReader userReader;
private final UserRepository userRepository;
private final MeetingUpdateService meetingUpdateService;
private final MeetingDeleteService meetingDeleteService;
private final AttendanceGetService attendanceGetService;
private final AttendanceSaveService attendanceSaveService;
private final AttendanceDeleteService attendanceDeleteService;
private final AttendanceUpdateService attendanceUpdateService;
private final CardinalGetService cardinalGetService;
private final CardinalReader cardinalReader;

@PersistenceContext
private EntityManager em;

@Override
public Response find(Long userId, Long meetingId) {
User user = userGetService.find(userId);
User user = userReader.getById(userId);
Meeting meeting = meetingGetService.find(meetingId);

if (Role.ADMIN == user.getRole()) {
Expand Down Expand Up @@ -87,10 +89,10 @@ public MeetingDTO.Infos find(Integer cardinal) {
@Override
@Transactional
public void save(ScheduleDTO.Save dto, Long userId) {
User user = userGetService.find(userId);
Cardinal cardinal = cardinalGetService.findByUserSide(dto.cardinal());
User user = userReader.getById(userId);
Cardinal cardinal = cardinalReader.getByCardinalNumber(dto.cardinal());

List<User> userList = userGetService.findAllByCardinal(cardinal);
List<User> userList = userRepository.findAllByCardinalAndStatus(cardinal, Status.ACTIVE);

Meeting meeting = mapper.from(dto, user);
meetingSaveService.save(meeting);
Expand All @@ -102,7 +104,7 @@ public void save(ScheduleDTO.Save dto, Long userId) {
@Transactional
public void update(ScheduleDTO.Update dto, Long userId, Long meetingId) {
Meeting meeting = meetingGetService.find(meetingId);
User user = userGetService.find(userId);
User user = userReader.getById(userId);
meetingUpdateService.update(dto, user, meeting);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
import com.weeth.domain.schedule.domain.service.EventGetService;
import com.weeth.domain.schedule.domain.service.MeetingGetService;
import com.weeth.domain.user.domain.entity.Cardinal;
import com.weeth.domain.user.domain.service.CardinalGetService;
import com.weeth.domain.user.application.exception.CardinalNotFoundException;
import com.weeth.domain.user.domain.repository.CardinalRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

Expand All @@ -21,7 +22,7 @@ public class ScheduleUseCaseImpl implements ScheduleUseCase {

private final EventGetService eventGetService;
private final MeetingGetService meetingGetService;
private final CardinalGetService cardinalGetService;
private final CardinalRepository cardinalRepository;

@Override
public List<Response> findByMonthly(LocalDateTime start, LocalDateTime end) {
Expand All @@ -36,7 +37,8 @@ public List<Response> findByMonthly(LocalDateTime start, LocalDateTime end) {

@Override
public Map<Integer, List<Response>> findByYearly(Integer year, Integer semester) {
Cardinal cardinal = cardinalGetService.find(year, semester);
Cardinal cardinal = cardinalRepository.findByYearAndSemester(year, semester)
.orElseThrow(CardinalNotFoundException::new);

List<Response> events = eventGetService.find(cardinal.getCardinalNumber());
List<Response> meetings = meetingGetService.findByCardinal(cardinal.getCardinalNumber());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ public interface MeetingRepository extends JpaRepository<Meeting, Long> {

List<Meeting> findAllByCardinal(int cardinal);

List<Meeting> findAllByCardinalInOrderByCardinalAscStartAsc(List<Integer> cardinals);

List<Meeting> findAllByMeetingStatusAndEndBeforeOrderByEndAsc(MeetingStatus status, LocalDateTime end);

List<Meeting> findAllByOrderByStartDesc();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

@Service
@RequiredArgsConstructor
Expand All @@ -34,6 +37,14 @@ public List<Meeting> find(Integer cardinal) {
return meetingRepository.findAllByCardinalOrderByStartAsc(cardinal);
}

public Map<Integer, List<Meeting>> findByCardinals(List<Integer> cardinals) {
if (cardinals == null || cardinals.isEmpty()) {
return Map.of();
}
return meetingRepository.findAllByCardinalInOrderByCardinalAscStartAsc(cardinals).stream()
.collect(Collectors.groupingBy(Meeting::getCardinal, LinkedHashMap::new, Collectors.toList()));
}

public List<Meeting> findMeetingByCardinal(Integer cardinal) {
return meetingRepository.findAllByCardinalOrderByStartDesc(cardinal);
}
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading