From cced5b8f904d66f81544cc4ab392080fa2f808b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=99=8D=EB=B2=94?= Date: Tue, 10 Dec 2024 17:28:07 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=AC=EB=A3=8C=20=C3=AB=C3=A3=C2=84feat:=20?= =?UTF-8?q?=EB=A1=9D=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- refrigerator/.idea/dataSources.xml | 19 ++++++++++++ .../ingredient/IngredientCategory.java | 4 +-- .../ingredient/IngredientStorage.java | 4 +-- .../ingredient/IngredientController.java | 8 +++++ .../request/IngredientCreateRequest.java | 14 +++++++++ .../IngredientCategoryRepository.java | 9 ++++++ .../IngredientManagementRepository.java | 3 ++ .../IngredientStorageRepository.java | 9 ++++++ .../service/ingredient/IngredientService.java | 3 ++ .../ingredient/IngredientServiceImpl.java | 30 +++++++++++++++++++ 10 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 refrigerator/.idea/dataSources.xml create mode 100644 refrigerator/src/main/java/moja/refrigerator/dto/ingredient/request/IngredientCreateRequest.java create mode 100644 refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientCategoryRepository.java create mode 100644 refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientStorageRepository.java diff --git a/refrigerator/.idea/dataSources.xml b/refrigerator/.idea/dataSources.xml new file mode 100644 index 0000000..6ce6193 --- /dev/null +++ b/refrigerator/.idea/dataSources.xml @@ -0,0 +1,19 @@ + + + + + mysql.8 + true + true + $PROJECT_DIR$/src/main/resources/application.yml + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/refrigerator + + + + + + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/refrigerator/src/main/java/moja/refrigerator/aggregate/ingredient/IngredientCategory.java b/refrigerator/src/main/java/moja/refrigerator/aggregate/ingredient/IngredientCategory.java index 94f0113..56de8ce 100644 --- a/refrigerator/src/main/java/moja/refrigerator/aggregate/ingredient/IngredientCategory.java +++ b/refrigerator/src/main/java/moja/refrigerator/aggregate/ingredient/IngredientCategory.java @@ -11,8 +11,8 @@ public class IngredientCategory { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ingredient_category_pk") - private int IngredientCategoryPk; + private int ingredientCategoryPk; @Column(name = "ingredient_category") - private String IngredientCategory; + private String ingredientCategory; } diff --git a/refrigerator/src/main/java/moja/refrigerator/aggregate/ingredient/IngredientStorage.java b/refrigerator/src/main/java/moja/refrigerator/aggregate/ingredient/IngredientStorage.java index 0413b68..2dc7828 100644 --- a/refrigerator/src/main/java/moja/refrigerator/aggregate/ingredient/IngredientStorage.java +++ b/refrigerator/src/main/java/moja/refrigerator/aggregate/ingredient/IngredientStorage.java @@ -10,8 +10,8 @@ public class IngredientStorage { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ingredient_storage_pk") - private int IngredientStoragePk; + private int ingredientStoragePk; @Column(name = "ingredient_storage") - private String IngredientStorage; + private String ingredientStorage; } diff --git a/refrigerator/src/main/java/moja/refrigerator/controller/ingredient/IngredientController.java b/refrigerator/src/main/java/moja/refrigerator/controller/ingredient/IngredientController.java index 94315c0..fabffb3 100644 --- a/refrigerator/src/main/java/moja/refrigerator/controller/ingredient/IngredientController.java +++ b/refrigerator/src/main/java/moja/refrigerator/controller/ingredient/IngredientController.java @@ -1,7 +1,10 @@ package moja.refrigerator.controller.ingredient; +import moja.refrigerator.dto.ingredient.request.IngredientCreateRequest; import moja.refrigerator.service.ingredient.IngredientService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -14,4 +17,9 @@ public class IngredientController { public IngredientController(IngredientService ingredientService) { this.ingredientService = ingredientService; } + + @PostMapping + public void createIngredient(@RequestBody IngredientCreateRequest request) { + ingredientService.createIngredient(request); + } } diff --git a/refrigerator/src/main/java/moja/refrigerator/dto/ingredient/request/IngredientCreateRequest.java b/refrigerator/src/main/java/moja/refrigerator/dto/ingredient/request/IngredientCreateRequest.java new file mode 100644 index 0000000..ac63e4b --- /dev/null +++ b/refrigerator/src/main/java/moja/refrigerator/dto/ingredient/request/IngredientCreateRequest.java @@ -0,0 +1,14 @@ +package moja.refrigerator.dto.ingredient.request; + +import lombok.Data; + +@Data +public class IngredientCreateRequest { + private String ingredientName; + private String expirationDate; + private String registrationDate; + private int seasonDate; + +// private int ingredientCategoryPk; +// private int ingredientStoragePk; +} diff --git a/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientCategoryRepository.java b/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientCategoryRepository.java new file mode 100644 index 0000000..6ff4511 --- /dev/null +++ b/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientCategoryRepository.java @@ -0,0 +1,9 @@ +package moja.refrigerator.repository.ingredient; + +import moja.refrigerator.aggregate.ingredient.IngredientCategory; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface IngredientCategoryRepository extends JpaRepository { +} diff --git a/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientManagementRepository.java b/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientManagementRepository.java index c9619a4..7a6e9f3 100644 --- a/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientManagementRepository.java +++ b/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientManagementRepository.java @@ -2,6 +2,9 @@ import moja.refrigerator.aggregate.ingredient.IngredientManagement; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +@Repository public interface IngredientManagementRepository extends JpaRepository { } + diff --git a/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientStorageRepository.java b/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientStorageRepository.java new file mode 100644 index 0000000..67e6c36 --- /dev/null +++ b/refrigerator/src/main/java/moja/refrigerator/repository/ingredient/IngredientStorageRepository.java @@ -0,0 +1,9 @@ +package moja.refrigerator.repository.ingredient; + +import moja.refrigerator.aggregate.ingredient.IngredientStorage; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface IngredientStorageRepository extends JpaRepository { +} diff --git a/refrigerator/src/main/java/moja/refrigerator/service/ingredient/IngredientService.java b/refrigerator/src/main/java/moja/refrigerator/service/ingredient/IngredientService.java index 92b1ac0..419ec56 100644 --- a/refrigerator/src/main/java/moja/refrigerator/service/ingredient/IngredientService.java +++ b/refrigerator/src/main/java/moja/refrigerator/service/ingredient/IngredientService.java @@ -1,4 +1,7 @@ package moja.refrigerator.service.ingredient; +import moja.refrigerator.dto.ingredient.request.IngredientCreateRequest; + public interface IngredientService { + void createIngredient(IngredientCreateRequest request); } diff --git a/refrigerator/src/main/java/moja/refrigerator/service/ingredient/IngredientServiceImpl.java b/refrigerator/src/main/java/moja/refrigerator/service/ingredient/IngredientServiceImpl.java index 8dd1aeb..db6d42a 100644 --- a/refrigerator/src/main/java/moja/refrigerator/service/ingredient/IngredientServiceImpl.java +++ b/refrigerator/src/main/java/moja/refrigerator/service/ingredient/IngredientServiceImpl.java @@ -1,20 +1,50 @@ package moja.refrigerator.service.ingredient; +//import moja.refrigerator.aggregate.ingredient.IngredientCategory; +import moja.refrigerator.aggregate.ingredient.IngredientManagement; +//import moja.refrigerator.aggregate.ingredient.IngredientStorage; +import moja.refrigerator.dto.ingredient.request.IngredientCreateRequest; +//import moja.refrigerator.repository.ingredient.IngredientCategoryRepository; import moja.refrigerator.repository.ingredient.IngredientManagementRepository; +//import moja.refrigerator.repository.ingredient.IngredientStorageRepository; import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; @Service public class IngredientServiceImpl implements IngredientService{ private IngredientManagementRepository ingredientManagementRepository; +// private IngredientStorageRepository ingredientStorageRepository; +// private IngredientCategoryRepository ingredientCategoryRepository; private ModelMapper mapper; @Autowired public IngredientServiceImpl(IngredientManagementRepository ingredientManagementRepository, +// IngredientStorageRepository ingredientStorageRepository, +// IngredientCategoryRepository ingredientCategoryRepository, ModelMapper mapper) { this.ingredientManagementRepository = ingredientManagementRepository; +// this.ingredientStorageRepository = ingredientStorageRepository; +// this.ingredientCategoryRepository = ingredientCategoryRepository; this.mapper = mapper; } + + @Override + @Transactional + public void createIngredient(IngredientCreateRequest request) { + IngredientManagement ingredient = mapper.map(request, IngredientManagement.class); + +// IngredientCategory category = ingredientCategoryRepository.findById(request.getIngredientCategoryPk()) +// .orElseThrow(() -> new IllegalArgumentException("카테고리를 찾을 수 없습니다.")); +// +// IngredientStorage storage = ingredientStorageRepository.findById(request.getIngredientStoragePk()) +// .orElseThrow(() -> new IllegalArgumentException("저장소를 찾을 수 없습니다.")); +// +// ingredient.setIngredientCategory(category); +// ingredient.setIngredientStorage(storage); + + ingredientManagementRepository.save(ingredient); + } }