Skip to content

Commit

Permalink
Merge pull request #320 from catchroom/develop
Browse files Browse the repository at this point in the history
Fix: 이용후기 정렬기준 수정
  • Loading branch information
dydgus1052 authored Jan 26, 2024
2 parents febd4f0 + 074194c commit 4537880
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 13 deletions.
85 changes: 80 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,80 @@
# BE_CatchRoom
캐치룸 백엔드 레파지토리
- 개발 브랜치는 develop이며 운영 브랜치는 main입니다.
- develop에 바로 작업해주시는 것이 아니라 브랜치를 하나 따셔서 작업 후 PR 이후 develop에 머지해주세요.
- 이후 main 브랜치로 PR을 날리고 해당 부분 Approve가 1명 이상 될 시 머지할 수 있도록 할 예정입니다. 이후 자동 배포가 되므로 5분 정도 대기 후 실제 서버에 잘 적용되었는지 API 엔드포인트를 통해 확인 부탁드리겠습니다.
# 파이널 프로젝트 : 무료 예약 취소 불가한 숙소의 양도/거래 서비스
## 💡 프로젝트 주제

- **숙소의 양도/거래 서비스 API 서버 개발**
-

## 📝 프로젝트 요약



## ⭐️ 핵심 기능

### 회원

-

### 마이페이지

-

###

-

### 리뷰
-

### 구매내역
-

### 판매내역
-

### 채팅
-

## 🎢 실행 결과 화면

[실행 결과 화면 링크](/docs/RUNNING_SCREEN.md)

## 🛠️ 개발 환경

- 자바 버전 : **17**
- 스프링 버전 : **Spring Boot 3**
- 데이터베이스 : Mysql, Redis , MongoDB
- 문서화 도구 : Swagger
- 의존성
- Data-JPA
- Data-Redis
- QueryDSL
- Validation
- Security
- Lombok
- jwt



## 🧑‍🤝‍🧑 조원 & 역할

| 이름 | 역할 |
|-----|--------------------------------|
| 박건우 | 조장, 회원 도메인 개발 , 마이페이지 도메인 개발 , 찜 도메인 개발, 리뷰 도메인 개발,구매/판매 도메인 개발, 서버와 DevOps 설정관리|
| 성지운 | |
| 정혜민 | |
| 홍용현 | |

## 🚀 프로젝트 일정

- **프로젝트 기간**: 12월 11일(월) ~ 1월 30일(화)

## 📐 ERD 설계도

[ERDCloud 사이트 링크](https://www.erdcloud.com/d/eoDe4Y9aag2Eerjxw)


## 🏗 API 서버 구조 & CI/CD 구조

![캡처](https://github.com/catchroom/BE_CatchRoom/assets/50697545/f15ab45d-4626-4e02-a85e-74bac12ed312)


Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;

@Getter
Expand All @@ -36,7 +37,7 @@ public static class ReviewSearchResponse {

private String userName;

private LocalDateTime date;
private String date;

private String content;

Expand All @@ -52,7 +53,7 @@ public static ReviewSearchResponse fromEntity(Review review) {
.productName(accommodation.getName())
.image(accommodation.getThumbnailUrl())
.userName(user.getNickName())
.date(review.getCreatedAt())
.date(review.getCreatedAt().format(DateTimeFormatter.ofPattern("MM-dd")))
.content(review.getContent())
.region(accommodation.getRegion())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@
import com.example.catchroom_be.domain.product.dto.response.ProductSearchListResponse;
import com.example.catchroom_be.domain.review.enumlist.ReviewSearchListResponse;
import com.example.catchroom_be.domain.review.enumlist.ReviewSearchListResponse.ReviewSearchResponse;
import com.querydsl.core.types.ConstantImpl;
import com.querydsl.core.types.dsl.Expressions;
import com.querydsl.jpa.impl.JPAQueryFactory;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

Expand Down Expand Up @@ -48,18 +51,24 @@ public ReviewSearchListResponse getReviewMain() {
@Override
public ReviewSearchListResponse getReviewAll(Pageable pageable) {

LocalDate sixMonthsAgo = LocalDate.now().minusMonths(6);

List<ReviewSearchResponse> result =
queryFactory.selectFrom(review)
.innerJoin(review.product,product).fetchJoin()
.innerJoin(review.user,user).fetchJoin()
.innerJoin(product.orderHistory,orderHistory).fetchJoin()
.innerJoin(orderHistory.accommodation,accommodation).fetchJoin()
.offset(pageable.getOffset())
.limit(pageable.getPageSize())
.fetch()
.stream()
.map(ReviewSearchResponse::fromEntity)
.toList();
.where(review.createdAt.after(sixMonthsAgo.atStartOfDay()))
.orderBy(Expressions.stringTemplate("DATE_FORMAT({0}, {1})", review.createdAt, ConstantImpl.create("MM-dd"))
.desc(),
review.content.length().desc())
.offset(pageable.getOffset())
.limit(pageable.getPageSize())
.fetch()
.stream()
.map(ReviewSearchResponse::fromEntity)
.toList();

long totalSize = queryFactory.selectFrom(review)
.fetchCount();
Expand Down

0 comments on commit 4537880

Please sign in to comment.