Skip to content

Commit

Permalink
Merge pull request #149 from softeerbootcamp4th/fix/147-event-user-pa…
Browse files Browse the repository at this point in the history
…ging

[fix] deleteAllInBatch로 인해 이벤트의 연관관계를 삭제하지 못해 외래키 에러가 발생하던 문제 수정 (#147)
  • Loading branch information
blaxsior authored Aug 23, 2024
2 parents ea751f5 + 8eaa9cb commit c6dc3c2
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/main/java/hyundai/softeer/orange/common/ErrorCode.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ public enum ErrorCode {
ALREADY_PARTICIPATED(HttpStatus.CONFLICT, "이미 참여한 사용자입니다."),
PHONE_NUMBER_ALREADY_EXISTS(HttpStatus.CONFLICT, "이미 존재하는 전화번호입니다."),
ALREADY_DRAWN(HttpStatus.CONFLICT, "이미 추첨된 이벤트입니다."),
EDIT_TO_DIFFERENT_EVENT_TYPE_NOT_ALLOWED(HttpStatus.CONFLICT,"생성된 이벤트를 다른 타입으로 수정할 수 없습니다"),

// 500 Internal Server Error
INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "서버에 오류가 발생하였습니다.");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ public void editEvent(EventDto eventDto) {
Optional<EventMetadata> metadataOpt = emRepository.findFirstByEventId(eventId);
EventMetadata eventMetadata = metadataOpt
.orElseThrow(() -> new EventException(ErrorCode.EVENT_NOT_FOUND));
if(eventDto.getEventType() != eventMetadata.getEventType()) throw new EventException(ErrorCode.EDIT_TO_DIFFERENT_EVENT_TYPE_NOT_ALLOWED);
eventMetadata.updateName(eventDto.getName());
eventMetadata.updateDescription(eventDto.getDescription());
eventMetadata.updateStartTime(eventDto.getStartTime());
Expand Down Expand Up @@ -265,7 +266,9 @@ public List<DeleteEventNotAllowedReasonDto> deleteEvents(List<String> eventIds)
deleteList.add(metadata);
}

emRepository.deleteAllInBatch(deleteList);
// deleteAllInBatch는 연관관계를 고려하지 않고 raw Delete 문을 날림. 현재 연관된 DrawEvent / FcfsEvent를 함께 제거해줘야 하므로
// 성능이 모자르더라도 연관 관계를 함께 삭제해주는 deleteAll을 이용
emRepository.deleteAll(deleteList);
return errorResponse;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class DrawEventDrawMachine {
@Transactional
public CompletableFuture<Void> draw(DrawEvent drawEvent) {
try{
Thread.sleep(1000 * 60 * 1);
Thread.sleep(1000 * 5 * 1);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
Expand Down

0 comments on commit c6dc3c2

Please sign in to comment.