diff --git a/backend/pium/src/main/java/com/official/pium/controller/PetPlantController.java b/backend/pium/src/main/java/com/official/pium/controller/PetPlantController.java index 3f6f0fa9..326a19df 100644 --- a/backend/pium/src/main/java/com/official/pium/controller/PetPlantController.java +++ b/backend/pium/src/main/java/com/official/pium/controller/PetPlantController.java @@ -36,8 +36,8 @@ public class PetPlantController { @GetMapping("/{id}") public ResponseEntity read( - @PathVariable @Positive(message = "반려 식물 ID는 1이상의 값이어야 합니다.") Long id, - @Auth Member member + @PathVariable @Positive(message = "반려 식물 ID는 1이상의 값이어야 합니다.") Long id, + @Auth Member member ) { PetPlantResponse petPlantResponse = petPlantService.read(id, member); return ResponseEntity.ok(petPlantResponse); @@ -45,9 +45,9 @@ public ResponseEntity read( @PostMapping(consumes = {MediaType.MULTIPART_FORM_DATA_VALUE, MediaType.APPLICATION_JSON_VALUE}) public ResponseEntity create( - @RequestPart(name = "request") @Valid PetPlantCreateRequest request, - @RequestPart(name = "image", required = false) MultipartFile multipartFile, - @Auth Member member + @RequestPart(name = "request") @Valid PetPlantCreateRequest request, + @RequestPart(name = "image", required = false) MultipartFile multipartFile, + @Auth Member member ) { PetPlantResponse petPlantResponse = petPlantService.create(request, multipartFile, member); return ResponseEntity.created(URI.create("/pet-plants/" + petPlantResponse.getId())).build(); @@ -61,10 +61,10 @@ public ResponseEntity>> readAll(@Auth @PatchMapping(path = "/{id}", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE, MediaType.APPLICATION_JSON_VALUE}) public ResponseEntity update( - @PathVariable @Positive(message = "반려 식물 ID는 1이상의 값이어야 합니다.") Long id, - @RequestPart(name = "request") @Valid PetPlantUpdateRequest petPlantUpdateRequest, - @RequestPart(name = "image", required = false) MultipartFile multipartFile, - @Auth Member member + @PathVariable @Positive(message = "반려 식물 ID는 1이상의 값이어야 합니다.") Long id, + @RequestPart(name = "request") @Valid PetPlantUpdateRequest petPlantUpdateRequest, + @RequestPart(name = "image", required = false) MultipartFile multipartFile, + @Auth Member member ) { petPlantService.update(id, petPlantUpdateRequest, multipartFile, member); return ResponseEntity.ok().build(); @@ -72,8 +72,8 @@ public ResponseEntity update( @DeleteMapping("/{id}") public ResponseEntity delete( - @PathVariable @Positive(message = "반려 식물 ID는 1이상의 값이어야 합니다.") Long id, - @Auth Member member + @PathVariable @Positive(message = "반려 식물 ID는 1이상의 값이어야 합니다.") Long id, + @Auth Member member ) { petPlantService.delete(id, member); return ResponseEntity.noContent().build(); diff --git a/backend/pium/src/main/java/com/official/pium/repository/DictionaryPlantRepository.java b/backend/pium/src/main/java/com/official/pium/repository/DictionaryPlantRepository.java index 6814c64f..e5297f35 100644 --- a/backend/pium/src/main/java/com/official/pium/repository/DictionaryPlantRepository.java +++ b/backend/pium/src/main/java/com/official/pium/repository/DictionaryPlantRepository.java @@ -3,8 +3,11 @@ import com.official.pium.domain.DictionaryPlant; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; public interface DictionaryPlantRepository extends JpaRepository { - List findDictionaryPlantsByClassification_NameContains(String name); + @Query("SELECT dp FROM DictionaryPlant dp WHERE dp.classification.name LIKE %:name%") + List searchDictionaryPlantByName(@Param("name") String name); } diff --git a/backend/pium/src/main/java/com/official/pium/repository/PetPlantCustomRepositoryImpl.java b/backend/pium/src/main/java/com/official/pium/repository/PetPlantCustomRepositoryImpl.java index 1432878f..42417b49 100644 --- a/backend/pium/src/main/java/com/official/pium/repository/PetPlantCustomRepositoryImpl.java +++ b/backend/pium/src/main/java/com/official/pium/repository/PetPlantCustomRepositoryImpl.java @@ -30,7 +30,7 @@ public List findAllByWaterNotification(LocalDate date) { .from(petPlant) .join(petPlant.member, member) .fetchJoin() - .where(petPlant.waterDate.nextWaterDate.eq(date), member.deviceToken.isNotNull()) + .where(petPlant.waterDetail.nextWaterDate.eq(date), member.deviceToken.isNotNull()) .fetch(); } } diff --git a/backend/pium/src/main/java/com/official/pium/service/DictionaryPlantService.java b/backend/pium/src/main/java/com/official/pium/service/DictionaryPlantService.java index ec49dd18..b0cb5f11 100644 --- a/backend/pium/src/main/java/com/official/pium/service/DictionaryPlantService.java +++ b/backend/pium/src/main/java/com/official/pium/service/DictionaryPlantService.java @@ -30,7 +30,7 @@ public DictionaryPlantResponse read(Long id) { } public DataResponse> search(String name) { - List dictionaryPlants = dictionaryPlantRepository.findDictionaryPlantsByClassification_NameContains( + List dictionaryPlants = dictionaryPlantRepository.searchDictionaryPlantByName( name); List dictionaryPlantSearchResponses = dictionaryPlants.stream() diff --git a/backend/pium/src/main/java/com/official/pium/service/PetPlantService.java b/backend/pium/src/main/java/com/official/pium/service/PetPlantService.java index 62c4008a..bc4d2a95 100644 --- a/backend/pium/src/main/java/com/official/pium/service/PetPlantService.java +++ b/backend/pium/src/main/java/com/official/pium/service/PetPlantService.java @@ -87,7 +87,7 @@ private PetPlant createPetPlant( .petPlantState(request.toPetPlantState()) .birthDate(request.getBirthDate()) .waterCycle(request.getWaterCycle()) - .waterDate(request.toWaterDate()) + .waterDetail(request.toWaterDate()) .build(); } diff --git a/backend/pium/src/main/java/com/official/pium/service/ReminderService.java b/backend/pium/src/main/java/com/official/pium/service/ReminderService.java index 788f5748..b0bc64d8 100644 --- a/backend/pium/src/main/java/com/official/pium/service/ReminderService.java +++ b/backend/pium/src/main/java/com/official/pium/service/ReminderService.java @@ -26,6 +26,8 @@ @RequiredArgsConstructor public class ReminderService { + public static final String SORT_CONDITION = "waterDetail_nextWaterDate"; + private final PetPlantRepository petPlantRepository; private final ApplicationEventPublisher publisher; @@ -63,7 +65,7 @@ private void checkOwner(PetPlant petPlant, Member member) { public DataResponse> readAll(Member member) { List petPlants = petPlantRepository.findAllByMemberId(member.getId(), - Sort.by(Direction.ASC, "waterDate_nextWaterDate")); + Sort.by(Direction.ASC, SORT_CONDITION)); List reminderResponses = petPlants.stream() .map(petPlant -> ReminderResponse.of( diff --git a/backend/pium/src/test/java/com/official/pium/domain/HistoryTest.java b/backend/pium/src/test/java/com/official/pium/domain/HistoryTest.java index 4dc66c1b..885ee8ec 100644 --- a/backend/pium/src/test/java/com/official/pium/domain/HistoryTest.java +++ b/backend/pium/src/test/java/com/official/pium/domain/HistoryTest.java @@ -81,7 +81,7 @@ private History generateHistory(LocalDate lastWaterDate) { ) .waterCycle(5) .birthDate(LocalDate.of(2021, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(lastWaterDate) .nextWaterDate(lastWaterDate.plusDays(5)) diff --git a/backend/pium/src/test/java/com/official/pium/domain/PetPlantTest.java b/backend/pium/src/test/java/com/official/pium/domain/PetPlantTest.java index 3be26811..254a7596 100644 --- a/backend/pium/src/test/java/com/official/pium/domain/PetPlantTest.java +++ b/backend/pium/src/test/java/com/official/pium/domain/PetPlantTest.java @@ -57,7 +57,7 @@ class PetPlantTest { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(LocalDate.of(2022, 7, 1)) .nextWaterDate(LocalDate.of(2022, 7, 8)) @@ -120,7 +120,7 @@ class 반려_식물_정보_수정 { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(LocalDate.of(2022, 7, 1)) .nextWaterDate(LocalDate.now().minusDays(3)) @@ -358,7 +358,7 @@ class 반려_식물_정보_수정 { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(LocalDate.of(2022, 7, 1)) .nextWaterDate(baseDate.minusDays(days)) @@ -389,7 +389,7 @@ class 반려_식물_정보_수정 { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(LocalDate.of(2022, 7, 1)) .nextWaterDate(LocalDate.now()) @@ -419,7 +419,7 @@ class 반려_식물_정보_수정 { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate(WaterDetail.builder() + .waterDetail(WaterDetail.builder() .lastWaterDate(LocalDate.of(2022, 7, 1)) .nextWaterDate(LocalDate.now().plusDays(days)) .build()) @@ -460,7 +460,7 @@ class 반려_식물_정보_수정 { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(LocalDate.of(2022, 7, 1)) .nextWaterDate(now.plusDays(days)) @@ -537,7 +537,7 @@ class 반려_식물_정보_수정 { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(LocalDate.of(2023, 7, 1)) .nextWaterDate(LocalDate.of(2023, 7, 17)) @@ -564,7 +564,7 @@ class 반려_식물_정보_수정 { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(LocalDate.of(2023, 7, 1)) .nextWaterDate(LocalDate.of(2023, 7, 17)) @@ -592,7 +592,7 @@ class 반려_식물_정보_수정 { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(lastWaterDate) .nextWaterDate(LocalDate.of(2022, 7, 17)) @@ -620,7 +620,7 @@ class 반려_식물_정보_수정 { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(lastWaterDate) .nextWaterDate(LocalDate.of(2022, 7, 17)) diff --git a/backend/pium/src/test/java/com/official/pium/fixture/PetPlantFixture.java b/backend/pium/src/test/java/com/official/pium/fixture/PetPlantFixture.java index 773521de..bf6b239d 100644 --- a/backend/pium/src/test/java/com/official/pium/fixture/PetPlantFixture.java +++ b/backend/pium/src/test/java/com/official/pium/fixture/PetPlantFixture.java @@ -30,7 +30,7 @@ public class PetPlantFixture { ) .waterCycle(7) .birthDate(LocalDate.of(2022, 7, 1)) - .waterDate( + .waterDetail( WaterDetail.builder() .lastWaterDate(LocalDate.of(2022, 7, 1)) .nextWaterDate(LocalDate.of(2022, 7, 8)) diff --git a/backend/pium/src/test/java/com/official/pium/repository/GardenRepositoryTest.java b/backend/pium/src/test/java/com/official/pium/repository/GardenRepositoryTest.java index 1e7f86e1..ab9db738 100644 --- a/backend/pium/src/test/java/com/official/pium/repository/GardenRepositoryTest.java +++ b/backend/pium/src/test/java/com/official/pium/repository/GardenRepositoryTest.java @@ -177,7 +177,7 @@ private PetPlant createPetPlant() { .build() ) .birthDate(LocalDate.of(2020, 1, 3)) - .waterDate( + .waterDetail( WaterDetail.builder() .nextWaterDate(LocalDate.of(2020, 1, 3)) .lastWaterDate(LocalDate.of(2020, 1, 3)) diff --git a/backend/pium/src/test/java/com/official/pium/repository/HistoryRepositoryTest.java b/backend/pium/src/test/java/com/official/pium/repository/HistoryRepositoryTest.java index 17572cb0..23791f29 100644 --- a/backend/pium/src/test/java/com/official/pium/repository/HistoryRepositoryTest.java +++ b/backend/pium/src/test/java/com/official/pium/repository/HistoryRepositoryTest.java @@ -168,7 +168,7 @@ private PetPlant savePetPlant(Member member, DictionaryPlant dictionaryPlant) { .build() ) .birthDate(LocalDate.of(2021, 6, 4)) - .waterDate( + .waterDetail( WaterDetail.builder() .nextWaterDate(LocalDate.of(2021, 6, 4)) .lastWaterDate(LocalDate.of(2021, 6, 4)) diff --git a/backend/pium/src/test/java/com/official/pium/repository/PetPlantRepositoryTest.java b/backend/pium/src/test/java/com/official/pium/repository/PetPlantRepositoryTest.java index 7f8fddb9..9ed3a5a8 100644 --- a/backend/pium/src/test/java/com/official/pium/repository/PetPlantRepositoryTest.java +++ b/backend/pium/src/test/java/com/official/pium/repository/PetPlantRepositoryTest.java @@ -87,7 +87,7 @@ private PetPlant createPetPlant() { .build() ) .birthDate(LocalDate.of(2020, 1, 3)) - .waterDate( + .waterDetail( WaterDetail.builder() .nextWaterDate(LocalDate.of(2020, 1, 3)) .lastWaterDate(LocalDate.of(2020, 1, 3)) diff --git a/backend/pium/src/test/java/com/official/pium/service/ReminderServiceTest.java b/backend/pium/src/test/java/com/official/pium/service/ReminderServiceTest.java index 1b22a5e3..96693f88 100644 --- a/backend/pium/src/test/java/com/official/pium/service/ReminderServiceTest.java +++ b/backend/pium/src/test/java/com/official/pium/service/ReminderServiceTest.java @@ -231,7 +231,7 @@ private PetPlant savePetPlantWithNextWaterDate(LocalDate nextWaterDate) { .wind("testWind") .build()) .birthDate(LocalDate.of(2000, 7, 1)) - .waterDate(WaterDetail.builder() + .waterDetail(WaterDetail.builder() .nextWaterDate(nextWaterDate) .lastWaterDate(LocalDate.of(2022, 7, 1)) .build()) diff --git a/backend/pium/src/test/java/com/official/pium/support/PetPlantSupport.java b/backend/pium/src/test/java/com/official/pium/support/PetPlantSupport.java index 23f36d06..ee51c8dc 100644 --- a/backend/pium/src/test/java/com/official/pium/support/PetPlantSupport.java +++ b/backend/pium/src/test/java/com/official/pium/support/PetPlantSupport.java @@ -70,7 +70,7 @@ public PetPlant build() { .build() ) .birthDate(LocalDate.of(2000, 6, 14)) - .waterDate( + .waterDetail( WaterDetail.builder() .nextWaterDate(LocalDate.of(2020, 2, 3)) .lastWaterDate(LocalDate.of(2022, 3, 4))