Skip to content

Commit

Permalink
fix: missionRecordStatus 필드 추가 (#284)
Browse files Browse the repository at this point in the history
  • Loading branch information
char-yb authored Sep 30, 2024
1 parent eaed214 commit 1feeb01
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ public class MissionRecordController {

@Operation(summary = "미션 탭 완료된 기록 리스트", description = "미션 탭에서 완료된 기록 리스트를 조회한다.")
@GetMapping
public MissionRecordTabListResponse missionRecordsFind() {
return missionRecordService.findCompleteMissionRecords();
public MissionRecordTabListResponse missionRecordsFind(@RequestParam Long missionId) {
return missionRecordService.findCompleteMissionRecords(missionId);
}

@Operation(summary = "미션 탭 상태 조회", description = "미션 탭의 상태를 조회한다.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,9 +278,27 @@ public void expiredMissionsToNotCompletedUpdate() {
}

@Transactional(readOnly = true)
public MissionRecordTabListResponse findCompleteMissionRecords() {
public MissionRecordTabListResponse findCompleteMissionRecords(Long missionId) {
final Member member = memberUtil.getCurrentMember();
Mission mission =
missionRepository
.findById(missionId)
.orElseThrow(() -> new CustomException(ErrorCode.MISSION_NOT_FOUND));

MissionHistory missionHistory =
findMissionHistoryByIdAndRaisePet(missionId, mission.getRaisePet());

MissionRecord missionRecord =
missionRecordRepository
.findByMemberAndMissionHistory(member, missionHistory)
.orElse(null);

MissionRecordStatus missionRecordStatus = MissionRecordStatus.COMPLETED;
if (missionRecord == null) {
missionRecordStatus = MissionRecordStatus.NOT_COMPLETED;
}
return MissionRecordTabListResponse.from(
missionRecordStatus,
missionRecordRepository.findAllTabMissionsByMemberAndStatus(
member, MissionRecordStatus.COMPLETED));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package com.depromeet.stonebed.domain.missionRecord.dto.response;

import com.depromeet.stonebed.domain.missionRecord.domain.MissionRecordStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;

public record MissionRecordTabListResponse(
@Schema(description = "미션 당일 상태", example = "NOT_COMPLETED") MissionRecordStatus status,
@Schema(
description = "미션 탭 목록",
example =
Expand All @@ -19,7 +21,8 @@ public record MissionRecordTabListResponse(
+ "}"
+ "]")
List<MissionTabResponse> list) {
public static MissionRecordTabListResponse from(List<MissionTabResponse> list) {
return new MissionRecordTabListResponse(list);
public static MissionRecordTabListResponse from(
MissionRecordStatus status, List<MissionTabResponse> list) {
return new MissionRecordTabListResponse(status, list);
}
}

0 comments on commit 1feeb01

Please sign in to comment.