Skip to content

Commit fba5f53

Browse files
committed
CLAP-407 Fix: task 테이블 인덱스 추가 및 작업 조회시 닉네임 검색 쿼리 수정
<footer> - #526
1 parent 962a555 commit fba5f53

3 files changed

Lines changed: 24 additions & 12 deletions

File tree

src/main/java/clap/server/adapter/outbound/persistense/repository/task/TaskCustomRepositoryImpl.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class TaskCustomRepositoryImpl implements TaskCustomRepository {
4040
public Page<TaskEntity> findTasksRequestedByUser(Long requesterId, Pageable pageable, FilterTaskListRequest filterTaskListRequest) {
4141
BooleanBuilder builder = createFilter(filterTaskListRequest);
4242
if (!filterTaskListRequest.nickName().isEmpty()) {
43-
builder.and(taskEntity.processor.nickname.contains(filterTaskListRequest.nickName()));
43+
builder.and(taskEntity.processor.nickname.startsWith(filterTaskListRequest.nickName()));
4444
}
4545
builder.and(taskEntity.requester.memberId.eq(requesterId));
4646

@@ -51,7 +51,7 @@ public Page<TaskEntity> findTasksRequestedByUser(Long requesterId, Pageable page
5151
public Page<TaskEntity> findTasksAssignedByManager(Long processorId, Pageable pageable, FilterTaskListRequest filterTaskListRequest) {
5252
BooleanBuilder builder = createFilter(filterTaskListRequest);
5353
if (!filterTaskListRequest.nickName().isEmpty()) {
54-
builder.and(taskEntity.requester.nickname.contains(filterTaskListRequest.nickName()));
54+
builder.and(taskEntity.requester.nickname.startsWith(filterTaskListRequest.nickName()));
5555
}
5656
builder.and(taskEntity.processor.memberId.eq(processorId));
5757

@@ -102,7 +102,7 @@ private BooleanBuilder createFilterBuilder(Long memberId, FilterTeamStatusReques
102102
public Page<TaskEntity> findPendingApprovalTasks(Pageable pageable, FilterTaskListRequest filterTaskListRequest) {
103103
BooleanBuilder builder = createFilter(filterTaskListRequest);
104104
if (!filterTaskListRequest.nickName().isEmpty()) {
105-
builder.and(taskEntity.requester.nickname.contains(filterTaskListRequest.nickName()));
105+
builder.and(taskEntity.requester.nickname.startsWith(filterTaskListRequest.nickName()));
106106
}
107107
builder.and(taskEntity.taskStatus.eq(TaskStatus.REQUESTED));
108108
return getTasksPage(pageable, builder, filterTaskListRequest.sortBy(), filterTaskListRequest.sortDirection());
@@ -113,8 +113,8 @@ public Page<TaskEntity> findAllTasks(Pageable pageable, FilterTaskListRequest fi
113113
BooleanBuilder builder = createFilter(filterTaskListRequest);
114114
if (!filterTaskListRequest.nickName().isEmpty()) {
115115
builder.and(
116-
taskEntity.requester.nickname.contains(filterTaskListRequest.nickName())
117-
.or(taskEntity.processor.nickname.contains(filterTaskListRequest.nickName()))
116+
taskEntity.requester.nickname.startsWith(filterTaskListRequest.nickName())
117+
.or(taskEntity.processor.nickname.startsWith(filterTaskListRequest.nickName()))
118118
);
119119
}
120120
return getTasksPage(pageable, builder, filterTaskListRequest.sortBy(), filterTaskListRequest.sortDirection());
@@ -199,11 +199,10 @@ private Page<TaskEntity> getTasksPage(Pageable pageable, BooleanBuilder builder,
199199
.limit(pageable.getPageSize())
200200
.fetch();
201201
long total = queryFactory
202-
.selectFrom(taskEntity)
203-
.leftJoin(taskEntity.processor).fetchJoin()
204-
.leftJoin(taskEntity.requester).fetchJoin()
202+
.select(taskEntity.count())
203+
.from(taskEntity)
205204
.where(builder)
206-
.fetch().size();
205+
.fetchOne();
207206
return new PageImpl<>(result, pageable, total);
208207
}
209208

src/main/resources/swagger.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,18 @@ springdoc:
3535
path: /swagger/v3/api-docs
3636

3737
---
38-
spring.config.activate.on-profile: prod
39-
swagger.server.url: ${SWAGGER_SERVER_URL:http://localhost:8080}
38+
spring.config.activate.on-profile: "prod"
39+
swagger.server.url: ${SWAGGER_SERVER_URL:http://localhost:8080}
40+
41+
springdoc:
42+
default-consumes-media-type: application/json;charset=UTF-8
43+
default-produces-media-type: application/json;charset=UTF-8
44+
swagger-ui:
45+
path: /swagger
46+
tags-sorter: alpha
47+
operations-sorter: method
48+
display-request-duration: true
49+
disable-swagger-default-url: true
50+
show-actuator: true
51+
api-docs:
52+
path: /swagger/v3/api-docs

taskflow.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ spec:
3939
image: clap.kr-central-2.kcr.dev/taskflow/taskflow-server:${IMAGE_TAG}
4040
imagePullPolicy: Always
4141
command: [ "java", "-jar", "app.jar" ]
42-
args: [ "--spring.profiles.active=dev" ]
42+
args: [ "--spring.profiles.active=prod" ]
4343
env:
4444
- name: TZ
4545
value: "Asia/Seoul"

0 commit comments

Comments
 (0)