Skip to content

Commit a6c8b2d

Browse files
authored
Merge pull request #264 from DevKor-github/feat/points
Feat/points
2 parents ec6ead8 + f0518ce commit a6c8b2d

20 files changed

Lines changed: 394 additions & 31 deletions

File tree

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,7 @@ out/
4040

4141
### 환경 변수 ###
4242
.env
43+
44+
###claude###
45+
.claude
46+
.serena

src/main/java/devkor/com/teamcback/domain/bookmark/dto/response/CreateBookmarkRes.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package devkor.com.teamcback.domain.bookmark.dto.response;
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4-
import devkor.com.teamcback.domain.bookmark.entity.Bookmark;
5-
import io.swagger.v3.oas.annotations.media.Schema;
6-
import lombok.Getter;
74

85
@JsonIgnoreProperties
96
public class CreateBookmarkRes {

src/main/java/devkor/com/teamcback/domain/bookmark/service/BookmarkService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ public class BookmarkService {
4545
* 즐겨찾기 업데이트
4646
*/
4747
@Transactional
48-
@UpdateScore(addScore = 1)
4948
public CreateBookmarkRes createBookmark(Long userId, CreateBookmarkReq req) {
5049
User user = findUser(userId);
5150

src/main/java/devkor/com/teamcback/domain/common/repository/FileRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,6 @@ public interface FileRepository extends JpaRepository<File, Long>, CustomFileRep
1616
List<File> findTop3AllByFileUuidOrderBySortNumAsc(String fileUuid);
1717

1818
File findByFileUuidAndSortNum(String fileUuid, Long sortNum);
19+
20+
boolean existsByFileUuid(String fileUuid);
1921
}

src/main/java/devkor/com/teamcback/domain/review/controller/ReviewController.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ public CommonResponse<List<SearchReviewImageRes>> getReviewPlaceDetailImages(
6868
return CommonResponse.success(reviewService.getReviewPlaceDetailImages(placeId, lastFileId));
6969
}
7070

71-
// TODO: 리뷰 작성 시 포인트 부여
7271
@Operation(summary = "리뷰 작성",
7372
description = "식당, 카페에 대한 리뷰를 작성")
7473
@ApiResponses(value = {
@@ -114,7 +113,6 @@ public CommonResponse<ModifyReviewRes> modifyReview(
114113
return CommonResponse.success(reviewService.modifyReview(userDetail.getUser().getUserId(), reviewId, modifyReviewReq));
115114
}
116115

117-
// TODO: 리뷰 삭제 시 포인트 제거
118116
@Operation(summary = "리뷰 삭제",
119117
description = "식당, 카페에 대한 리뷰를 삭제")
120118
@ApiResponses(value = {

src/main/java/devkor/com/teamcback/domain/review/dto/response/CreateReviewRes.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
11
package devkor.com.teamcback.domain.review.dto.response;
22

3+
import devkor.com.teamcback.global.response.ScoreUpdateResponse;
34
import io.swagger.v3.oas.annotations.media.Schema;
45
import lombok.Getter;
6+
import lombok.Setter;
57

68
@Schema(description = "리뷰 생성 응답 dto")
79
@Getter
8-
public class CreateReviewRes {
10+
public class CreateReviewRes implements ScoreUpdateResponse {
911
private Long reviewId;
1012

13+
@Setter
14+
@Schema(description = "레벨업 여부")
15+
private boolean isLevelUp;
16+
17+
@Setter
18+
@Schema(description = "현재 점수")
19+
private Long currentScore;
20+
21+
@Setter
22+
@Schema(description = "점수 획득 여부")
23+
private boolean scoreGained;
24+
1125
public CreateReviewRes(Long id) {
1226
this.reviewId = id;
1327
}
Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,21 @@
11
package devkor.com.teamcback.domain.review.dto.response;
22

3-
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
3+
import devkor.com.teamcback.global.response.ScoreUpdateResponse;
44
import io.swagger.v3.oas.annotations.media.Schema;
5+
import lombok.Getter;
6+
import lombok.Setter;
57

8+
@Setter
69
@Schema(description = "리뷰 삭제 응답 dto")
7-
@JsonIgnoreProperties
8-
public class DeleteReviewRes {
10+
@Getter
11+
public class DeleteReviewRes implements ScoreUpdateResponse {
12+
13+
@Schema(description = "레벨업 여부")
14+
private boolean isLevelUp;
15+
16+
@Schema(description = "현재 점수")
17+
private Long currentScore;
18+
19+
@Schema(description = "점수 획득 여부 (삭제 시에는 항상 false)")
20+
private boolean scoreGained;
921
}

src/main/java/devkor/com/teamcback/domain/review/dto/response/ModifyReviewRes.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
11
package devkor.com.teamcback.domain.review.dto.response;
22

3+
import devkor.com.teamcback.global.response.ScoreUpdateResponse;
34
import io.swagger.v3.oas.annotations.media.Schema;
45
import lombok.Getter;
6+
import lombok.Setter;
57

68
@Schema(description = "리뷰 수정 응답 dto")
79
@Getter
8-
public class ModifyReviewRes {
10+
public class ModifyReviewRes implements ScoreUpdateResponse {
911
private Long reviewId;
1012

13+
@Setter
14+
@Schema(description = "레벨업 여부")
15+
private boolean isLevelUp;
16+
17+
@Setter
18+
@Schema(description = "현재 점수")
19+
private Long currentScore;
20+
21+
@Setter
22+
@Schema(description = "점수 획득 여부")
23+
private boolean scoreGained;
24+
1125
public ModifyReviewRes(Long id) {
1226
this.reviewId = id;
1327
}

src/main/java/devkor/com/teamcback/domain/review/entity/Review.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class Review extends BaseEntity {
3838

3939
@Setter
4040
@Column(nullable = false)
41-
private boolean isReported = false;
41+
private boolean isReported = false; // 신고 여부
4242

4343
@ManyToOne
4444
@JoinColumn(name = "user_id")

src/main/java/devkor/com/teamcback/domain/review/repository/ReviewRepository.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,19 @@
22

33
import devkor.com.teamcback.domain.place.entity.Place;
44
import devkor.com.teamcback.domain.review.entity.Review;
5+
import devkor.com.teamcback.domain.user.entity.User;
56
import org.springframework.data.jpa.repository.JpaRepository;
67

8+
import java.time.LocalDateTime;
79
import java.util.List;
810

911
public interface ReviewRepository extends JpaRepository<Review, Long> {
1012

1113
List<Review> findAllByPlaceOrderByCreatedAtDesc(Place place);
1214

15+
/**
16+
* 특정 사용자가 특정 장소에 특정 기간 내 작성한 리뷰 존재 여부 확인
17+
* (같은 장소 하루 1개 리뷰 제한용)
18+
*/
19+
boolean existsByUserAndPlaceAndCreatedAtBetween(User user, Place place, LocalDateTime start, LocalDateTime end);
1320
}

0 commit comments

Comments
 (0)