From caac134c7341a1040ad57f6fe10b78acb43eba7b Mon Sep 17 00:00:00 2001 From: egaeuni Date: Thu, 19 Feb 2026 15:09:47 +0900 Subject: [PATCH 1/2] =?UTF-8?q?:bug:=20Fix:=20DailyLog=20=EB=82=A0?= =?UTF-8?q?=EC=A7=9C=20=EC=8B=9C=EC=8A=A4=ED=85=9C=20=EB=B3=80=EA=B2=BD=20?= =?UTF-8?q?=EB=B0=8F=20=EB=8B=A4=EC=A4=91=20=EB=93=B1=EB=A1=9D=20=ED=97=88?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dailyLog/dto/DailyLogRequestDTO.java | 4 ++++ .../umc/timeto/dailyLog/entity/DailyLog.java | 6 +++--- .../repository/DailyLogRepository.java | 3 +-- .../dailyLog/serivce/DailyLogServiceImpl.java | 19 +++++++------------ .../global/apiPayload/code/ErrorCode.java | 1 - 5 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/umc/timeto/dailyLog/dto/DailyLogRequestDTO.java b/src/main/java/com/umc/timeto/dailyLog/dto/DailyLogRequestDTO.java index 26f6859..d9bdab6 100644 --- a/src/main/java/com/umc/timeto/dailyLog/dto/DailyLogRequestDTO.java +++ b/src/main/java/com/umc/timeto/dailyLog/dto/DailyLogRequestDTO.java @@ -6,6 +6,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; +import java.time.LocalDate; + @Getter @NoArgsConstructor public class DailyLogRequestDTO { @@ -14,4 +16,6 @@ public class DailyLogRequestDTO { @Size(max = 255) private String answer3; + + private LocalDate date; } diff --git a/src/main/java/com/umc/timeto/dailyLog/entity/DailyLog.java b/src/main/java/com/umc/timeto/dailyLog/entity/DailyLog.java index 886a2fe..501ae7f 100644 --- a/src/main/java/com/umc/timeto/dailyLog/entity/DailyLog.java +++ b/src/main/java/com/umc/timeto/dailyLog/entity/DailyLog.java @@ -24,19 +24,19 @@ public class DailyLog { @Column(nullable = false) private Achievement answer2; // 1-5 계획 이행 - @Column(nullable = false) private String answer3; // 잘한 점과 아쉬운 점 @Column(nullable = false) - private LocalDate createdAt; + private LocalDate date; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; - public void update(Satisfaction answer1, Achievement answer2, String answer3) { + public void update(Satisfaction answer1, Achievement answer2, String answer3, LocalDate date) { this.answer1 = answer1; this.answer2 = answer2; this.answer3 = answer3; + this.date = date; } } diff --git a/src/main/java/com/umc/timeto/dailyLog/repository/DailyLogRepository.java b/src/main/java/com/umc/timeto/dailyLog/repository/DailyLogRepository.java index 3a73420..0d4701c 100644 --- a/src/main/java/com/umc/timeto/dailyLog/repository/DailyLogRepository.java +++ b/src/main/java/com/umc/timeto/dailyLog/repository/DailyLogRepository.java @@ -14,8 +14,7 @@ @Repository public interface DailyLogRepository extends JpaRepository { - Optional findByMemberAndCreatedAt(Member member, LocalDate createdAt); - List findByMemberAndCreatedAtBetween(Member member, LocalDate start, LocalDate end); + List findByMemberAndDateBetweenOrderByDateAscIdAsc(Member member, LocalDate start, LocalDate end); // 회원의 일지 전체 삭제 @Modifying(clearAutomatically = true, flushAutomatically = true) diff --git a/src/main/java/com/umc/timeto/dailyLog/serivce/DailyLogServiceImpl.java b/src/main/java/com/umc/timeto/dailyLog/serivce/DailyLogServiceImpl.java index 12b573b..cf44b65 100644 --- a/src/main/java/com/umc/timeto/dailyLog/serivce/DailyLogServiceImpl.java +++ b/src/main/java/com/umc/timeto/dailyLog/serivce/DailyLogServiceImpl.java @@ -28,16 +28,11 @@ public DailyLogResponseDTO saveLog(DailyLogRequestDTO dto, Long memberId) { Member member = memberRepository.findById(memberId) .orElseThrow(() -> new GlobalException(ErrorCode.MEMBER_NOT_FOUND)); // 에러 코드 수정 - LocalDate today = LocalDate.now(); - if (dailyLogRepository.findByMemberAndCreatedAt(member, today).isPresent()) { - throw new GlobalException(ErrorCode.DUPLICATE_DAILY_LOG); - } - DailyLog dailyLog = DailyLog.builder() .answer1(dto.getAnswer1()) .answer2(dto.getAnswer2()) .answer3(dto.getAnswer3()) - .createdAt(today) + .date(dto.getDate()) .member(member) .build(); @@ -48,7 +43,7 @@ public DailyLogResponseDTO saveLog(DailyLogRequestDTO dto, Long memberId) { savedLog.getAnswer1(), savedLog.getAnswer2(), savedLog.getAnswer3(), - savedLog.getCreatedAt() + savedLog.getDate() ); } @@ -61,9 +56,9 @@ public List getMonthlyLogs(int year, int month, Long memberI LocalDate start = LocalDate.of(year, month, 1); LocalDate end = start.withDayOfMonth(start.lengthOfMonth()); - return dailyLogRepository.findByMemberAndCreatedAtBetween(member, start, end) + return dailyLogRepository.findByMemberAndDateBetweenOrderByDateAscIdAsc(member, start, end) .stream() - .map(log -> new DailyLogMonthlyDTO(log.getId(), log.getCreatedAt(), log.getAnswer1())) + .map(log -> new DailyLogMonthlyDTO(log.getId(), log.getDate(), log.getAnswer1())) .toList(); } @@ -86,7 +81,7 @@ public DailyLogResponseDTO getDailyLog(Long logId, Long memberId) { dailyLog.getAnswer1(), dailyLog.getAnswer2(), dailyLog.getAnswer3(), - dailyLog.getCreatedAt() + dailyLog.getDate() ); } @@ -102,14 +97,14 @@ public DailyLogResponseDTO updateLog(Long logId, DailyLogRequestDTO dto, Long me throw new GlobalException(ErrorCode.LOG_FORBIDDEN); } - dailyLog.update(dto.getAnswer1(), dto.getAnswer2(), dto.getAnswer3()); + dailyLog.update(dto.getAnswer1(), dto.getAnswer2(), dto.getAnswer3(), dto.getDate()); return new DailyLogResponseDTO( dailyLog.getId(), dailyLog.getAnswer1(), dailyLog.getAnswer2(), dailyLog.getAnswer3(), - dailyLog.getCreatedAt() + dailyLog.getDate() ); } diff --git a/src/main/java/com/umc/timeto/global/apiPayload/code/ErrorCode.java b/src/main/java/com/umc/timeto/global/apiPayload/code/ErrorCode.java index 5fc3ffc..1599eaf 100644 --- a/src/main/java/com/umc/timeto/global/apiPayload/code/ErrorCode.java +++ b/src/main/java/com/umc/timeto/global/apiPayload/code/ErrorCode.java @@ -58,7 +58,6 @@ public enum ErrorCode { /** * 409 CONFLICT - 요청 충돌 */ - DUPLICATE_DAILY_LOG(HttpStatus.CONFLICT, "일지는 하루에 하나만 작성할 수 있습니다."), AUTH_MEMBER_DUPLICATE(HttpStatus.CONFLICT, "이미 가입된 회원입니다."), AUTH_EMAIL_DUPLICATE(HttpStatus.CONFLICT, "이미 사용 중인 이메일입니다."), AUTH_SOCIAL_ID_DUPLICATE(HttpStatus.CONFLICT, "이미 연결된 소셜 계정입니다."), From aa32f017c106fc9c2879576bbb2ee0b8c0183f63 Mon Sep 17 00:00:00 2001 From: egaeuni Date: Thu, 19 Feb 2026 15:17:15 +0900 Subject: [PATCH 2/2] =?UTF-8?q?:memo:=20Docs:=20Swaager=20=EB=AA=85?= =?UTF-8?q?=EC=84=B8=EC=84=9C=20=ED=83=80=EC=9D=B4=ED=8B=80=20=EB=B0=8F=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=20=EC=84=A4=EB=AA=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/umc/timeto/global/config/SwaggerConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/umc/timeto/global/config/SwaggerConfig.java b/src/main/java/com/umc/timeto/global/config/SwaggerConfig.java index 8f90704..635c3c8 100644 --- a/src/main/java/com/umc/timeto/global/config/SwaggerConfig.java +++ b/src/main/java/com/umc/timeto/global/config/SwaggerConfig.java @@ -20,8 +20,8 @@ public class SwaggerConfig { @Bean public OpenAPI openAPI() { Info info = new Info() - .title("ZERO-Helper API") //이름 - .description("당신의 평범한 일상이 취업 스펙이 되는 곳, Zero Helper"); //설명 + .title("timeto API") //이름 + .description("ADHD를 가진 개인을 지원하기 위해 설계된 태스크 관리 서비스, timeto"); //설명 Server localServer = new Server().url("/");