Skip to content

Commit

Permalink
Merge pull request #116 from moidot/refactor/all-code
Browse files Browse the repository at this point in the history
코드 전체 리팩터링 (진행중)
  • Loading branch information
1000kkannoo authored Feb 19, 2024
2 parents 09cc713 + 5d5fa41 commit 8adc281
Show file tree
Hide file tree
Showing 37 changed files with 149 additions and 294 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ swaggerSources {
// 6. openapi3 스펙 생성시 설정 정보
openapi3 {
servers = [
{url = "http://ec2-3-36-231-219.ap-northeast-2.compute.amazonaws.com"},
{url = "https://api.moidot.co.kr"},
{url = "http://localhost:8080"}
]
title = "모이닷 API 문서"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package com.moim.backend.domain.space.controller;

import com.moim.backend.domain.space.request.controller.CreateSpaceCalendarRequest;
import com.moim.backend.domain.space.request.controller.SpaceTimeLineRequest;
import com.moim.backend.domain.space.request.CreateSpaceCalendarRequest;
import com.moim.backend.domain.space.request.SpaceTimeLineRequest;
import com.moim.backend.domain.space.response.space.CreateSpaceCalendarResponse;
import com.moim.backend.domain.space.response.space.SpaceTimeLineResponse;
import com.moim.backend.domain.space.service.SpaceCalendarService;
import com.moim.backend.domain.user.entity.Users;
import com.moim.backend.global.auth.Login;
import com.moim.backend.global.common.CustomResponseEntity;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
Expand All @@ -19,13 +17,15 @@ public class SpaceCalendarController {

private final SpaceCalendarService spaceCalendarService;

// 모임 캘린더 일정 추가 API
@PostMapping("/calendar")
public CustomResponseEntity<CreateSpaceCalendarResponse> createSpaceCalendar(
@RequestBody @Valid CreateSpaceCalendarRequest request
) {
return CustomResponseEntity.success(spaceCalendarService.createSpaceCalendar(request));
}

// 타임라인 조회 API
@GetMapping("/timeLine")
public CustomResponseEntity<SpaceTimeLineResponse> readSpaceTimeLine(
@RequestBody @Valid SpaceTimeLineRequest request
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package com.moim.backend.domain.space.controller;

import com.moim.backend.domain.space.request.controller.SpaceCreateRequest;
import com.moim.backend.domain.space.request.controller.SpaceNameUpdateRequest;
import com.moim.backend.domain.space.request.controller.SpaceParticipateRequest;
import com.moim.backend.domain.space.request.controller.SpaceParticipateUpdateRequest;
import com.moim.backend.domain.space.response.*;
import com.moim.backend.domain.space.request.SpaceCreateRequest;
import com.moim.backend.domain.space.request.SpaceNameUpdateRequest;
import com.moim.backend.domain.space.request.SpaceParticipateRequest;
import com.moim.backend.domain.space.request.SpaceParticipateUpdateRequest;
import com.moim.backend.domain.space.response.NicknameValidationResponse;
import com.moim.backend.domain.space.response.PlaceRouteResponse;
import com.moim.backend.domain.space.response.space.*;
import com.moim.backend.domain.space.service.SpaceService;
import com.moim.backend.domain.user.entity.Users;
Expand All @@ -28,7 +29,7 @@ public class SpaceController {
public CustomResponseEntity<SpaceCreateResponse> createSpace(
@RequestBody @Valid SpaceCreateRequest request, @Login Users user
) {
return CustomResponseEntity.success(spaceService.createSpace(request.toServiceRequest(), user));
return CustomResponseEntity.success(spaceService.createSpace(request, user));
}

// 모임 참여자 정보 리스트 조회 API
Expand All @@ -45,17 +46,15 @@ public CustomResponseEntity<Void> updateSpaceName(
@RequestParam Long groupId,
@RequestBody @Valid SpaceNameUpdateRequest request, @Login Users user
) {
return CustomResponseEntity.success(
spaceService.updateSpaceName(groupId, request.toServiceRequest(), user)
);
return CustomResponseEntity.success(spaceService.updateSpaceName(groupId, request, user));
}

// 모임 참여 API
@PostMapping("/participate")
public CustomResponseEntity<SpaceParticipateResponse> participateSpace(
@RequestBody @Valid SpaceParticipateRequest request, @Login Users user
) {
return CustomResponseEntity.success(spaceService.participateSpace(request.toServiceRequest(), user));
return CustomResponseEntity.success(spaceService.participateSpace(request, user));
}

// 모임 삭제 API
Expand All @@ -80,7 +79,7 @@ public CustomResponseEntity<SpaceParticipationsResponse> getParticipationDetail(
public CustomResponseEntity<SpaceParticipateUpdateResponse> participateUpdate(
@RequestBody @Valid SpaceParticipateUpdateRequest request, @Login Users user
) {
return CustomResponseEntity.success(spaceService.participateUpdate(request.toServiceRequest(), user));
return CustomResponseEntity.success(spaceService.participateUpdate(request, user));
}

// 모임 나가기 API
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.moim.backend.domain.space.entity;

import com.moim.backend.domain.space.request.service.SpaceParticipateUpdateServiceRequest;
import com.moim.backend.domain.space.request.SpaceParticipateUpdateRequest;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotNull;
import lombok.AccessLevel;
Expand Down Expand Up @@ -54,7 +54,7 @@ private Participation(Long participationId, Space space, Long userId, String use
this.password = password;
}

public void update(SpaceParticipateUpdateServiceRequest request) {
public void update(SpaceParticipateUpdateRequest request) {
this.userName = request.getUserName();
this.locationName = request.getLocationName();
this.latitude = request.getLatitude();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.moim.backend.domain.space.request.controller;
package com.moim.backend.domain.space.request;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.moim.backend.domain.space.request.controller;
package com.moim.backend.domain.space.request;

import com.moim.backend.domain.space.entity.TransportationType;
import com.moim.backend.domain.space.request.service.SpaceCreateServiceRequest;
import jakarta.persistence.Enumerated;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
Expand Down Expand Up @@ -43,18 +42,6 @@ public class SpaceCreateRequest {

private String password;

public SpaceCreateServiceRequest toServiceRequest() {
return SpaceCreateServiceRequest.builder()
.name(name)
.date(date)
.userName(userName)
.locationName(locationName)
.latitude(latitude)
.longitude(longitude)
.transportationType(transportationType)
.password(password)
.build();
}

public static SpaceCreateRequest toRequest(String name, LocalDate date, String userName, String locationName, Double latitude, Double longitude, TransportationType transportationType, String password) {
return new SpaceCreateRequest(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.moim.backend.domain.space.request.controller;
package com.moim.backend.domain.space.request;

import com.moim.backend.domain.space.request.service.SpaceNameUpdateServiceRequest;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Getter;
Expand All @@ -12,10 +11,4 @@
public class SpaceNameUpdateRequest {
@NotBlank(message = "수정할 그룹 이름을 입력하지 않았습니다.")
private String groupName;

public SpaceNameUpdateServiceRequest toServiceRequest() {
return SpaceNameUpdateServiceRequest.builder()
.groupName(groupName)
.build();
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.moim.backend.domain.space.request.controller;
package com.moim.backend.domain.space.request;

import com.moim.backend.domain.space.entity.TransportationType;
import com.moim.backend.domain.space.request.service.SpaceParticipateServiceRequest;
import jakarta.persistence.Enumerated;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

Expand All @@ -15,6 +15,7 @@
@Getter
@AllArgsConstructor(access = PRIVATE)
@NoArgsConstructor
@Builder
public class SpaceParticipateRequest {
@NotNull(message = "스페이스 아이디를 입력하지 않았습니다.")
private Long groupId;
Expand All @@ -37,18 +38,6 @@ public class SpaceParticipateRequest {

private String password;

public SpaceParticipateServiceRequest toServiceRequest() {
return SpaceParticipateServiceRequest.builder()
.groupId(groupId)
.userName(userName)
.locationName(locationName)
.latitude(latitude)
.longitude(longitude)
.transportationType(transportationType)
.password(password)
.build();
}

public static SpaceParticipateRequest toRequest(Long groupId, String userName, String locationName, Double latitude, Double longitude, TransportationType transportationType, String password) {
return new SpaceParticipateRequest(
groupId, userName, locationName,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.moim.backend.domain.space.request.controller;
package com.moim.backend.domain.space.request;

import com.moim.backend.domain.space.entity.TransportationType;
import com.moim.backend.domain.space.request.service.SpaceParticipateUpdateServiceRequest;
import jakarta.persistence.Enumerated;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
Expand Down Expand Up @@ -34,17 +33,6 @@ public class SpaceParticipateUpdateRequest {
@NotNull
private TransportationType transportationType;

public SpaceParticipateUpdateServiceRequest toServiceRequest() {
return SpaceParticipateUpdateServiceRequest.builder()
.participateId(participateId)
.userName(userName)
.locationName(locationName)
.latitude(latitude)
.longitude(longitude)
.transportationType(transportationType)
.build();
}

public static SpaceParticipateUpdateRequest toRequest(Long participateId, String userName, String locationName, Double latitude, Double longitude, TransportationType transportationType) {
return new SpaceParticipateUpdateRequest(
participateId, userName, locationName,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.moim.backend.domain.space.request.controller;
package com.moim.backend.domain.space.request;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,47 @@
import com.moim.backend.domain.space.entity.SpaceCalendar;
import com.moim.backend.domain.space.repository.SpaceCalendarRepository;
import com.moim.backend.domain.space.repository.SpaceRepository;
import com.moim.backend.domain.space.request.controller.CreateSpaceCalendarRequest;
import com.moim.backend.domain.space.request.controller.SpaceTimeLineRequest;
import com.moim.backend.domain.space.request.CreateSpaceCalendarRequest;
import com.moim.backend.domain.space.request.SpaceTimeLineRequest;
import com.moim.backend.domain.space.response.space.CreateSpaceCalendarResponse;
import com.moim.backend.domain.space.response.space.SpaceTimeLineResponse;
import com.moim.backend.domain.user.entity.Users;
import com.moim.backend.global.common.exception.CustomException;
import com.moim.backend.global.util.DateParser;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.time.YearMonth;
import java.util.*;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import static com.moim.backend.domain.space.response.space.SpaceTimeLineResponse.*;
import static com.moim.backend.domain.space.response.space.SpaceTimeLineResponse.Schedule;
import static com.moim.backend.global.common.Result.NOT_FOUND_GROUP;
import static com.moim.backend.global.util.DateParser.*;

@Service
@RequiredArgsConstructor
public class SpaceCalendarService {
private final SpaceCalendarRepository spaceCalendarRepository;
private final SpaceRepository spaceRepository;

// 모임 캘린더 일정 추가 API
public CreateSpaceCalendarResponse createSpaceCalendar(CreateSpaceCalendarRequest request) {
Space space = getSpace(request.getSpaceId());

SpaceCalendar spaceCalendar = spaceCalendarRepository.save(SpaceCalendar.builder()
.space(space)
.scheduleName(request.getScheduleName())
.date(request.getDate())
.dayOfWeek(DateParser.getDayOfWeek(request.getDate()))
.dayOfWeek(getDayOfWeek(request.getDate()))
.note(request.getNote())
.locationName(request.getLocationName())
.build());

return CreateSpaceCalendarResponse.response(spaceCalendar);
}

// 타임라인 조회 API
public SpaceTimeLineResponse readSpaceTimeLine(SpaceTimeLineRequest request) {
Map<String, List<Schedule>> timeLine = getDefaultTimeLine(request);
List<SpaceCalendar> dayOfMonthSchedules = getSpaceDayOfMonthSchedules(request);
Expand Down Expand Up @@ -71,7 +74,7 @@ private static void addTimeLine(Map<String, List<Schedule>> timeLine, List<Space

private static Schedule createTimeLineSchedule(SpaceCalendar daySchedule) {
return Schedule.to(
daySchedule.getScheduleName(), DateParser.hourAndMinuteFormat(daySchedule.getDate())
daySchedule.getScheduleName(), hourAndMinuteFormat(daySchedule.getDate())
);
}

Expand All @@ -81,7 +84,7 @@ private static Map<String, List<Schedule>> getDefaultTimeLine(SpaceTimeLineReque
int endDayOfMonth = getEndDate(request.getDate()).getDayOfMonth();
for (int nextDay = 0; nextDay < endDayOfMonth; nextDay++) {
LocalDateTime day = request.getDate().plusDays(nextDay);
String dayOfWeek = DateParser.getDayOfWeek(day);
String dayOfWeek = getDayOfWeek(day);
String date = day.getDayOfMonth() + "/" + dayOfWeek;
timeLine.put(date, new ArrayList<>());
}
Expand All @@ -94,9 +97,4 @@ private Space getSpace(Long spaceId) {
() -> new CustomException(NOT_FOUND_GROUP)
);
}

private static LocalDateTime getEndDate(LocalDateTime startDate) {
YearMonth yearMonth = YearMonth.from(startDate);
return yearMonth.atEndOfMonth().atTime(23, 59, 59);
}
}
Loading

0 comments on commit 8adc281

Please sign in to comment.