From fe1a5cbda87011a91901b29aa8ceaa5529f88a3b Mon Sep 17 00:00:00 2001 From: Anna-Jin Date: Mon, 11 Jul 2022 17:24:53 +0900 Subject: [PATCH] =?UTF-8?q?#19=20[Done]=20=EC=9C=A0=EC=A0=80=20=EC=97=85?= =?UTF-8?q?=EC=9E=A5=20=EB=93=B1=EB=A1=9D=20=EA=B5=AC=ED=98=84=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/controller/UserRegisterStoreController.java | 10 +++++++--- .../mpnp/baechelin/store/domain/UserRegisterStore.java | 10 +++++++++- .../store/service/UserRegisterStoreService.java | 8 +++++++- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/mpnp/baechelin/store/controller/UserRegisterStoreController.java b/src/main/java/com/mpnp/baechelin/store/controller/UserRegisterStoreController.java index 6f711c8..23201a8 100644 --- a/src/main/java/com/mpnp/baechelin/store/controller/UserRegisterStoreController.java +++ b/src/main/java/com/mpnp/baechelin/store/controller/UserRegisterStoreController.java @@ -2,11 +2,11 @@ import com.mpnp.baechelin.store.dto.userRegisterStore.UserRegisterStoreRequestDto; import com.mpnp.baechelin.store.service.UserRegisterStoreService; -import com.mpnp.baechelin.user.entity.user.User; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.security.core.userdetails.User; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -26,8 +26,12 @@ public class UserRegisterStoreController { */ @PostMapping("/register") public ResponseEntity registerStore( - @ModelAttribute UserRegisterStoreRequestDto userRegisterStoreRequestDto) { - userRegisterStoreService.registerStore(userRegisterStoreRequestDto); + @ModelAttribute UserRegisterStoreRequestDto userRegisterStoreRequestDto, + @AuthenticationPrincipal User userDetails) { + + userRegisterStoreService.registerStore(userRegisterStoreRequestDto, userDetails.getUsername()); return new ResponseEntity<>("업장 등록 성공", HttpStatus.OK); } + + } diff --git a/src/main/java/com/mpnp/baechelin/store/domain/UserRegisterStore.java b/src/main/java/com/mpnp/baechelin/store/domain/UserRegisterStore.java index 244c78e..669e894 100644 --- a/src/main/java/com/mpnp/baechelin/store/domain/UserRegisterStore.java +++ b/src/main/java/com/mpnp/baechelin/store/domain/UserRegisterStore.java @@ -1,5 +1,6 @@ package com.mpnp.baechelin.store.domain; +import com.mpnp.baechelin.user.entity.user.User; import com.mpnp.baechelin.util.TimeStamped; import lombok.Builder; import lombok.Getter; @@ -35,9 +36,14 @@ public class UserRegisterStore extends TimeStamped { @Column(nullable = false, length = 1) private String approach; + // 연관관계 매핑 @OneToMany(mappedBy = "userRegisterStore", cascade = CascadeType.ALL, orphanRemoval = true) private List userRegisterStoreImgList; + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "USER_ID", nullable = false) + private User user; + @Builder public UserRegisterStore( String name, @@ -45,7 +51,8 @@ public UserRegisterStore( String elevator, String toilet, String heightDifferent, - String approach + String approach, + User user ) { this.name = name; this.address = address; @@ -53,5 +60,6 @@ public UserRegisterStore( this.toilet = toilet; this.heightDifferent = heightDifferent; this.approach = approach; + this.user = user; } } diff --git a/src/main/java/com/mpnp/baechelin/store/service/UserRegisterStoreService.java b/src/main/java/com/mpnp/baechelin/store/service/UserRegisterStoreService.java index 79d0942..6cab27a 100644 --- a/src/main/java/com/mpnp/baechelin/store/service/UserRegisterStoreService.java +++ b/src/main/java/com/mpnp/baechelin/store/service/UserRegisterStoreService.java @@ -5,6 +5,8 @@ import com.mpnp.baechelin.store.dto.userRegisterStore.UserRegisterStoreRequestDto; import com.mpnp.baechelin.store.repository.UserRegisterStoreImgRepository; import com.mpnp.baechelin.store.repository.UserRegisterStoreRepository; +import com.mpnp.baechelin.user.entity.user.User; +import com.mpnp.baechelin.user.repository.UserRepository; import com.mpnp.baechelin.util.AwsS3Manager; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -21,13 +23,16 @@ public class UserRegisterStoreService { private final AwsS3Manager awsS3Manager; private final UserRegisterStoreRepository userRegisterStoreRepository; private final UserRegisterStoreImgRepository userRegisterStoreImgRepository; + private final UserRepository userRepository; /** * 유저 업장 등록 * @param userRegisterStoreRequestDto */ - public void registerStore(UserRegisterStoreRequestDto userRegisterStoreRequestDto) { + public void registerStore(UserRegisterStoreRequestDto userRegisterStoreRequestDto, String socialId) { + User user = userRepository.findBySocialId(socialId); + // 업장 등록 UserRegisterStore userRegisterStore = UserRegisterStore.builder() .name(userRegisterStoreRequestDto.getName()) @@ -36,6 +41,7 @@ public void registerStore(UserRegisterStoreRequestDto userRegisterStoreRequestDt .toilet(userRegisterStoreRequestDto.getToilet()) .heightDifferent(userRegisterStoreRequestDto.getHeightDifferent()) .approach(userRegisterStoreRequestDto.getApproach()) + .user(user) .build(); // 업장의 이미지 여러개 등록