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
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package moja.refrigerator.controller.ingredient;

import moja.refrigerator.dto.ingredient.request.IngredientCreateRequest;
import moja.refrigerator.dto.ingredient.request.IngredientUpdateRequest;
import moja.refrigerator.dto.ingredient.request.RequestRegistIngredientBookmark;
import moja.refrigerator.dto.ingredient.response.IngredientResponse;
import moja.refrigerator.dto.ingredient.response.ResponseRegistIngredientBookmark;
import moja.refrigerator.dto.ingredient.request.*;
import moja.refrigerator.dto.ingredient.response.*;
import moja.refrigerator.service.ingredient.IngredientService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
Expand Down Expand Up @@ -59,4 +56,26 @@ public ResponseEntity<ResponseRegistIngredientBookmark> createIngredientBookmark
return ResponseEntity.status(HttpStatus.CREATED).body(responseBookmark);
}

@GetMapping("/bookmark")
public ResponseEntity<List<ResponseUsersIngredientBookmarkLists>> getUsersIngredientBookmarkList(
@RequestBody RequestIngredientBookmarkLists requestBookmarkLists
) {
List<ResponseUsersIngredientBookmarkLists> responseBookmarkLists =
ingredientService.getUsersIngredientBookmarkLists(requestBookmarkLists);

return ResponseEntity.status(HttpStatus.OK).body(responseBookmarkLists);
}

@DeleteMapping("/bookmark/delete")
public ResponseEntity<ResponseDeleteIngredientBookmark> deleteIngredientBookmark(
@RequestBody RequestDeleteIngredientBookmark requestDeleteBookmark
) {

ResponseDeleteIngredientBookmark responseDeleteIngredientBookmark =
ingredientService.deleteIngredientBookmark(requestDeleteBookmark);

System.out.println(responseDeleteIngredientBookmark.getMessage());
return ResponseEntity.status(HttpStatus.OK).body(responseDeleteIngredientBookmark);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package moja.refrigerator.dto.ingredient.request;

import lombok.Data;

@Data
public class RequestDeleteIngredientBookmark {
private long ingredientBookmarkPk;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package moja.refrigerator.dto.ingredient.request;

import lombok.Data;

@Data
public class RequestIngredientBookmarkLists {
private long userPk;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package moja.refrigerator.dto.ingredient.response;

import lombok.Data;

@Data
public class ResponseDeleteIngredientBookmark {
String message;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package moja.refrigerator.dto.ingredient.response;

import lombok.Data;
import moja.refrigerator.aggregate.ingredient.IngredientManagement;

@Data
public class ResponseUsersIngredientBookmarkLists {
private IngredientManagement ingredientManagement;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@
import moja.refrigerator.aggregate.ingredient.IngredientBookmark;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface IngredientBookmarkRepository extends JpaRepository<IngredientBookmark, Long> {
List<IngredientBookmark> findAllByUser_UserPk(long userPk);
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package moja.refrigerator.service.ingredient;

import moja.refrigerator.dto.ingredient.request.IngredientCreateRequest;
import moja.refrigerator.dto.ingredient.request.IngredientUpdateRequest;
import moja.refrigerator.dto.ingredient.request.RequestRegistIngredientBookmark;
import moja.refrigerator.dto.ingredient.response.IngredientResponse;
import moja.refrigerator.dto.ingredient.response.ResponseRegistIngredientBookmark;
import moja.refrigerator.dto.ingredient.request.*;
import moja.refrigerator.dto.ingredient.response.*;

import java.util.List;

Expand All @@ -18,4 +15,9 @@ public interface IngredientService {
List<IngredientResponse> getIngredient(); // 재료 조회 메서드
void updateIngredient(IngredientUpdateRequest request);
void deleteIngredient(long ingredientManagementPk);

List<ResponseUsersIngredientBookmarkLists> getUsersIngredientBookmarkLists(
RequestIngredientBookmarkLists requestBookmarkLists);

ResponseDeleteIngredientBookmark deleteIngredientBookmark(RequestDeleteIngredientBookmark requestDeleteBookmark);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,8 @@
import moja.refrigerator.aggregate.ingredient.IngredientManagement;
import moja.refrigerator.aggregate.ingredient.IngredientStorage;
import moja.refrigerator.aggregate.user.User;
import moja.refrigerator.dto.ingredient.request.IngredientCreateRequest;
import moja.refrigerator.dto.ingredient.request.IngredientUpdateRequest;
import moja.refrigerator.dto.ingredient.request.RequestRegistIngredientBookmark;
import moja.refrigerator.dto.ingredient.response.IngredientResponse;
import moja.refrigerator.dto.ingredient.response.ResponseRegistIngredientBookmark;
import moja.refrigerator.dto.ingredient.request.*;
import moja.refrigerator.dto.ingredient.response.*;
import moja.refrigerator.repository.ingredient.IngredientBookmarkRepository;
import moja.refrigerator.repository.ingredient.IngredientCategoryRepository;
import moja.refrigerator.repository.ingredient.IngredientManagementRepository;
Expand All @@ -23,6 +20,7 @@
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

@Service
Expand Down Expand Up @@ -134,5 +132,40 @@ public ResponseRegistIngredientBookmark createIngredientBookmark(RequestRegistIn
return mapper.map(ingredientBookmark, ResponseRegistIngredientBookmark.class);
}

@Override
public List<ResponseUsersIngredientBookmarkLists> getUsersIngredientBookmarkLists(
RequestIngredientBookmarkLists requestBookmarkLists) {
List<IngredientBookmark> ingredientBookmarkLists = ingredientBookmarkRepository
.findAllByUser_UserPk(requestBookmarkLists.getUserPk());

mapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT);

return ingredientBookmarkLists.stream().map(ingredientBookmark -> mapper
.map(ingredientBookmark, ResponseUsersIngredientBookmarkLists.class))
.collect(Collectors.toList());
}

@Override
public ResponseDeleteIngredientBookmark deleteIngredientBookmark(
RequestDeleteIngredientBookmark requestDeleteBookmark) {
IngredientBookmark ingredientBookmark = ingredientBookmarkRepository
.findById(requestDeleteBookmark.getIngredientBookmarkPk())
.orElseThrow(() -> new EntityNotFoundException("즐겨찾기를 찾을 수 없습니다."));

ResponseDeleteIngredientBookmark response = new ResponseDeleteIngredientBookmark();

try {
ingredientBookmarkRepository.deleteById(requestDeleteBookmark.getIngredientBookmarkPk());
String message = ingredientBookmark.getIngredientManagement()
.getIngredientName() + " 재료의 즐겨찾기를 삭제했습니다";
response.setMessage(message);
return response;
} catch (Exception e) {
String message =
ingredientBookmark.getIngredientManagement()
.getIngredientName() + " 재료의 즐겨찾기를 삭제 실패했습니다";
response.setMessage(message);
return response;
}
}
}