Skip to content

Commit

Permalink
Merge pull request #369 from Team-Sopetit/fix/#368/chan
Browse files Browse the repository at this point in the history
[FIX] 메모 생성
  • Loading branch information
Chan531 authored Dec 26, 2024
2 parents 62ed503 + bdce6b6 commit c358eb6
Show file tree
Hide file tree
Showing 13 changed files with 37 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
import org.springframework.web.bind.annotation.RestController;

import com.soptie.server.api.controller.docs.MemberChallengeApiDocs;
import com.soptie.server.api.controller.dto.request.membermission.CreateMemberChallengeRequest;
import com.soptie.server.api.controller.dto.request.memberchallenge.CreateMemberChallengeRequest;
import com.soptie.server.api.controller.dto.response.SuccessResponse;
import com.soptie.server.api.controller.dto.response.membermission.CreateMemberChallengeResponse;
import com.soptie.server.api.controller.dto.response.memberchallenge.CreateMemberChallengeResponse;
import com.soptie.server.api.controller.generic.SuccessMessage;
import com.soptie.server.domain.challenge.MemberChallengeService;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;

import com.soptie.server.api.controller.dto.request.membermission.CreateMemberChallengeRequest;
import com.soptie.server.api.controller.dto.request.memberchallenge.CreateMemberChallengeRequest;
import com.soptie.server.api.controller.dto.response.ErrorResponse;
import com.soptie.server.api.controller.dto.response.SuccessResponse;
import com.soptie.server.api.controller.dto.response.membermission.CreateMemberChallengeResponse;
import com.soptie.server.api.controller.dto.response.memberchallenge.CreateMemberChallengeResponse;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.soptie.server.api.controller.dto.request.membermission;
package com.soptie.server.api.controller.dto.request.memberchallenge;

import io.swagger.v3.oas.annotations.media.Schema;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.soptie.server.api.controller.dto.response.calendar;

import static lombok.AccessLevel.*;
import static lombok.AccessLevel.PRIVATE;

import java.util.Collections;
import java.util.Comparator;
Expand Down Expand Up @@ -33,36 +33,36 @@ public static DateHistoryResponse of(
final long memoId,
final String memoContent,
final Map<Theme, List<RoutineHistory>> routines,
final Map<Theme, List<ChallengeHistory>> missions
final Map<Theme, List<ChallengeHistory>> challenges
) {
return DateHistoryResponse.builder()
.memoId(memoId)
.memoContent(memoContent)
.histories(toHistories(routines, missions))
.histories(toHistories(routines, challenges))
.build();
}

private static List<HistoriesResponse> toHistories(
final Map<Theme, List<RoutineHistory>> routines,
final Map<Theme, List<ChallengeHistory>> missions
final Map<Theme, List<ChallengeHistory>> challenges
) {
val histories = getHistories(routines, missions);
val histories = getHistories(routines, challenges);
return histories.values().stream().toList();
}

