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);
+ }
}