Skip to content

Commit 6be4576

Browse files
committed
refactor(review): 이미지 관련 로직 제거
1 parent b0f6caf commit 6be4576

File tree

9 files changed

+17
-71
lines changed

9 files changed

+17
-71
lines changed

src/main/java/com/somemore/domains/review/controller/ReviewCommandApiController.java

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
package com.somemore.domains.review.controller;
22

3-
import static org.springframework.http.MediaType.MULTIPART_FORM_DATA_VALUE;
4-
53
import com.somemore.domains.review.dto.request.ReviewCreateRequestDto;
64
import com.somemore.domains.review.dto.request.ReviewUpdateRequestDto;
75
import com.somemore.domains.review.usecase.CreateReviewUseCase;
86
import com.somemore.domains.review.usecase.DeleteReviewUseCase;
97
import com.somemore.domains.review.usecase.UpdateReviewUseCase;
108
import com.somemore.global.auth.annotation.RoleId;
119
import com.somemore.global.common.response.ApiResponse;
12-
import com.somemore.global.imageupload.dto.ImageUploadRequestDto;
13-
import com.somemore.global.imageupload.usecase.ImageUploadUseCase;
1410
import io.swagger.v3.oas.annotations.Operation;
1511
import io.swagger.v3.oas.annotations.tags.Tag;
1612
import jakarta.validation.Valid;
@@ -23,9 +19,7 @@
2319
import org.springframework.web.bind.annotation.PutMapping;
2420
import org.springframework.web.bind.annotation.RequestBody;
2521
import org.springframework.web.bind.annotation.RequestMapping;
26-
import org.springframework.web.bind.annotation.RequestPart;
2722
import org.springframework.web.bind.annotation.RestController;
28-
import org.springframework.web.multipart.MultipartFile;
2923

3024
@Tag(name = "Review Command API", description = "리뷰 생성 수정 삭제 API")
3125
@RequiredArgsConstructor
@@ -36,20 +30,17 @@ public class ReviewCommandApiController {
3630
private final CreateReviewUseCase createReviewUseCase;
3731
private final UpdateReviewUseCase updateReviewUseCase;
3832
private final DeleteReviewUseCase deleteReviewUseCase;
39-
private final ImageUploadUseCase imageUploadUseCase;
4033

4134
@Secured("ROLE_VOLUNTEER")
4235
@Operation(summary = "리뷰 등록", description = "리뷰를 등록합니다.")
43-
@PostMapping(value = "/review", consumes = MULTIPART_FORM_DATA_VALUE)
36+
@PostMapping(value = "/review")
4437
public ApiResponse<Long> createReview(
4538
@RoleId UUID volunteerId,
46-
@Valid @RequestPart("data") ReviewCreateRequestDto requestDto,
47-
@RequestPart(value = "img_file", required = false) MultipartFile image) {
39+
@Valid @RequestBody ReviewCreateRequestDto requestDto) {
4840

49-
String imgUrl = imageUploadUseCase.uploadImage(new ImageUploadRequestDto(image));
5041
return ApiResponse.ok(
5142
201,
52-
createReviewUseCase.createReview(requestDto, volunteerId, imgUrl),
43+
createReviewUseCase.createReview(requestDto, volunteerId),
5344
"리뷰 등록 성공"
5445
);
5546
}
@@ -70,22 +61,6 @@ public ApiResponse<String> updateReview(
7061
);
7162
}
7263

73-
@Secured("ROLE_VOLUNTEER")
74-
@Operation(summary = "리뷰 이미지 수정", description = "리뷰 이미지를 수정합니다.")
75-
@PutMapping(value = "/review/{id}", consumes = MULTIPART_FORM_DATA_VALUE)
76-
public ApiResponse<String> updateReviewImage(
77-
@RoleId UUID volunteerId,
78-
@PathVariable Long id,
79-
@RequestPart(value = "img_file", required = false) MultipartFile image) {
80-
81-
String newImgUrl = imageUploadUseCase.uploadImage(new ImageUploadRequestDto(image));
82-
updateReviewUseCase.updateReviewImageUrl(id, volunteerId, newImgUrl);
83-
return ApiResponse.ok(
84-
200,
85-
"리뷰 이미지 수정 성공"
86-
);
87-
}
88-
8964
@Secured("ROLE_VOLUNTEER")
9065
@Operation(summary = "리뷰 삭제", description = "리뷰를 삭제합니다.")
9166
@DeleteMapping(value = "/review/{id}")

