Skip to content

Commit 6eb122b

Browse files
authored
Merge pull request #105 from codeit-moving/dev
Dev -> Release 20241230 20:55
2 parents 44bb573 + cb2d027 commit 6eb122b

File tree

6 files changed

+102
-20
lines changed

6 files changed

+102
-20
lines changed

src/controllers/reviewController.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ router.get(
122122
pageNum: pageNum ? parseInt(pageNum as string) : undefined,
123123
});
124124

125-
console.log(result);
126125
res.status(200).send(result);
127126
})
128127
);

src/repositorys/confirmedQuoteRepository.ts

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,79 @@ const findAllByDay = (day: Date) => {
100100
});
101101
};
102102

103-
export default { CreateConfirmedQuote, findAllByDay };
103+
const getAvailableReviewCount = (customerId: number) => {
104+
return prismaClient.confirmedQuote.count({
105+
where: {
106+
customerId,
107+
review: {
108+
none: {},
109+
},
110+
movingRequest: {
111+
movingDate: {
112+
lt: new Date(),
113+
},
114+
},
115+
},
116+
});
117+
};
118+
119+
const getAvailableReviewList = (
120+
customerId: number,
121+
query: { pageSize: number; pageNum: number }
122+
) => {
123+
return prismaClient.confirmedQuote.findMany({
124+
where: {
125+
customerId,
126+
movingRequest: {
127+
movingDate: {
128+
lt: new Date(),
129+
},
130+
},
131+
},
132+
take: query.pageSize || 6,
133+
skip: (query.pageNum - 1) * (query.pageSize || 6),
134+
select: {
135+
id: true,
136+
movingRequest: {
137+
select: {
138+
service: true,
139+
movingDate: true,
140+
mover: {
141+
select: {
142+
id: true,
143+
},
144+
},
145+
},
146+
},
147+
quote: {
148+
select: {
149+
cost: true,
150+
},
151+
},
152+
mover: {
153+
select: {
154+
id: true,
155+
nickname: true,
156+
imageUrl: {
157+
orderBy: {
158+
createAt: "desc",
159+
},
160+
where: {
161+
status: true,
162+
},
163+
select: {
164+
imageUrl: true,
165+
},
166+
},
167+
},
168+
},
169+
},
170+
});
171+
};
172+
173+
export default {
174+
CreateConfirmedQuote,
175+
findAllByDay,
176+
getAvailableReviewCount,
177+
getAvailableReviewList,
178+
};

src/repositorys/quoteRepository.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import prismaClient from "../utils/prismaClient";
22
import { QuoteQueryString } from "../utils/quote/types";
33

44
interface PaginationOptions {
5-
limit?: number;
6-
cursor?: number | null;
5+
limit: number;
6+
cursor: number | null;
77
}
88

99
const getQuoteCountByMovingRequestId = (movingRequestId: number) => {
@@ -197,7 +197,8 @@ const getQuoteListByMoverId = (moverId: number, options: PaginationOptions) => {
197197
createAt: "desc", // 최신 순 정렬
198198
},
199199
// 페이지네이션 코드 추가
200-
take: options.limit,
200+
take: options.limit + 1,
201+
skip: options.cursor ? 1 : 0,
201202
cursor: options.cursor ? { id: options.cursor } : undefined,
202203
select: {
203204
id: true,

src/repositorys/reviewRepository.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ const getAvailableReviewList = (
168168
select: {
169169
id: true,
170170
imageUrl: true,
171+
content: true,
171172
mover: {
172173
// 여기에 mover 정보 추가
173174
select: {

src/services/movingRequestService.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,8 @@ const setWhereCondition = (query: queryString, moverId: number) => {
137137
// pastRequest가 true면 모든 날짜 조회 (where 조건 없음)
138138
} else {
139139
// pastRequest가 false면 오늘 자정 이후의 요청만 조회
140-
const today = new Date();
141-
today.setHours(0, 0, 0, 0);
142-
143140
where.movingDate = {
144-
gt: today,
141+
gt: new Date(),
145142
};
146143
}
147144

@@ -168,7 +165,7 @@ const getMovingRequestListByMover = async (
168165
moverId: number,
169166
query: queryString
170167
) => {
171-
const { limit, cursor, orderBy, isQuoted } = query;
168+
const { limit, cursor, orderBy, isQuoted, isPastRequest } = query;
172169
const whereCondition: WhereCondition = setWhereCondition(query, moverId);
173170
const orderByQuery = setOrderBy(orderBy);
174171

src/services/reviewService.ts

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import confirmedQuoteRepository from "../repositorys/confirmedQuoteRepository";
12
import reviewRepository from "../repositorys/reviewRepository";
23
import customError from "../utils/interfaces/customError";
34
import {
@@ -121,9 +122,14 @@ const getAvailableReviewsList = async (
121122
const pageSize = query.pageSize || 6;
122123
const pageNum = query.pageNum || 1;
123124

124-
const [totalCount, reviews] = await Promise.all([
125-
reviewRepository.getAvailableReviewCount(customerId),
126-
reviewRepository.getAvailableReviewList(customerId, {
125+
const [totalCount, confirmedQuotes] = await Promise.all([
126+
// reviewRepository.getAvailableReviewCount(customerId),
127+
// reviewRepository.getAvailableReviewList(customerId, {
128+
// pageSize,
129+
// pageNum,
130+
// }),
131+
confirmedQuoteRepository.getAvailableReviewCount(customerId),
132+
confirmedQuoteRepository.getAvailableReviewList(customerId, {
127133
pageSize,
128134
pageNum,
129135
}),
@@ -133,13 +139,16 @@ const getAvailableReviewsList = async (
133139
currentPage: pageNum,
134140
totalPages: Math.ceil(totalCount / pageSize),
135141
totalCount,
136-
list: reviews.map((review) => ({
137-
...review,
138-
service: review.confirmedQuote.movingRequest.service,
139-
isDesignated: review.confirmedQuote.movingRequest.isDesignated,
140-
movingDate: review.confirmedQuote.movingRequest.movingDate,
141-
nickname: review.mover.nickname,
142-
cost: review.confirmedQuote.quote.cost,
142+
list: confirmedQuotes.map((confirmedQuote) => ({
143+
id: confirmedQuote.mover.id,
144+
service: confirmedQuote.movingRequest.service,
145+
isDesignated: confirmedQuote.movingRequest.mover.some(
146+
(mover) => mover.id === confirmedQuote.mover.id
147+
),
148+
movingDate: confirmedQuote.movingRequest.movingDate,
149+
nickname: confirmedQuote.mover.nickname,
150+
cost: confirmedQuote.quote.cost,
151+
imageUrl: confirmedQuote.mover.imageUrl[0]?.imageUrl ?? "",
143152
confirmedQuote: undefined,
144153
movingRequest: undefined,
145154
mover: undefined,

0 commit comments

Comments
 (0)