private static Map<Theme, HistoriesResponse> getHistories(
final Map<Theme, List<RoutineHistory>> routines,
final Map<Theme, List<ChallengeHistory>> missions
final Map<Theme, List<ChallengeHistory>> challenges
) {
return Stream.concat(routines.keySet().stream(), missions.keySet().stream())
return Stream.concat(routines.keySet().stream(), challenges.keySet().stream())
.distinct()
.sorted(Comparator.comparingInt(Theme::getSequence))
.collect(Collectors.toMap(
theme -> theme,
theme -> HistoriesResponse.of(
theme,
routines.getOrDefault(theme, Collections.emptyList()),
missions.getOrDefault(theme, Collections.emptyList())
challenges.getOrDefault(theme, Collections.emptyList())
),
(existing, replacement) -> existing,
LinkedHashMap::new
Expand All @@ -82,21 +82,21 @@ private record HistoriesResponse(
private static HistoriesResponse of(
final Theme theme,
final List<RoutineHistory> routines,
final List<ChallengeHistory> missions
final List<ChallengeHistory> challenges
) {
return HistoriesResponse.builder()
.themeId(theme.getId())
.themeName(theme.getName())
.histories(getHistoryResponse(routines, missions))
.histories(getHistoryResponse(routines, challenges))
.build();
}

private static List<HistoryResponse> getHistoryResponse(
final List<RoutineHistory> routines,
final List<ChallengeHistory> missions
final List<ChallengeHistory> challenges
) {
return Stream.concat(
missions.stream().map(HistoryResponse::createMissions),
challenges.stream().map(HistoryResponse::createChallenges),
routines.stream().map(HistoryResponse::createRoutines)
).toList();
}
Expand All @@ -119,7 +119,7 @@ private static HistoryResponse createRoutines(final RoutineHistory history) {
.build();
}

private static HistoryResponse createMissions(final ChallengeHistory history) {
private static HistoryResponse createChallenges(final ChallengeHistory history) {
return HistoryResponse.builder()
.historyId(history.getId())
.content(history.getContent())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.soptie.server.api.controller.dto.response.membermission;
package com.soptie.server.api.controller.dto.response.memberchallenge;

import com.soptie.server.domain.challenge.MemberChallenge;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.soptie.server.api.controller.dto.response.membermission;
package com.soptie.server.api.controller.dto.response.memberchallenge;

import com.soptie.server.domain.challenge.Challenge;
import com.soptie.server.domain.challenge.MemberChallenge;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
@Getter
public class ChallengeHistory {
private Long id;
private long memberMissionId;
private long memberChallengeId;
private long memberId;
private long challengeId;
private String content;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.soptie.server.api.controller.dto.request.membermission.CreateMemberChallengeRequest;
import com.soptie.server.api.controller.dto.response.membermission.CreateMemberChallengeResponse;
import com.soptie.server.api.controller.dto.response.membermission.MemberChallengeResponse;
import com.soptie.server.api.controller.dto.request.memberchallenge.CreateMemberChallengeRequest;
import com.soptie.server.api.controller.dto.response.memberchallenge.CreateMemberChallengeResponse;
import com.soptie.server.api.controller.dto.response.memberchallenge.MemberChallengeResponse;
import com.soptie.server.common.exception.ExceptionCode;
import com.soptie.server.common.exception.SoftieException;
import com.soptie.server.domain.challenge.util.ChallengeValidator;
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/soptie/server/domain/memo/MemoService.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public void delete(final long memberId, final long memoId) {
}

private void validateAchievedDate(final long memberId, final CreateMemoRequest request) {
if (hasNoRoutineHistory(memberId, request) && hasNoMissionHistory(memberId, request)) {
if (hasNoRoutineHistory(memberId, request) && hasNoChallengeHistory(memberId, request)) {
throw new SoftieException(ExceptionCode.BAD_REQUEST, "해당 날짜에 루틴 및 미션 달성 내역이 존재하지 않습니다.");
}
if (memoAdapter.isExistByMemberIdAndAchievedDate(memberId, request.achievedDate())) {
Expand All @@ -61,7 +61,7 @@ private boolean hasNoRoutineHistory(final long memberId, final CreateMemoRequest
return !routineHistoryAdapter.isExistByMemberIdAndCreatedAt(memberId, request.achievedDate());
}

private boolean hasNoMissionHistory(final long memberId, final CreateMemoRequest request) {
private boolean hasNoChallengeHistory(final long memberId, final CreateMemoRequest request) {
return !challengeHistoryAdapter.isExistByMemberIdAndCreatedAt(memberId, request.achievedDate());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ public List<Challenge> findAllByTheme(long themeId) {
return challengeRepository.findByThemeId(themeId).stream().map(ChallengeEntity::toDomain).toList();
}

public Challenge findById(long missionId) {
return find(missionId).toDomain();
public Challenge findById(long challengeId) {
return find(challengeId).toDomain();
}

private ChallengeEntity find(long id) {
return challengeRepository.findById(id)
.orElseThrow(() -> new SoftieException(ExceptionCode.NOT_FOUND, "Mission ID: " + id));
.orElseThrow(() -> new SoftieException(ExceptionCode.NOT_FOUND, "Challenge ID: " + id));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ public void deleteAllByMemberId(long memberId) {
}

public void update(MemberChallenge memberChallenge) {
val memberMissionEntity = find(memberChallenge.getId());
memberMissionEntity.update(memberChallenge);
val memberChallengeEntity = find(memberChallenge.getId());
memberChallengeEntity.update(memberChallenge);
}

private MemberChallengeEntity find(long id) {
return memberChallengeRepository.findById(id)
.orElseThrow(() -> new SoftieException(ExceptionCode.NOT_FOUND, "MemberMission ID: " + id));
.orElseThrow(() -> new SoftieException(ExceptionCode.NOT_FOUND, "MemberChallenge ID: " + id));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public ChallengeHistoryEntity(final MemberChallenge memberChallenge, final Chall
public ChallengeHistory toDomain() {
return ChallengeHistory.builder()
.id(this.id)
.memberMissionId(this.memberChallengeId)
.memberChallengeId(this.memberChallengeId)
.memberId(this.memberId)
.challengeId(this.challengeId)
.content(this.content)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@

public interface ChallengeHistoryRepository extends JpaRepository<ChallengeHistoryEntity, Long> {

@Query(value = "SELECT * FROM mission_history m "
+ "WHERE m.member_id = :memberId AND DATE(m.created_at) = :date LIMIT 1", nativeQuery = true)
@Query(value = "SELECT * FROM challenge_history c "
+ "WHERE c.member_id = :memberId AND DATE(c.created_at) = :date LIMIT 1", nativeQuery = true)
Optional<ChallengeHistoryEntity> findByMemberIdAndCreatedAt(long memberId, LocalDate date);

@Query("SELECT m FROM ChallengeHistoryEntity m WHERE m.memberId = :memberId "
+ "AND m.createdAt BETWEEN :startDateTime AND :endDateTime")
@Query("SELECT c FROM ChallengeHistoryEntity c WHERE c.memberId = :memberId "
+ "AND c.createdAt BETWEEN :startDateTime AND :endDateTime")
List<ChallengeHistoryEntity> findAllByMemberIdAndCreatedAtBetween(
@Param("memberId") long memberId,
@Param("startDateTime") LocalDateTime startDateTime,
Expand Down

0 comments on commit c358eb6

Please sign in to comment.