src/main/java/com/somemore/domains/review/domain/Review.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.somemore.domains.review.domain;
22

3+
import static jakarta.persistence.GenerationType.IDENTITY;
4+
import static lombok.AccessLevel.PROTECTED;
5+
36
import com.somemore.domains.review.dto.request.ReviewUpdateRequestDto;
47
import com.somemore.global.common.entity.BaseEntity;
58
import jakarta.persistence.Column;
@@ -8,15 +11,11 @@
811
import jakarta.persistence.Id;
912
import jakarta.persistence.Lob;
1013
import jakarta.persistence.Table;
14+
import java.util.UUID;
1115
import lombok.Builder;
1216
import lombok.Getter;
1317
import lombok.NoArgsConstructor;
1418

15-
import java.util.UUID;
16-
17-
import static jakarta.persistence.GenerationType.IDENTITY;
18-
import static lombok.AccessLevel.PROTECTED;
19-
2019
@Getter
2120
@NoArgsConstructor(access = PROTECTED)
2221
@Entity
@@ -40,17 +39,12 @@ public class Review extends BaseEntity {
4039
@Column(name = "content", length = 1000, nullable = false)
4140
private String content;
4241

43-
@Column(name = "img_url", nullable = false)
44-
private String imgUrl;
45-
4642
@Builder
47-
public Review(Long volunteerApplyId, UUID volunteerId, String title,
48-
String content, String imgUrl) {
43+
public Review(Long volunteerApplyId, UUID volunteerId, String title, String content) {
4944
this.volunteerApplyId = volunteerApplyId;
5045
this.volunteerId = volunteerId;
5146
this.title = title;
5247
this.content = content;
53-
this.imgUrl = imgUrl;
5448
}
5549

5650
public boolean isWriter(UUID volunteerId) {
@@ -62,7 +56,4 @@ public void updateWith(ReviewUpdateRequestDto dto) {
6256
this.content = dto.content();
6357
}
6458

65-
public void updateWith(String imgUrl) {
66-
this.imgUrl = imgUrl;
67-
}
6859
}

src/main/java/com/somemore/domains/review/dto/request/ReviewCreateRequestDto.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,12 @@ public record ReviewCreateRequestDto(
2424
String content
2525
) {
2626

27-
public Review toEntity(UUID volunteerId, String imgUrl) {
27+
public Review toEntity(UUID volunteerId) {
2828
return Review.builder()
2929
.volunteerApplyId(volunteerApplyId)
3030
.volunteerId(volunteerId)
3131
.title(title)
3232
.content(content)
33-
.imgUrl(imgUrl)
3433
.build();
3534
}
3635
}

src/main/java/com/somemore/domains/review/dto/response/ReviewDetailResponseDto.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ public record ReviewDetailResponseDto(
2121
String title,
2222
@Schema(description = "리뷰 내용", example = "정말 유익했습니다. 더보기..")
2323
String content,
24-
@Schema(description = "이미지 링크", example = "https://image.domain.com/links")
25-
String imgUrl,
2624
@Schema(description = "작성 일자", example = "2024-12-01T09:00:00", type = "string")
2725
LocalDateTime createdAt,
2826
@Schema(description = "수정 일자", example = "2024-12-01T09:00:00", type = "string")
@@ -35,7 +33,6 @@ public static ReviewDetailResponseDto from(Review review) {
3533
.volunteerId(review.getVolunteerId())
3634
.title(review.getTitle())
3735
.content(review.getContent())
38-
.imgUrl(review.getImgUrl())
3936
.createdAt(review.getCreatedAt())
4037
.updatedAt(review.getUpdatedAt())
4138
.build();

src/main/java/com/somemore/domains/review/dto/response/ReviewDetailWithNicknameResponseDto.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ public record ReviewDetailWithNicknameResponseDto(
2323
String title,
2424
@Schema(description = "리뷰 내용", example = "정말 유익했습니다. 더보기..")
2525
String content,
26-
@Schema(description = "이미지 링크", example = "https://image.domain.com/links")
27-
String imgUrl,
2826
@Schema(description = "작성 일자", example = "2024-12-01T09:00:00", type = "string")
2927
LocalDateTime createdAt,
3028
@Schema(description = "수정 일자", example = "2024-12-01T09:00:00", type = "string")
@@ -38,7 +36,6 @@ public static ReviewDetailWithNicknameResponseDto from(Review review, String vol
3836
.volunteerNickname(volunteerNickname)
3937
.title(review.getTitle())
4038
.content(review.getContent())
41-
.imgUrl(review.getImgUrl())
4239
.createdAt(review.getCreatedAt())
4340
.updateAt(review.getUpdatedAt())
4441
.build();

src/main/java/com/somemore/domains/review/service/CreateReviewService.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.somemore.domains.review.service;
22

3+
import static com.somemore.global.exception.ExceptionMessage.REVIEW_ALREADY_EXISTS;
4+
import static com.somemore.global.exception.ExceptionMessage.REVIEW_RESTRICTED_TO_ATTENDED;
5+
36
import com.somemore.domains.review.domain.Review;
47
import com.somemore.domains.review.dto.request.ReviewCreateRequestDto;
58
import com.somemore.domains.review.repository.ReviewRepository;
@@ -9,15 +12,11 @@
912
import com.somemore.domains.volunteerapply.usecase.VolunteerApplyQueryUseCase;
1013
import com.somemore.global.exception.BadRequestException;
1114
import com.somemore.global.exception.DuplicateException;
15+
import java.util.UUID;
1216
import lombok.RequiredArgsConstructor;
1317
import org.springframework.stereotype.Service;
1418
import org.springframework.transaction.annotation.Transactional;
1519

16-
import java.util.UUID;
17-
18-
import static com.somemore.global.exception.ExceptionMessage.REVIEW_ALREADY_EXISTS;
19-
import static com.somemore.global.exception.ExceptionMessage.REVIEW_RESTRICTED_TO_ATTENDED;
20-
2120
@RequiredArgsConstructor
2221
@Transactional
2322
@Service
@@ -28,13 +27,13 @@ public class CreateReviewService implements CreateReviewUseCase {
2827
private final VolunteerApplyQueryUseCase volunteerApplyQueryUseCase;
2928

3029
@Override
31-
public Long createReview(ReviewCreateRequestDto requestDto, UUID volunteerId, String imgUrl) {
30+
public Long createReview(ReviewCreateRequestDto requestDto, UUID volunteerId) {
3231
validateDuplicateReview(requestDto.volunteerApplyId());
3332

3433
VolunteerApply apply = volunteerApplyQueryUseCase.getById(requestDto.volunteerApplyId());
3534
validateActivityCompletion(apply);
3635

37-
Review review = requestDto.toEntity(volunteerId, imgUrl);
36+
Review review = requestDto.toEntity(volunteerId);
3837
reviewRepository.save(review);
3938

4039
return review.getId();

src/main/java/com/somemore/domains/review/service/UpdateReviewService.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
import com.somemore.domains.review.service.validator.ReviewValidator;
66
import com.somemore.domains.review.usecase.ReviewQueryUseCase;
77
import com.somemore.domains.review.usecase.UpdateReviewUseCase;
8+
import java.util.UUID;
89
import lombok.RequiredArgsConstructor;
910
import org.springframework.stereotype.Service;
1011
import org.springframework.transaction.annotation.Transactional;
1112

12-
import java.util.UUID;
13-
1413
@RequiredArgsConstructor
1514
@Transactional
1615
@Service
@@ -26,11 +25,4 @@ public void updateReview(Long id, UUID volunteerId, ReviewUpdateRequestDto reque
2625
review.updateWith(requestDto);
2726
}
2827

29-
@Override
30-
public void updateReviewImageUrl(Long id, UUID volunteerId, String imgUrl) {
31-
Review review = reviewQueryUseCase.getById(id);
32-
reviewValidator.validateWriter(review, volunteerId);
33-
review.updateWith(imgUrl);
34-
}
35-
3628
}
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package com.somemore.domains.review.usecase;
22

33
import com.somemore.domains.review.dto.request.ReviewCreateRequestDto;
4-
54
import java.util.UUID;
65

76
public interface CreateReviewUseCase {
87

9-
Long createReview(ReviewCreateRequestDto requestDto, UUID volunteerId, String imgUrl);
10-
8+
Long createReview(ReviewCreateRequestDto requestDto, UUID volunteerId);
119

1210
}
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package com.somemore.domains.review.usecase;
22

33
import com.somemore.domains.review.dto.request.ReviewUpdateRequestDto;
4-
54
import java.util.UUID;
65

76
public interface UpdateReviewUseCase {
87

98
void updateReview(Long id, UUID volunteerId, ReviewUpdateRequestDto requestDto);
109

11-
void updateReviewImageUrl(Long id, UUID volunteerId, String imgUrl);
1210
}

0 commit comments

Comments
 (0)