diff --git a/src/main/java/com/cocos/cocos/api/pet/service/PetService.java b/src/main/java/com/cocos/cocos/api/pet/service/PetService.java index 421a2ef..05651b5 100644 --- a/src/main/java/com/cocos/cocos/api/pet/service/PetService.java +++ b/src/main/java/com/cocos/cocos/api/pet/service/PetService.java @@ -79,8 +79,8 @@ public void addPet(final PetCreateRequest petCreateRequest, final Long memberId) } private void validatePetDiseases(List diseaseIds) { - List validDiseaseIds = petDiseaseRepository.findAllById(diseaseIds).stream() - .map(PetDisease::getId) + List validDiseaseIds = diseaseRepository.findByIdIn(diseaseIds).stream() + .map(Disease::getId) .toList(); List invalidDiseaseIds = diseaseIds.stream() @@ -93,8 +93,8 @@ private void validatePetDiseases(List diseaseIds) { } private void validatePetSymptoms(List symptomIds) { - List validSymptomIds = petSymptomRepository.findAllById(symptomIds).stream() - .map(PetSymptom::getId) + List validSymptomIds = symptomRepository.findByIdIn(symptomIds).stream() + .map(Symptom::getId) .toList(); List invalidSymptomIds = symptomIds.stream() @@ -128,8 +128,10 @@ public void updatePet(final PetUpdateRequest petUpdateRequest, final Long petId, if (!pet.getMemberId().equals(memberId)) { throw new CocosException(FailMessage.FORBIDDEN_PET_UPDATE); } - if (!breedRepository.existsById(petUpdateRequest.breedId())) { - throw new CocosException(FailMessage.NOT_FOUND_BREED); + if (petUpdateRequest.breedId() != null) { + if (!breedRepository.existsById(petUpdateRequest.breedId())) { + throw new CocosException(FailMessage.NOT_FOUND_BREED); + } } pet.updateFields(petUpdateRequest.name(), petUpdateRequest.gender(), petUpdateRequest.age(), petUpdateRequest.breedId()); diff --git a/src/main/java/com/cocos/cocos/db/disease/repository/DiseaseRepository.java b/src/main/java/com/cocos/cocos/db/disease/repository/DiseaseRepository.java index 2972450..7c5aab8 100644 --- a/src/main/java/com/cocos/cocos/db/disease/repository/DiseaseRepository.java +++ b/src/main/java/com/cocos/cocos/db/disease/repository/DiseaseRepository.java @@ -10,4 +10,5 @@ public interface DiseaseRepository extends JpaRepository { List findAllByBodyId(final Long bodyId); + List findByIdIn(final List ids); } diff --git a/src/main/java/com/cocos/cocos/db/symptom/repository/SymptomRepository.java b/src/main/java/com/cocos/cocos/db/symptom/repository/SymptomRepository.java index aab4ebc..65da91f 100644 --- a/src/main/java/com/cocos/cocos/db/symptom/repository/SymptomRepository.java +++ b/src/main/java/com/cocos/cocos/db/symptom/repository/SymptomRepository.java @@ -10,4 +10,5 @@ public interface SymptomRepository extends JpaRepository { List findAllByBodyId(final Long BodyId); + List findByIdIn(final List ids); }