@@ -21,9 +21,7 @@ final class HomeViewModel: ViewModelProtocol {
2121 case logEventDirect( name: String , label: String , value: String , category: String )
2222 case getUserScreenAction( Date , ScreenActionType , EventParameter . EventLabelNeededDuration ? = nil )
2323 case getNoticeBanner( Date ? )
24- case getAbTestResult( String )
25- case getBannerAbTest( String )
26- case getClubAbTest( String )
24+ case fetchBanner
2725 case logSessionEvent( EventLabelType , EventParameter . EventCategory , Any , String )
2826 }
2927
@@ -34,9 +32,8 @@ final class HomeViewModel: ViewModelProtocol {
3432 case updateNoticeBanners( [ NoticeArticleDto ] , ( ( String , String ) , Int ) ? )
3533 case putImage( ShopCategoryDto )
3634 case showForceUpdate( String )
37- case setAbTestResult( AssignAbTestResponse )
3835 case showForceModal
39- case updateBanner( BannerDto , AssignAbTestResponse )
36+ case updateBanner( BannerDto )
4037 case setHotClub( HotClubDto )
4138 case setClubCategories( ClubCategoriesDto )
4239 case updateLostItem( LostItemStats )
@@ -52,7 +49,6 @@ final class HomeViewModel: ViewModelProtocol {
5249 private let checkVersionUseCase : CheckVersionUseCase
5350 private let getUserScreenTimeUseCase : GetUserScreenTimeUseCase
5451 private let fetchHotNoticeArticlesUseCase : FetchHotNoticeArticlesUseCase
55- private let assignAbTestUseCase : AssignAbTestUseCase
5652 private let fetchKeywordNoticePhraseUseCase : FetchKeywordNoticePhraseUseCase
5753 private let fetchLostItemStatsUseCase : FetchLostItemStatsUseCase
5854 private let fetchUserDataUseCase = DefaultFetchUserDataUseCase ( userRepository: DefaultUserRepository ( service: DefaultUserService ( ) ) )
@@ -73,7 +69,6 @@ final class HomeViewModel: ViewModelProtocol {
7369 fetchShopCategoryListUseCase: FetchShopCategoryListUseCase ,
7470 dateProvider: DateProvider ,
7571 checkVersionUseCase: CheckVersionUseCase ,
76- assignAbTestUseCase: AssignAbTestUseCase ,
7772 fetchKeywordNoticePhraseUseCase: FetchKeywordNoticePhraseUseCase ,
7873 checkLoginUseCase: CheckLoginUseCase ,
7974 fetchLostItemStatsUseCase: FetchLostItemStatsUseCase
@@ -85,7 +80,6 @@ final class HomeViewModel: ViewModelProtocol {
8580 self . fetchShopCategoryListUseCase = fetchShopCategoryListUseCase
8681 self . dateProvider = dateProvider
8782 self . checkVersionUseCase = checkVersionUseCase
88- self . assignAbTestUseCase = assignAbTestUseCase
8983 self . fetchKeywordNoticePhraseUseCase = fetchKeywordNoticePhraseUseCase
9084 self . checkLoginUseCase = checkLoginUseCase
9185 self . fetchLostItemStatsUseCase = fetchLostItemStatsUseCase
@@ -99,6 +93,7 @@ final class HomeViewModel: ViewModelProtocol {
9993 self ? . getShopCategory ( )
10094 self ? . checkVersion ( )
10195 self ? . fetchUserData ( )
96+ self ? . fetchHotClub ( )
10297 case let . categorySelected( place) :
10398 self ? . getDiningInformation ( diningPlace: place)
10499 case . getDiningInfo:
@@ -111,15 +106,10 @@ final class HomeViewModel: ViewModelProtocol {
111106 self ? . getScreenAction ( time: time, screenActionType: screenActionType, eventLabelNeededDuration: eventLabelNeededDuration)
112107 case let . getNoticeBanner( date) :
113108 self ? . getNoticeBanners ( date: date)
114- case let . getAbTestResult( abTestTitle) :
115- break
116- // self?.getAbTestResult(abTestTitle: abTestTitle)
117- case . getBannerAbTest( let request) :
118- self ? . getBannerAbTest ( request: request)
109+ case . fetchBanner:
110+ self ? . fetchBanner ( )
119111 case let . logEventDirect( name, label, value, category) :
120112 self ? . logAnalyticsEventUseCase. logEvent ( name: name, label: label, value: value, category: category)
121- case . getClubAbTest( let request) :
122- self ? . getClubAbTest ( request: request)
123113 case let . logSessionEvent( label, category, value, sessionId) :
124114 self ? . makeLogAnalyticsSessionEvent ( label: label, category: category, value: value, sessionId: sessionId)
125115 }
@@ -131,13 +121,13 @@ final class HomeViewModel: ViewModelProtocol {
131121
132122extension HomeViewModel {
133123
134- private func fetchBanner( abTestResult : AssignAbTestResponse ) {
124+ private func fetchBanner( ) {
135125 fetchBannerUseCase. execute ( ) . sink { completion in
136126 if case let . failure( error) = completion {
137127 Log . make ( ) . error ( " \( error) " )
138128 }
139129 } receiveValue: { [ weak self] response in
140- self ? . outputSubject. send ( . updateBanner( response, abTestResult ) )
130+ self ? . outputSubject. send ( . updateBanner( response) )
141131 } . store ( in: & subscriptions)
142132 }
143133 private func fetchHotClub( ) {
@@ -159,32 +149,6 @@ extension HomeViewModel {
159149 self ? . outputSubject. send ( . setClubCategories( categories) )
160150 } ) . store ( in: & subscriptions)
161151 }
162- private func getClubAbTest( request: String ) {
163- assignAbTestUseCase. execute ( requestModel: AssignAbTestRequest ( title: request) )
164- . sink ( receiveCompletion: { completion in
165- if case let . failure( error) = completion {
166- Log . make ( ) . error ( " \( error) " )
167- }
168- } , receiveValue: { [ weak self] abTestResult in
169- print ( abTestResult)
170- if abTestResult. variableName == . hot {
171- self ? . fetchHotClub ( )
172- self ? . logAnalyticsEventUseCase. logEvent ( name: " AB_TEST " , label: " CAMPUS_club_1 " , value: " design_B " , category: " a/b test 로깅(메인화면 동아리 진입) " )
173- } else {
174- self ? . fetchClubCategories ( )
175- self ? . logAnalyticsEventUseCase. logEvent ( name: " AB_TEST " , label: " CAMPUS_club_1 " , value: " design_A " , category: " a/b test 로깅(메인화면 동아리 진입) " ) }
176- } ) . store ( in: & subscriptions)
177- }
178- private func getBannerAbTest( request: String ) {
179- assignAbTestUseCase. execute ( requestModel: AssignAbTestRequest ( title: request) )
180- . sink ( receiveCompletion: { completion in
181- if case let . failure( error) = completion {
182- Log . make ( ) . error ( " \( error) " )
183- }
184- } , receiveValue: { [ weak self] abTestResult in
185- self ? . fetchBanner ( abTestResult: abTestResult)
186- } ) . store ( in: & subscriptions)
187- }
188152
189153 private func fetchUserData( ) {
190154 fetchUserDataUseCase. execute ( ) . sink { completion in
@@ -302,26 +266,6 @@ extension HomeViewModel {
302266 }
303267 } . store ( in: & subscriptions)
304268 }
305-
306-
307- private func getAbTestResult( abTestTitle: String ) {
308- assignAbTestUseCase. execute ( requestModel: AssignAbTestRequest ( title: abTestTitle) )
309- . throttle ( for: . milliseconds( 500 ) , scheduler: RunLoop . main, latest: true )
310- . sink ( receiveCompletion: { [ weak self] completion in
311- if case let . failure( error) = completion {
312- Log . make ( ) . error ( " \( error) " )
313- if abTestTitle == " c_keyword_ banner_v1 " {
314- self ? . getNoticeBanners ( date: nil )
315- }
316- }
317- } , receiveValue: { [ weak self] abTestResult in
318- print ( abTestResult)
319- self ? . outputSubject. send ( . setAbTestResult( abTestResult) )
320- if abTestTitle == " c_main_dining_v1 " {
321- self ? . getAbTestResult ( abTestTitle: " c_keyword_ banner_v1 " )
322- }
323- } ) . store ( in: & subscriptions)
324- }
325269
326270 private func makeLogAnalyticsSessionEvent( label: EventLabelType , category: EventParameter . EventCategory , value: Any , sessionId: String ) {
327271 logAnalyticsEventUseCase. executeWithSessionId ( label: label, category: category, value: value, sessionId: sessionId)
0 commit comments