@@ -3,7 +3,6 @@ package com.stop.domain.usecase.route
3
3
import com.stop.domain.model.geoLocation.AddressType
4
4
import com.stop.domain.model.route.Area
5
5
import com.stop.domain.model.route.TransportIdRequest
6
- import com.stop.domain.model.route.TransportLastTimeInfo
7
6
import com.stop.domain.model.route.TransportMoveType
8
7
import com.stop.domain.model.route.gyeonggi.GyeonggiBusStation
9
8
import com.stop.domain.model.route.seoul.bus.BusStationInfo
@@ -21,15 +20,12 @@ internal class GetLastTransportTimeUseCaseImpl @Inject constructor(
21
20
22
21
private val allowedSubwayLineForUse = (SUBWAY_LINE_ONE .. SUBWAY_LINE_EIGHT )
23
22
24
- override suspend fun invoke (itinerary : Itinerary ): TransportLastTimeInfo {
23
+ override suspend fun invoke (itinerary : Itinerary ): List < String ?> {
25
24
var transportIdRequests: List <TransportIdRequest ?> = createTransportIdRequests(itinerary)
26
25
transportIdRequests = convertStationId(transportIdRequests)
27
26
transportIdRequests = convertRouteId(transportIdRequests)
28
27
29
- val dataWithLastTime: List <String ?> = getLastTransportTime(transportIdRequests)
30
-
31
- // 막차 시간 중 가장 빠른 시간과 dataWithLastTime을 가지는 데이터 클래스 반환하기
32
- return TransportLastTimeInfo (dataWithLastTime.sortedBy { it }.first() ? : " " )
28
+ return getLastTransportTime(transportIdRequests)
33
29
}
34
30
35
31
private suspend fun getLastTransportTime (transportIdRequests : List <TransportIdRequest ?>): List <String ?> {
@@ -121,10 +117,10 @@ internal class GetLastTransportTimeUseCaseImpl @Inject constructor(
121
117
}
122
118
123
119
// 승차지, 도착지, 고유 번호를 알아내는데 필요한 정보로만 구성된 데이터 클래스로 변환하기
124
- private suspend fun createTransportIdRequests (itinerary : Itinerary ): List <TransportIdRequest > {
125
- return itinerary.routes.fold(listOf< TransportIdRequest > ()) { transportIdRequests, route ->
120
+ private suspend fun createTransportIdRequests (itinerary : Itinerary ): List <TransportIdRequest ? > {
121
+ return itinerary.routes.fold(listOf ()) { transportIdRequests, route ->
126
122
when (route) {
127
- is WalkRoute -> transportIdRequests
123
+ is WalkRoute -> transportIdRequests + null
128
124
is TransportRoute -> {
129
125
val startStation = route.stations.first()
130
126
val transportMoveType = TransportMoveType .getMoveTypeByName(route.mode.name)
@@ -144,7 +140,7 @@ internal class GetLastTransportTimeUseCaseImpl @Inject constructor(
144
140
destinationStationId = UNKNOWN_ID ,
145
141
)
146
142
}
147
- else -> transportIdRequests
143
+ else -> transportIdRequests + null
148
144
}
149
145
}
150
146
}
0 commit comments