|
|
@@ -5,9 +5,7 @@ package kr.co.zumo.app.lifeplus.model.module;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
-import io.reactivex.Observable;
|
|
|
import io.reactivex.Single;
|
|
|
-import io.reactivex.functions.Consumer;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.ContentsFlagBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.ContentsFlagResultBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.LoginResultBean;
|
|
|
@@ -31,32 +29,42 @@ public class APIMemberSelectModule extends LifeplusAPIModule<RequestBean, LoginR
|
|
|
@Override
|
|
|
protected Single<LoginResultBean> getAPI(RequestBean requestBean) {
|
|
|
// login
|
|
|
- Single<LoginResultBean> login = new LifeplusAPIRepository().selectMember(requestBean)
|
|
|
- .doOnSuccess(new Consumer<LoginResultBean>() {
|
|
|
- @Override
|
|
|
- public void accept(LoginResultBean loginResultBean) throws Exception {
|
|
|
- new LoginModuleParser(SuperModel.getInstance()).parse(loginResultBean);
|
|
|
- }
|
|
|
- });
|
|
|
+ return new LifeplusAPIRepository().selectMember(requestBean)
|
|
|
+ .doOnError(throwable -> {
|
|
|
+ ContentsFlagHelper.getInstance().dispose();
|
|
|
+ ContentsFlagHelper.getInstance().load().subscribe();
|
|
|
+ new LoginModuleParser(SuperModel.getInstance()).error();
|
|
|
+ })
|
|
|
+ .flatMap(loginResultBean -> {
|
|
|
|
|
|
- // contents flag
|
|
|
- ContentsFlagHelper.getInstance().dispose();
|
|
|
- Single<ContentsFlagResultBean> flags = ContentsFlagHelper.getInstance().load()
|
|
|
- .onErrorReturn(throwable -> { // 에러 시 빈 데이터로 대체
|
|
|
- ContentsFlagResultBean tempBean = new ContentsFlagResultBean();
|
|
|
- ContentsFlagBean data = new ContentsFlagBean();
|
|
|
- data.setBookmarkedList(new ArrayList<>());
|
|
|
- data.setLikedList(new ArrayList<>());
|
|
|
- tempBean.setData(data);
|
|
|
- return new ContentsFlagResultBean();
|
|
|
- });
|
|
|
+ // 로그인 결과를 파싱 -> 상태를 저장
|
|
|
+ new LoginModuleParser(SuperModel.getInstance()).parse(loginResultBean);
|
|
|
|
|
|
- return Single.fromObservable(Observable.combineLatest(login.toObservable(), flags.toObservable(), (loginResultBean, flagResultBean) -> loginResultBean))
|
|
|
- .doOnSuccess(loginResultBean -> {
|
|
|
// 로그인 이후 fcm 토근 저장
|
|
|
if (loginResultBean.isSuccess()) {
|
|
|
FirebaseHelper.getInstance().init();
|
|
|
}
|
|
|
+
|
|
|
+ // contents flag
|
|
|
+ ContentsFlagHelper.getInstance().dispose();
|
|
|
+ return ContentsFlagHelper.getInstance().load()
|
|
|
+ .onErrorReturn(throwable -> { // 에러 시 빈 데이터로 대체
|
|
|
+ ContentsFlagResultBean tempBean = new ContentsFlagResultBean();
|
|
|
+ ContentsFlagBean data = new ContentsFlagBean();
|
|
|
+ data.setBookmarkedList(new ArrayList<>());
|
|
|
+ data.setLikedList(new ArrayList<>());
|
|
|
+ tempBean.setData(data);
|
|
|
+ return tempBean;
|
|
|
+ }).map(contentsFlagResultBean -> loginResultBean);
|
|
|
});
|
|
|
+
|
|
|
+
|
|
|
+// return Single.fromObservable(Observable.combineLatest(login.toObservable(), flags.toObservable(), (loginResultBean, flagResultBean) -> loginResultBean))
|
|
|
+// .doOnSuccess(loginResultBean -> {
|
|
|
+// // 로그인 이후 fcm 토근 저장
|
|
|
+// if (loginResultBean.isSuccess()) {
|
|
|
+// FirebaseHelper.getInstance().init();
|
|
|
+// }
|
|
|
+// });
|
|
|
}
|
|
|
}
|