@@ -197,18 +197,10 @@ public List<ReceivedSubstituteRequestListResponse> getReceivedRequestListWithCur
197197 .join (workspaceShift .workspace , workspace )
198198 .join (requesterWorker ).on (requesterWorker .id .eq (substituteRequest .requesterId ))
199199 .join (requesterUser ).on (requesterUser .id .eq (requesterWorker .user .id ))
200- .leftJoin (requesterFile ).on (
201- requesterFile .targetType .eq (FileTargetType .USER_PROFILE ),
202- requesterFile .targetId .eq (requesterUser .id .stringValue ()),
203- requesterFile .status .eq (FileStatus .ATTACHED )
204- )
200+ .leftJoin (requesterFile ).on (fileConditions (requesterFile , requesterUser ))
205201 .leftJoin (acceptedWorker ).on (acceptedWorker .id .eq (substituteRequest .acceptedWorkerId ))
206202 .leftJoin (acceptedUser ).on (acceptedUser .id .eq (acceptedWorker .user .id ))
207- .leftJoin (acceptedFile ).on (
208- acceptedFile .targetType .eq (FileTargetType .USER_PROFILE ),
209- acceptedFile .targetId .eq (acceptedUser .id .stringValue ()),
210- acceptedFile .status .eq (FileStatus .ATTACHED )
211- )
203+ .leftJoin (acceptedFile ).on (fileConditions (acceptedFile , acceptedUser ))
212204 .join (workspaceWorker ).on (
213205 workspaceWorker .workspace .id .eq (workspace .id )
214206 .and (workspaceWorker .user .eq (user ))
@@ -322,18 +314,10 @@ public Optional<SentSubstituteRequestDetailResponse> getSentRequestDetail(User u
322314 .join (workspaceShift .workspace , workspace )
323315 .join (requesterWorker ).on (requesterWorker .id .eq (substituteRequest .requesterId ))
324316 .join (requesterUser ).on (requesterUser .id .eq (requesterWorker .user .id ))
325- .leftJoin (requesterFile ).on (
326- requesterFile .targetType .eq (FileTargetType .USER_PROFILE ),
327- requesterFile .targetId .eq (requesterUser .id .stringValue ()),
328- requesterFile .status .eq (FileStatus .ATTACHED )
329- )
317+ .leftJoin (requesterFile ).on (fileConditions (requesterFile , requesterUser ))
330318 .leftJoin (acceptedWorker ).on (acceptedWorker .id .eq (substituteRequest .acceptedWorkerId ))
331319 .leftJoin (acceptedUser ).on (acceptedUser .id .eq (acceptedWorker .user .id ))
332- .leftJoin (acceptedFile ).on (
333- acceptedFile .targetType .eq (FileTargetType .USER_PROFILE ),
334- acceptedFile .targetId .eq (acceptedUser .id .stringValue ()),
335- acceptedFile .status .eq (FileStatus .ATTACHED )
336- )
320+ .leftJoin (acceptedFile ).on (fileConditions (acceptedFile , acceptedUser ))
337321 .where (
338322 substituteRequest .id .eq (requestId )
339323 .and (requesterWorker .user .eq (user ))
@@ -363,11 +347,7 @@ public Optional<SentSubstituteRequestDetailResponse> getSentRequestDetail(User u
363347 .from (substituteRequestTarget )
364348 .join (targetWorker ).on (targetWorker .id .eq (substituteRequestTarget .targetWorkerId ))
365349 .join (targetUser ).on (targetUser .id .eq (targetWorker .user .id ))
366- .leftJoin (targetFile ).on (
367- targetFile .targetType .eq (FileTargetType .USER_PROFILE ),
368- targetFile .targetId .eq (targetUser .id .stringValue ()),
369- targetFile .status .eq (FileStatus .ATTACHED )
370- )
350+ .leftJoin (targetFile ).on (fileConditions (targetFile , targetUser ))
371351 .where (substituteRequestTarget .substituteRequest .id .eq (requestId ))
372352 .orderBy (substituteRequestTarget .id .asc ())
373353 .fetch ();
@@ -436,18 +416,10 @@ public List<ManagerSubstituteRequestListResponse> getManagerRequestListWithCurso
436416 .join (workspaceShift .workspace , workspace )
437417 .join (requesterWorker ).on (requesterWorker .id .eq (substituteRequest .requesterId ))
438418 .join (requesterUser ).on (requesterUser .id .eq (requesterWorker .user .id ))
439- .leftJoin (requesterFile ).on (
440- requesterFile .targetType .eq (FileTargetType .USER_PROFILE ),
441- requesterFile .targetId .eq (requesterUser .id .stringValue ()),
442- requesterFile .status .eq (FileStatus .ATTACHED )
443- )
419+ .leftJoin (requesterFile ).on (fileConditions (requesterFile , requesterUser ))
444420 .leftJoin (acceptedWorker ).on (acceptedWorker .id .eq (substituteRequest .acceptedWorkerId ))
445421 .leftJoin (acceptedUser ).on (acceptedUser .id .eq (acceptedWorker .user .id ))
446- .leftJoin (acceptedFile ).on (
447- acceptedFile .targetType .eq (FileTargetType .USER_PROFILE ),
448- acceptedFile .targetId .eq (acceptedUser .id .stringValue ()),
449- acceptedFile .status .eq (FileStatus .ATTACHED )
450- )
422+ .leftJoin (acceptedFile ).on (fileConditions (acceptedFile , acceptedUser ))
451423 .where (
452424 ObjectUtils .isNotEmpty (workspaceId ) ? workspace .id .eq (workspaceId ) : null ,
453425 managerRequestStatusCondition (status ),
@@ -541,4 +513,12 @@ public List<SubstituteRequest> findAllPendingTargetRequestsByTargetWorkerId(Long
541513 )
542514 .fetch ();
543515 }
516+
517+ private BooleanExpression [] fileConditions (QFile file , QUser user ) {
518+ return new BooleanExpression [] {
519+ file .targetType .eq (FileTargetType .USER_PROFILE ),
520+ file .targetId .eq (user .id .stringValue ()),
521+ file .status .eq (FileStatus .ATTACHED )
522+ };
523+ }
544524}
0 commit comments