Skip to content

Commit 3df141e

Browse files
Merge pull request #390 from Podo-Store/develop
[FIX] 6차 QA 반영
2 parents 7c5bf67 + 9add3c6 commit 3df141e

File tree

3 files changed

+23
-11
lines changed

3 files changed

+23
-11
lines changed

src/main/java/PodoeMarket/podoemarket/product/dto/response/ScriptDetailResponseDTO.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ public class ScriptDetailResponseDTO {
5252

5353
private Boolean isReviewWritten; // 후기 작성 여부
5454

55+
private Boolean isMine; // 본인 작품 여부
56+
5557
// 후기
5658
private ReviewStatisticsDTO reviewStatistics;
5759

src/main/java/PodoeMarket/podoemarket/product/service/ProductService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,12 @@ public ScriptDetailResponseDTO getScriptDetailInfo(UserEntity userInfo, UUID pro
109109
final ProductEntity script = productRepo.findById(productId);
110110
final String scriptImage = generateScriptImgURL(script);
111111
boolean isReviewWritten = false;
112+
boolean isMine = false;
112113

113114
if (userInfo != null) {
115+
if (script.getUser().getId().equals(userInfo.getId()))
116+
isMine = true;
117+
114118
final ReviewEntity review = reviewRepo.findByProductAndUserId(script, userInfo.getId());
115119

116120
if (review != null)
@@ -146,6 +150,7 @@ public ScriptDetailResponseDTO getScriptDetailInfo(UserEntity userInfo, UUID pro
146150
.likeCount(script.getLikeCount()) // 총 좋아요 수
147151
.isReviewWritten(isReviewWritten)
148152
.viewCount(viewCountService.getProductViewCount(productId)) // 총 조회수
153+
.isMine(isMine)
149154
.reviewStatistics(reviewStatistics)
150155
.reviews(reviewList)
151156
.build();
@@ -279,6 +284,9 @@ public void writeReview(final UserEntity userInfo, final ReviewRequestDTO dto) {
279284
if(product == null)
280285
throw new RuntimeException("상품을 찾을 수 없습니다.");
281286

287+
if (userInfo.getId().equals(product.getUser().getId()))
288+
throw new RuntimeException("본인 작품의 후기는 작성할 수 없습니다.");
289+
282290
ReviewEntity review = ReviewEntity.builder()
283291
.rating(dto.getRating())
284292
.standardType(dto.getStandardType())

src/main/java/PodoeMarket/podoemarket/profile/service/MypageService.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,29 +74,31 @@ public class MypageService {
7474
@Transactional
7575
public UserInfoResponseDTO updateUserAccount(UserEntity userInfo, ProfileUpdateRequestDTO dto) {
7676
try {
77-
if (!dto.getPassword().isBlank() && !dto.getPassword().equals(dto.getConfirmPassword()))
77+
if(!dto.getPassword().isBlank() && !dto.getPassword().equals(dto.getConfirmPassword()))
7878
throw new RuntimeException("비밀번호가 일치하지 않음");
7979

80-
isValidPw(dto.getPassword());
81-
userInfo.setPassword(pwdEncoder.encode(dto.getPassword()));
82-
83-
isValidNickname(dto.getNickname());
84-
userInfo.setNickname(dto.getNickname());
85-
8680
UserEntity user = userRepo.findById(userInfo.getId());
8781

88-
if (user == null)
82+
if(user == null)
8983
throw new RuntimeException("로그인이 필요한 서비스입니다.");
9084

91-
if (userInfo.getPassword() != null && !userInfo.getPassword().isBlank())
85+
if(userInfo.getPassword() != null && !userInfo.getPassword().isBlank())
9286
user.setPassword(userInfo.getPassword());
9387

88+
isValidPw(dto.getPassword());
89+
user.setPassword(pwdEncoder.encode(dto.getPassword()));
90+
91+
if(!dto.getNickname().isBlank()) {
92+
isValidNickname(dto.getNickname());
93+
user.setNickname(dto.getNickname());
94+
}
95+
9496
// 모든 작품의 작가명 변경
9597
List<ProductEntity> products = productRepo.findAllByUserId(userInfo.getId());
9698

97-
for (ProductEntity product : productRepo.findAllByUserId(userInfo.getId())) {
99+
for(ProductEntity product : productRepo.findAllByUserId(userInfo.getId()))
98100
product.setWriter(userInfo.getNickname());
99-
}
101+
100102
productRepo.saveAll(products);
101103
userRepo.save(user);
102104

0 commit comments

Comments
 (0)