From 1defdbbe0504c8360bce7c94b65f07ba956c7064 Mon Sep 17 00:00:00 2001 From: YoungJun Park Date: Mon, 18 Oct 2021 23:59:04 +0900 Subject: [PATCH] =?UTF-8?q?[#5]=20=EC=8A=B5=EA=B4=80=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20=EB=B9=84=EC=A6=88=EB=8B=88=EC=8A=A4=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EB=B0=8F=20NPE=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lazy/api/service/HabitService.java | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/api/src/main/java/com/teamnexters/lazy/api/service/HabitService.java b/api/src/main/java/com/teamnexters/lazy/api/service/HabitService.java index f2185d2..da76e7f 100644 --- a/api/src/main/java/com/teamnexters/lazy/api/service/HabitService.java +++ b/api/src/main/java/com/teamnexters/lazy/api/service/HabitService.java @@ -19,19 +19,40 @@ public class HabitService { /** * 습관 생성하기 * - * @param dto 습관 생성을 위한 DTO + * @param dto 습관 생성을 위한 DTO + * @param memIdx 회원 번호 index * @return 습관 생성 응답 */ @Transactional - public HabitDto.HabitRes create(HabitDto.AddHabitReq dto) { + public HabitDto.HabitRes create(HabitDto.AddHabitReq dto, Long memIdx) { // 습관 중복 검사 - if (isExistedHabit(dto.getMemIdx(), dto.getHabitName())) + if (isExistedHabit(memIdx, dto.getHabitName())) throw new HabitDuplicationException(dto.getHabitName()); - - Habit entity = habitRepository.save(dto.toEntity()); + Habit entity = dto.toEntity(); + entity.setMemIdx(memIdx); + habitRepository.save(entity); return new HabitDto.HabitRes(entity.getHabitIdx(), entity.getHabitName()); + } + + /** + * 습관 수정하기 + * + * @param dto 수정할 습관 DTO + * @return 수정된 습관 Response + */ + @Transactional + public HabitDto.HabitRes update(HabitDto.UpdateHabitReq dto) { + + Habit entity = habitRepository.getById(dto.getHabitIdx()); + entity.update(dto.getHabitName(), + dto.getHabitDetail(), + dto.getHabitCategory(), + dto.getNoticeState(), + dto.getNoticeTime()); + + return new HabitDto.HabitRes(entity.getHabitIdx(), entity.getHabitName()); } /** @@ -55,7 +76,7 @@ public Page getHabitList(Long memIdx, Pageable pageable) { */ @Transactional(readOnly = true) public boolean isExistedHabit(Long memIdx, String habitName) { - return habitRepository.findByMemIdxAndHabitName(memIdx, habitName).orElseGet(null) != null; + return habitRepository.findByMemIdxAndHabitName(memIdx, habitName).orElse(null) != null; } /**