Skip to content

Commit 1a9e706

Browse files
authored
party oneToone으로 변경 (#69)
1 parent da0d2eb commit 1a9e706

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

backend/src/main/java/com/back/domain/mission/entity/Mission.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ public class Mission extends BaseEntity {
2828
@JoinColumn(name = "user_id", nullable = false)
2929
private Member member; // 미션 생성자
3030

31-
@ManyToOne(fetch = FetchType.LAZY)
32-
@JoinColumn(name = "party_id", nullable = true)
31+
@OneToOne(fetch = FetchType.LAZY)
32+
@JoinColumn(name = "party_id", unique = true, nullable = true)
3333
private Party party; // null == 개인미션
3434

3535
@Column(nullable = false)

backend/src/main/java/com/back/domain/mission/entity/Task.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import jakarta.persistence.*;
55
import lombok.*;
66

7+
import java.time.LocalDate;
78
import java.util.ArrayList;
89
import java.util.List;
910

@@ -27,8 +28,14 @@ public class Task extends BaseEntity {
2728
@Column(nullable = false)
2829
private int dayNum; // 주차 내 며칠에 해당하는 지 ( 1 = 월, ... )
2930

31+
@Column(nullable = false)
32+
private Boolean hasBeenEdited = false;
33+
34+
private LocalDate editableUntil;
35+
3036
@OneToMany(mappedBy = "task", cascade = CascadeType.ALL, orphanRemoval = true)
3137
@Builder.Default
3238
private List<TaskLog> taskLogs = new ArrayList<>();
3339

40+
3441
}

backend/src/main/java/com/back/domain/mission/service/TaskService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public TaskCompleteResponse completeTask(Integer memberId, TaskCompleteRequest r
6969
.build();
7070
}
7171

72-
//ㅅㅁ
72+
// 멤버 id 기준 오늘 할 일 조회
7373
@Transactional(readOnly = true)
7474
public List<TaskResponse> getTodayTasks(Integer memberId) {
7575
LocalDate today = LocalDate.now();
@@ -82,6 +82,7 @@ public List<TaskResponse> getTodayTasks(Integer memberId) {
8282
.collect(Collectors.toList());
8383
}
8484

85+
//특정 날짜에 해당하는 task
8586
@Transactional(readOnly = true)
8687
public List<TaskResponse> getTasksByDate(Integer memberId, LocalDate date) {
8788
int dayNum = date.getDayOfWeek().getValue();
@@ -93,6 +94,7 @@ public List<TaskResponse> getTasksByDate(Integer memberId, LocalDate date) {
9394
.collect(Collectors.toList());
9495
}
9596

97+
// 특정 미션의 특정 주차에 해당하는 task 조회
9698
@Transactional(readOnly = true)
9799
public List<TaskResponse> getWeekTasks(Integer memberId, Integer missionId, Integer weekNum) {
98100
Mission mission = missionRepository.findById(missionId)
@@ -117,7 +119,7 @@ public TaskResponse toTaskResponse(Task task, Integer memberId, LocalDate date)
117119
return convertToTaskResponse(task, memberId, date);
118120
}
119121

120-
122+
// task 엔티티 -> taskResponse DTO 변환
121123
private TaskResponse convertToTaskResponse(Task task, Integer memberId, LocalDate date) {
122124
Optional<TaskLog> taskLog = taskLogRepository.findByTaskIdAndMemberIdAndDate(
123125
task.getId(), memberId, date);

backend/src/main/java/com/back/domain/mission/service/WeeklyMissionUpdateService.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ public class WeeklyMissionUpdateService {
3030
private final SubGoalRepository subGoalRepository;
3131
private final MissionCalculateService missionCalculateService;
3232

33-
/**
34-
* 현재 수정 가능한 주차 목록 조회
35-
*/
33+
// 현재 수정 가능한 주차 목록 조회
3634
@Transactional(readOnly = true)
3735
public List<SubGoalResponse> getEditableWeeks(Integer memberId, Integer missionId) {
3836
Mission mission = validateMissionAccess(memberId, missionId);
@@ -48,9 +46,7 @@ public List<SubGoalResponse> getEditableWeeks(Integer memberId, Integer missionI
4846
.collect(Collectors.toList());
4947
}
5048

51-
/**
52-
* 특정 주차 수정
53-
*/
49+
// 특정 주차 수정ㄴ
5450
public SubGoalResponse updateWeekly(Integer memberId, WeeklyUpdateRequest request) {
5551
// 1. 권한 확인
5652
Mission mission = validateMissionAccess(memberId, request.getMissionId());
@@ -74,9 +70,7 @@ public SubGoalResponse updateWeekly(Integer memberId, WeeklyUpdateRequest reques
7470
return convertToSubGoalResponse(subGoal);
7571
}
7672

77-
/**
78-
* 미션 시작 시 수정 가능 기한 설정
79-
*/
73+
// 미션 시작 시 수정 가능 기한 설정
8074
public void initializeEditablePeriods(Integer missionId) {
8175
Mission mission = missionRepository.findById(missionId)
8276
.orElseThrow(() -> new MissionException(MissionErrorCode.MISSION_NOT_FOUND));
@@ -93,9 +87,6 @@ public void initializeEditablePeriods(Integer missionId) {
9387
log.info("미션 수정 기한 초기화 완료 - missionId: {}", missionId);
9488
}
9589

96-
// ================================
97-
// Private 헬퍼 메서드들
98-
// ================================
9990

10091
private Mission validateMissionAccess(Integer memberId, Integer missionId) {
10192
Mission mission = missionRepository.findById(missionId)

0 commit comments

Comments
 (0)