Skip to content

Commit fd3adbf

Browse files
committed
feat : getSubwayTrainNowLocation() 함수 결과와 getNowStationLocation() 연결
1 parent 6b25338 commit fd3adbf

File tree

12 files changed

+62
-40
lines changed

12 files changed

+62
-40
lines changed

data/src/main/java/com/stop/data/di/NetworkModule.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ internal object NetworkModule {
2525

2626
private const val T_MAP_APP_KEY_NAME = "appKey"
2727
private const val OPEN_API_SEOUL_KEY_NAME = "KEY"
28+
private const val SW_OPEN_API_SEOUL_KEY_NAME = "KEY"
2829
private const val APIS_KEY_NAME = "ServiceKey"
2930
private const val WS_KEY_NAME = "ServiceKey"
3031

@@ -154,6 +155,10 @@ internal object NetworkModule {
154155
OPEN_API_SEOUL_KEY_NAME,
155156
BuildConfig.BUS_KEY
156157
)
158+
url.contains(BuildConfig.SW_OPEN_API_SEOUL_URL) -> Pair(
159+
SW_OPEN_API_SEOUL_KEY_NAME,
160+
BuildConfig.SUBWAY_KEY
161+
)
157162
url.contains(BuildConfig.T_MAP_URL) -> Pair(
158163
T_MAP_APP_KEY_NAME,
159164
BuildConfig.T_MAP_APP_KEY
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.stop.data.remote.model.nowlocation.subway
22

3+
import android.util.Log
34
import com.squareup.moshi.JsonClass
45
import com.stop.data.model.nowlocation.SubwayTrainRealTimePositionRepositoryItem
56

@@ -8,18 +9,21 @@ data class SubwayTrainNowLocationResponse(
89
val realtimePositionList: List<TrainLocationInfo>
910
) {
1011
fun toRepositoryModel(trainNumber: String): SubwayTrainRealTimePositionRepositoryItem {
12+
Log.d("MissionFragment","mission ${realtimePositionList.first { it.trainNumber == trainNumber }}")
13+
1114
return realtimePositionList.first { it.trainNumber == trainNumber }.run {
1215
SubwayTrainRealTimePositionRepositoryItem(
1316
subwayId = subwayId,
1417
subwayName = stationName,
1518
stationId = stationId,
16-
stationName = stationName,
19+
stationName = stationName + STATION,
1720
trainNumber = this.trainNumber,
1821
trainStatus = trainStatus
1922
)
2023
}
2124
}
2225

23-
24-
26+
companion object {
27+
private const val STATION = ""
28+
}
2529
}

data/src/main/java/com/stop/data/remote/network/SwOpenApiSeoulService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import retrofit2.http.Path
99
internal interface SwOpenApiSeoulService {
1010

1111
@GET("{KEY}/{TYPE}/{SERVICE}/{START_INDEX}/{END_INDEX}/{STATION_NM}/")
12-
suspend fun getSubwayTrainNowLocationInfo(
12+
suspend fun getSubwayTrainNowStationInfo(
1313
@Path("KEY") key: String = BuildConfig.SUBWAY_KEY,
1414
@Path("SERVICE") serviceName: String = REAL_TIME_POSITION,
1515
@Path("TYPE") type: String = JSON,

data/src/main/java/com/stop/data/remote/source/nowlocation/NowLocationRemoteDataSource.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ interface NowLocationRemoteDataSource {
77

88
suspend fun getBusNowLocation(busRouteId: String, order: Int): BusInfoRepositoryItem
99

10-
suspend fun getSubwayTrainNowLocation(trainNumber: String, subwayNumber: Int): SubwayTrainRealTimePositionRepositoryItem
10+
suspend fun getSubwayTrainNowStation(trainNumber: String, subwayNumber: Int): SubwayTrainRealTimePositionRepositoryItem
1111
}

data/src/main/java/com/stop/data/remote/source/nowlocation/NowLocationRemoteDataSourceImpl.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ internal class NowLocationRemoteDataSourceImpl @Inject constructor(
2323
}
2424
}
2525

26-
override suspend fun getSubwayTrainNowLocation(trainNumber: String, subwayNumber: Int): SubwayTrainRealTimePositionRepositoryItem {
27-
with(swOpenApiSeoulService.getSubwayTrainNowLocationInfo(stationName = subwayNumber.toString() + LINE)) {
26+
override suspend fun getSubwayTrainNowStation(trainNumber: String, subwayNumber: Int): SubwayTrainRealTimePositionRepositoryItem {
27+
with(swOpenApiSeoulService.getSubwayTrainNowStationInfo(stationName = subwayNumber.toString() + LINE)) {
2828
return when (this) {
2929
is NetworkResult.Success -> data.toRepositoryModel(trainNumber)
3030
is NetworkResult.Failure -> throw IllegalArgumentException(message)

data/src/main/java/com/stop/data/repository/NearPlaceRepositoryImpl.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ internal class NearPlaceRepositoryImpl @Inject constructor(
2424
centerLat,
2525
appKey
2626
).onSuccess { places ->
27-
places.map {
27+
return places.map {
2828
it.toUseCaseModel()
2929
}
3030
}.onFailure {
@@ -46,7 +46,7 @@ internal class NearPlaceRepositoryImpl @Inject constructor(
4646
centerLat,
4747
appKey
4848
).onSuccess { places ->
49-
places.first().toNowStationLocationUseCaseModel()
49+
return places.first().toNowStationLocationUseCaseModel()
5050
}.onFailure {
5151
throw it
5252
}.getOrDefault(NowStationLocationUseCaseItem("", 0.0, 0.0)) as NowStationLocationUseCaseItem

data/src/main/java/com/stop/data/repository/NowLocationRepositoryImpl.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ class NowLocationRepositoryImpl @Inject constructor(
1414
return nowLocationRemoteDataSource.getBusNowLocation(busRouteId, order).toUseCaseModel()
1515
}
1616

17-
override suspend fun getSubwayTrainNowLocation(trainNumber: String, subwayNumber: Int): SubwayTrainRealTimePositionUseCaseItem {
18-
return nowLocationRemoteDataSource.getSubwayTrainNowLocation(trainNumber, subwayNumber).toUseCaseModel()
17+
override suspend fun getSubwayTrainNowStation(trainNumber: String, subwayNumber: Int): SubwayTrainRealTimePositionUseCaseItem {
18+
return nowLocationRemoteDataSource.getSubwayTrainNowStation(trainNumber, subwayNumber).toUseCaseModel()
1919
}
2020

2121
}

domain/src/main/java/com/stop/domain/di/UseCaseModule.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ internal interface UseCaseModule {
5656

5757
@Binds
5858
@Singleton
59-
fun provideSubwayTrainNowLocationUseCase(getSubwayTrainNowLocationUseCaseImpl: GetSubwayTrainNowLocationUseCaseImpl): GetSubwayTrainNowLocationUseCase
59+
fun provideSubwayTrainNowLocationUseCase(getSubwayTrainNowLocationUseCaseImpl: GetSubwayTrainNowStationUseCaseImpl): GetSubwayTrainNowStationUseCase
6060

6161
@Binds
6262
@Singleton

domain/src/main/java/com/stop/domain/repository/NowLocationRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ interface NowLocationRepository {
77

88
suspend fun getBusNowLocation(busRouteId: String, order: Int): BusInfoUseCaseItem
99

10-
suspend fun getSubwayTrainNowLocation(trainNumber: String, subwayNumber: Int): SubwayTrainRealTimePositionUseCaseItem
10+
suspend fun getSubwayTrainNowStation(trainNumber: String, subwayNumber: Int): SubwayTrainRealTimePositionUseCaseItem
1111

1212
}

domain/src/main/java/com/stop/domain/usecase/nowlocation/GetSubwayTrainNowLocationUseCase.kt renamed to domain/src/main/java/com/stop/domain/usecase/nowlocation/GetSubwayTrainNowStationUseCase.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.stop.domain.usecase.nowlocation
22

33
import com.stop.domain.model.nowlocation.SubwayTrainRealTimePositionUseCaseItem
44

5-
interface GetSubwayTrainNowLocationUseCase {
5+
interface GetSubwayTrainNowStationUseCase {
66

77
suspend operator fun invoke(trainNumber: String, subwayNumber: Int): SubwayTrainRealTimePositionUseCaseItem
88

0 commit comments

Comments
 (0)