Skip to content

Commit

Permalink
[Merge&Conflict] 'develop'-> 'feature/filter'
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/main/java/com/mpnp/baechelin/review/repository/ReviewQueryRepository.java
  • Loading branch information
JSoi committed Jul 14, 2022
2 parents e095d4e + f5f89cb commit 26659f6
Show file tree
Hide file tree
Showing 15 changed files with 148 additions and 41 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.mpnp.baechelin.admin.controller;

import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequiredArgsConstructor
public class AdminController {
}
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
package com.mpnp.baechelin.store.dto.userRegisterStore;
package com.mpnp.baechelin.admin.dto;

import com.mpnp.baechelin.store.dto.userRegisterStore.UserRegisterStoreImgDto;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.NoArgsConstructor;

import java.util.List;

@Getter
public class UserRegisterStoreResponseDto {
@NoArgsConstructor
public class AdminResponseDto {
private String name;
private String address;
private String elevator;
private String toilet;
private String heightDifferent;
private String approach;
private List<UserRegisterStoreImgDto> userRegisterStoreImageList;
public UserRegisterStoreResponseDto(

@Builder
public AdminResponseDto(
String name,
String address,
String elevator,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.mpnp.baechelin.admin.repository;

import com.mpnp.baechelin.store.domain.UserRegisterStore;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface AdminRepository extends JpaRepository<UserRegisterStore, Integer> {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.mpnp.baechelin.admin.service;

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@Service
@RequiredArgsConstructor
public class AdminService {
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,25 @@ public void folder (@RequestBody FolderRequestDto folderRequestDto){
folderService.folder(folderRequestDto);
}

/* 폴더 삭제 -> 삭제 시 안에 담긴 모든 북마크가 삭제됨 */
/** 폴더 삭제 -> 삭제 시 안에 담긴 모든 북마크가 삭제됨 */

@DeleteMapping("/folder/{folderId}")
public void folderDelete (@PathVariable int folderId){

folderService.folderDelete(folderId);
}

/* 폴더 명 변경 */

/** 폴더 명 변경 */
@PutMapping("/folderUpdate/{folderId}")
public void folderUpdate (@PathVariable int folderId, @RequestParam String newFolderName){
System.out.println(newFolderName);

folderService.folderUpdate(folderId, newFolderName);
}

@PutMapping("/folderList/{userId}")
public List<FolderResponseDto> folderList (@PathVariable int userId){
/** 폴더 리스트 */
@PostMapping("/folderList")
public List<FolderResponseDto> folderList (int userId){

return folderService.folderList(userId);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.mpnp.baechelin.bookmark.domain;

import com.mpnp.baechelin.store.domain.Store;
import com.mpnp.baechelin.user.domain.User;
import com.mpnp.baechelin.util.TimeStamped;
import lombok.*;

Expand All @@ -26,4 +27,8 @@ public class Bookmark extends TimeStamped {
@JoinColumn(name="STORE_ID", nullable = false)
private Store storeId;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="USER_ID", nullable = false)
private User userId;

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import com.mpnp.baechelin.bookmark.domain.Bookmark;
import com.mpnp.baechelin.bookmark.domain.Folder;
import com.mpnp.baechelin.store.domain.StoreImage;
import lombok.*;

import java.util.ArrayList;
Expand All @@ -24,19 +25,39 @@ public FolderResponseDto(Folder folder) {
}

public static FolderResponseDto FolderDtoRes(Folder folder) {

/** 북마크의 정보를 담는 작업 */
List<List<String>> bookmarks = new ArrayList<>();

if(folder.getBookmarkList() != null) {
for (Bookmark bookmark : folder.getBookmarkList()) {
List<String> tempBookmarkList = new ArrayList<>();
tempBookmarkList.add(bookmark.getStoreId().getName());

String pointAvg = String.valueOf(bookmark.getStoreId().getPointAvg()); // 업장 별점
String name = bookmark.getStoreId().getName(); // 업장 이름
String address = bookmark.getStoreId().getAddress(); // 업장 주소
String category = bookmark.getStoreId().getCategory(); // 업장 카테고리
String PhoneNumber = bookmark.getStoreId().getPhoneNumber(); // 업장 전화번호

List<StoreImage> storeImageList = bookmark.getStoreId().getStoreImageList();// 업장 이미지 리스트
List<String> tempBookmarkList = new ArrayList<>(); // 정보를 담는 리스트

tempBookmarkList.add(name);
tempBookmarkList.add(pointAvg);
tempBookmarkList.add(address);
tempBookmarkList.add(category);
tempBookmarkList.add(PhoneNumber);
tempBookmarkList.add(storeImageList.get(0).getStoreImageUrl());

bookmarks.add(tempBookmarkList);

}
} else if(folder.getBookmarkList() == null) {

return FolderResponseDto.builder()
.folderName(folder.getFolderName())
.id(folder.getId())
.build();

}

return FolderResponseDto.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,29 @@ public ResponseEntity<List<ReviewResponseDto>> getStoreReview(@PathVariable int
return new ResponseEntity<>(reviewList, HttpStatus.OK);
}

/**
* 리뷰 작성
*/
/** 리뷰 작성 */
@PostMapping("/review")
public ResponseEntity<?> review(@ModelAttribute ReviewRequestDto reviewRequestDto,
@AuthenticationPrincipal User user) throws IOException {
if(user==null){
throw new IllegalArgumentException("NO USER");
throw new IllegalArgumentException("해당하는 회원 정보가 없습니다.");
}
reviewService.review(reviewRequestDto, user.getUsername());
return new ResponseEntity<>(HttpStatus.OK);
}

// /** 리뷰 수정 */
// @PatchMapping("/reviewUpdate/{reviewId}")
// public ResponseEntity<?> reviewUpdate(@ModelAttribute ReviewRequestDto reviewRequestDto,
// @AuthenticationPrincipal User user,
// @PathVariable int reviewId) throws IOException {
// if(user==null){
// throw new IllegalArgumentException("해당하는 회원 정보가 없습니다.");
// }
// reviewService.reviewUpdate(reviewRequestDto, user.getUsername(), reviewId);
// return new ResponseEntity<>(HttpStatus.OK);
// }

// TODO - 최근 등록한 리뷰 보여주기
// 반경 넓히기
@GetMapping("/recent-review")
Expand Down
18 changes: 16 additions & 2 deletions src/main/java/com/mpnp/baechelin/review/domain/Review.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Review extends TimeStamped {

@Id
Expand Down Expand Up @@ -48,11 +50,23 @@ public class Review extends TimeStamped {


public Review(ReviewRequestDto reviewRequestDto, Store store, User user) throws IOException {
this.point = reviewRequestDto.getPoint();
this.point = reviewRequestDto.getPoint();
this.userId = user;
this.content = reviewRequestDto.getContent();
this.storeId = store;
this.userId = user;
}

public void setImage(List<ReviewImage> reviewImageList){
this.reviewImageList = reviewImageList;
}
public void addSingleTag(Tag tag){
tag.setReview(this);
this.tagList.add(tag);
}

public void update(ReviewRequestDto reviewRequestDto){
this.point = reviewRequestDto.getPoint();
this.content = reviewRequestDto.getContent();
}

}
29 changes: 29 additions & 0 deletions src/main/java/com/mpnp/baechelin/review/service/ReviewService.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,33 @@ public List<ReviewResponseDto> getReview(int storeId) {
return reviewRepository.findAllByStoreId(store)
.stream().map(ReviewResponseDto::new).collect(Collectors.toList());
}

public void reviewUpdate(ReviewRequestDto reviewRequestDto, String socialId, int reviewId) throws IOException {
int storeId = reviewRequestDto.getStoreId();
User user = userRepository.findBySocialId(socialId);
Store store = storeRepository.findById(storeId).orElseThrow(() -> new IllegalArgumentException("해당하는 업장이 존재하지 않습니다."));

// 리뷰이미지 변환
List<ReviewImage> reviewImageUrlList = new ArrayList<>();
List<MultipartFile> imageFileList = reviewRequestDto.getImageFile();
// awsS3Manager.deleteFile();

for (MultipartFile reviewImage : imageFileList) {
reviewImageUrlList.add(ReviewImage.builder().reviewImageUrl(awsS3Manager.uploadFile(reviewImage)).build());
}


Review review = reviewRepository.findById(reviewId).orElseThrow(() -> new IllegalArgumentException("해당하는 리뷰가 없습니다."));
List<String> tagList = reviewRequestDto.getTagList();

review.update(reviewRequestDto);
for (String tagObj : tagList) {
Tag tag = new Tag(tagObj, review);
review.addSingleTag(tag);
tagRepository.save(tag);
}

reviewRepository.save(review);
storeRepository.save(store.updatePointAvg(reviewRequestDto.getPoint()));
}
}
1 change: 0 additions & 1 deletion src/main/java/com/mpnp/baechelin/store/domain/Store.java
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ public class Store {
@OneToMany(mappedBy = "store", cascade = CascadeType.ALL, orphanRemoval = true)
private List<StoreImage> storeImageList = new ArrayList<>();


@OneToMany(mappedBy = "storeId", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Review> reviewList = new ArrayList<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,18 +45,11 @@ public StoreResponseDto storeToResDto(Store store, User user) {

List<Review> reviewList = store.getReviewList();

// List<Review> -> List<ReviewResponseDto>
List<ReviewResponseDto> reviewResponseList = new ArrayList<>();

double totalPoint = 0;
double pointAvg;
if (reviewList.size() > 0) {
for (Review review : reviewList) {
totalPoint += review.getPoint();

// Review entity -> dto
ReviewResponseDto reviewResponse = new ReviewResponseDto(review);
reviewResponseList.add(reviewResponse);
}
// 소숫점 첫째자리 수까지 별점 평균 구하기
pointAvg = Double.parseDouble(String.format("%.1f", totalPoint / reviewList.size()));
Expand All @@ -65,18 +58,18 @@ public StoreResponseDto storeToResDto(Store store, User user) {
pointAvg = 0;
}

// // TODO 북마크 여부 가져오기
// //
// for (Bookmark bookmark : store.getBookmarkList()) {
//
// }
// if (user == null) {
//
// } else {
//
// }


String isBookmark = "";
// TODO 북마크 여부 가져오기
for (Bookmark bookmark : store.getBookmarkList()) {
if (user == null) {
isBookmark = "N";
} else {
if (bookmark.getStoreId().getId() == store.getId()
&& bookmark.getUserId().getSocialId().equals(user.getUsername())) {
isBookmark = "Y";
}
}
}
return StoreResponseDto.builder()
.storeId(store.getId())
.category(store.getCategory())
Expand All @@ -92,7 +85,7 @@ public StoreResponseDto storeToResDto(Store store, User user) {
.approach(store.getApproach())
.storeImgList(storeImageList)
.pointAvg(pointAvg)
.IsBookmark(null)
.IsBookmark(isBookmark)
.build();
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/mpnp/baechelin/tag/domain/Tag.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ public class Tag extends TimeStamped {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
int id;
private int id;

@Column
String tag;
private String tag;
//jpa를 리스트/JSON 집어넣는 방법?

@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/com/mpnp/baechelin/user/domain/User.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.mpnp.baechelin.user.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.mpnp.baechelin.bookmark.domain.Bookmark;
import com.mpnp.baechelin.bookmark.domain.Folder;
import com.mpnp.baechelin.oauth.entity.ProviderType;
import com.mpnp.baechelin.oauth.entity.RoleType;
Expand Down Expand Up @@ -55,6 +56,9 @@ public class User extends TimeStamped {
@OneToMany(mappedBy = "userId", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Folder> folderList;

@OneToMany(mappedBy = "userId", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Bookmark> bookmarkList;

@OneToMany(mappedBy = "userId", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Review> reviewList;

Expand All @@ -75,4 +79,4 @@ public User(String socialId,
this.providerType = providerType;
this.roleType = roleType;
}
}
}

0 comments on commit 26659f6

Please sign in to comment.