Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions refrigerator/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions refrigerator/.idea/modules/refrigerator.main.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ public class Recipe {
@JsonManagedReference
private List<RecipeSource> recipeSource = new ArrayList<>() ; // 여러 Source가 들어갈 수 있으니까 list로 수정

@OneToMany(mappedBy = "recipe", cascade = CascadeType.ALL, orphanRemoval = true,fetch = FetchType.LAZY)
@JsonManagedReference
private List<RecipeStep> recipeStep = new ArrayList<>();


@JoinColumn(name = "recipe_category")
@ManyToOne
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
@Entity
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package moja.refrigerator.aggregate.recipe;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import jakarta.persistence.*;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

@Data
@Entity
@Table(name = "tbl_recipe_step")
public class RecipeStep {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "recipe_step_pk")
private long recipeStepPk;

@Column(name = "recipe_step_order")
private int recipeStepOrder;

@Column(name = "recipe_step_content")
private String recipeStepContent;

@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JsonManagedReference
@JoinColumn(name = "recipe_Source_pk")
private RecipeSource recipeSources;

@ManyToOne
@JoinColumn(name = "recipe_pk")
@JsonBackReference
private Recipe recipe;

}
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,13 @@ public RecipeController(RecipeService recipeService) {
@PostMapping
public void createRecipe(
@RequestPart RecipeCreateRequest request
, @RequestPart (required =false) List<MultipartFile> files
,@RequestPart (name="recipeSources",required =false) List<MultipartFile> recipeSources
,@RequestPart (name="recipeStepSources",required =false) List<MultipartFile> recipeStepSources
){

recipeService.createRecipe(request
, files
, recipeSources
, recipeStepSources
);
}

Expand All @@ -52,9 +55,10 @@ public void deleteRecipe(@RequestParam long recipePk){
@PutMapping
public void updateRecipe(
@RequestPart RecipeUpdateRequest request
,@RequestPart (required =false) List<MultipartFile> files
,@RequestPart (name="recipeSources",required =false) List<MultipartFile> recipeSources
,@RequestPart (name="recipeStepSources",required =false) List<MultipartFile> recipeStepSources
){
recipeService.updateRecipe(request,files);
recipeService.updateRecipe(request,recipeSources,recipeStepSources);
}

@GetMapping("/recommend")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,18 @@
package moja.refrigerator.dto.recipe.request;

import lombok.Data;
import moja.refrigerator.aggregate.recipe.RecipeCategory;
import moja.refrigerator.aggregate.recipe.RecipeSource;
import moja.refrigerator.aggregate.user.User;
import moja.refrigerator.aggregate.recipe.RecipeStep;

import java.util.List;

@Data
public class RecipeCreateRequest {
private String recipeName;
private int recipeCookingTime;
private int recipeDifficulty;
private String recipeContent;
// private long recipeSource;
private int recipeCategoryPk;
private List<RecipeStepRequest> recipeSteps;
private long userPk;

// private long recipePk; // 자동 추가
// private String recipeCreateTime; //자동 추가
// private String recipeUpdateTime; //자동 추가
// private long recipeViews; // 조회 시 올리는 것으로
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package moja.refrigerator.dto.recipe.request;

import lombok.Data;

@Data
public class RecipeStepRequest {
private int recipeStepOrder; // JSON에 있는 필드와 이름 동일해야 함
private String recipeStepContent; // JSON의 recipeStepContent와 일치
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package moja.refrigerator.dto.recipe.request;

import lombok.Data;

@Data
public class RecipeStepUpdateRequest {
private Long recipeStepPk;
private int recipeStepOrder; // JSON에 있는 필드와 이름 동일해야 함
private String recipeStepContent; // JSON의 recipeStepContent와 일치
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

import lombok.Data;

import java.util.List;

@Data
public class RecipeUpdateRequest {
private long recipePk;
Expand All @@ -13,5 +15,6 @@ public class RecipeUpdateRequest {
private String recipeSource;
private String recipeCategory;
private String userPk;
private List<RecipeStepUpdateRequest> recipeSteps;

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import lombok.Data;
import moja.refrigerator.aggregate.recipe.RecipeCategory;
import moja.refrigerator.aggregate.recipe.RecipeSource;
import moja.refrigerator.aggregate.recipe.RecipeStep;
import moja.refrigerator.aggregate.user.User;

import java.time.LocalDateTime;
Expand All @@ -22,6 +23,7 @@ public class RecipeResponse {
private LocalDateTime recipeUpdateTime;

private List<RecipeSource> recipeSource;
private List<RecipeStep> recipeStep;
private User user;
private RecipeCategory recipeCategory;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package moja.refrigerator.repository.recipe;

import moja.refrigerator.aggregate.recipe.RecipeStep;
import org.springframework.data.jpa.repository.JpaRepository;

public interface RecipeStepRepository extends JpaRepository<RecipeStep, Long> {

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,16 @@

public interface RecipeService {
void createRecipe(RecipeCreateRequest request
,List<MultipartFile> files
,List<MultipartFile> recipeSources
,List<MultipartFile> recipeStepSources
);
List<RecipeResponse> getAllRecipes();
RecipeDetailResponse getRecipe(long id);
void deleteRecipe(long recipePk);
void updateRecipe(
RecipeUpdateRequest request
,List<MultipartFile> files
,List<MultipartFile> recipeSources
,List<MultipartFile> recipeStepSources
);
List<RecipeRecommendResponse> getRecommendedRecipes(Long userPk);
RecipeRecommendResponse getRandomRecipe();
Expand Down
Loading