Skip to content

Commit c4af090

Browse files
committed
refactor: 팀 추천 API 서비스 호출 순서 변경
1 parent e4eb578 commit c4af090

3 files changed

Lines changed: 21 additions & 24 deletions

File tree

src/main/kotlin/gat_be/dev/domain/team/controller/TeamController.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import gat_be.dev.domain.team.enums.TechStackRole
1010
import gat_be.dev.domain.team.facade.TeamListFacade
1111
import gat_be.dev.domain.team.facade.TeamInfoFacade
1212
import gat_be.dev.domain.team.facade.TeamManageFacade
13-
import gat_be.dev.domain.team.service.TeamService
13+
import gat_be.dev.domain.team.infra.service.TeamAIService
1414
import io.swagger.v3.oas.annotations.Operation
1515
import io.swagger.v3.oas.annotations.media.Content
1616
import io.swagger.v3.oas.annotations.media.Schema
@@ -27,7 +27,7 @@ class TeamController(
2727
private val teamManageFacade: TeamManageFacade,
2828
private val teamInfoFacade: TeamInfoFacade,
2929
private val teamListFacade: TeamListFacade,
30-
private val teamService: TeamService,
30+
private val teamAIService: TeamAIService
3131
) {
3232

3333
@PostMapping("")
@@ -105,9 +105,8 @@ class TeamController(
105105
@AuthenticationPrincipal userId: Long,
106106
@Valid @RequestBody request: TeamRecommendRequest
107107
): ResponseEntity<ApiResponse<TeamListResponse>> {
108-
val response = teamService.recommendTeamListByAI(userId,request)
108+
val response = teamAIService.recommendTeamListByAI(userId,request)
109109
return ApiResponse.success(SuccessStatus.GET_TEAM_LIST_FOR_SEARCH_SUCCESS, response)
110110
}
111111

112-
113112
}

src/main/kotlin/gat_be/dev/domain/team/infra/service/TeamAIService.kt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package gat_be.dev.domain.team.infra.service
22

33
import gat_be.dev.common.config.FastAPIConfig
4+
import gat_be.dev.common.exception.GeneralException
5+
import gat_be.dev.common.status.ErrorStatus
6+
import gat_be.dev.domain.team.dto.request.TeamRecommendRequest
47
import gat_be.dev.domain.team.infra.dto.AITeamRecommendRequest
58
import gat_be.dev.domain.team.dto.response.TeamListResponse
69
import org.springframework.core.ParameterizedTypeReference
@@ -14,12 +17,23 @@ class TeamAIService(
1417
private val restTemplate: RestTemplate,
1518
private val fastAPIConfig: FastAPIConfig
1619
) {
17-
fun recommendTeams(request: AITeamRecommendRequest): TeamListResponse {
20+
fun recommendTeamListByAI(
21+
userId:Long,
22+
request: TeamRecommendRequest
23+
): TeamListResponse {
24+
25+
val aiTeamRecommendRequest = AITeamRecommendRequest(
26+
userId = userId,
27+
skills = request.skills,
28+
interests = request.interests,
29+
teamPreference = request.teamPreference,
30+
)
31+
1832
val headers = HttpHeaders().apply {
1933
contentType = MediaType.APPLICATION_JSON
2034
}
2135

22-
val entity = HttpEntity(request, headers)
36+
val entity = HttpEntity(aiTeamRecommendRequest, headers)
2337

2438
val response = try {
2539
restTemplate.exchange(
@@ -34,7 +48,8 @@ class TeamAIService(
3448
throw RuntimeException("FastAPI 호출 중 오류 발생", e)
3549
}
3650

37-
return response.body ?: throw RuntimeException("FastAPI 응답이 비어있습니다.")
51+
return response.body ?: throw GeneralException(ErrorStatus.INTERNAL_SERVER_ERROR)
3852
}
53+
3954
}
4055

src/main/kotlin/gat_be/dev/domain/team/service/TeamService.kt

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package gat_be.dev.domain.team.service
22

33
import gat_be.dev.common.exception.GeneralException
4-
import gat_be.dev.domain.team.infra.dto.AITeamRecommendRequest
54
import gat_be.dev.common.status.ErrorStatus
65
import gat_be.dev.domain.review.dto.response.ReviewExistsInfo
76
import gat_be.dev.domain.team.dto.request.*
@@ -90,22 +89,6 @@ class TeamService(
9089
return team
9190
}
9291

93-
// AI 기반 팀 추천
94-
fun recommendTeamListByAI(
95-
userId: Long,
96-
request: TeamRecommendRequest
97-
): TeamListResponse {
98-
val aiTeamRecommendRequest = AITeamRecommendRequest(
99-
userId = userId,
100-
skills = request.skills,
101-
interests = request.interests,
102-
teamPreference = request.teamPreference,
103-
)
104-
105-
return teamAIService.recommendTeams(aiTeamRecommendRequest)
106-
}
107-
108-
10992
private fun applyTeamInfoUpdate(team: Team, request: UpdateTeamRequest) {
11093
team.run {
11194
request.host?.let(::updateHost)

0 commit comments

Comments
 (0)