|
|
@@ -3,13 +3,23 @@
|
|
|
*/
|
|
|
package kr.co.zumo.app.lifeplus.view.presenter.signup;
|
|
|
|
|
|
+import android.util.Log;
|
|
|
+
|
|
|
import java.util.List;
|
|
|
|
|
|
+import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
|
+import io.reactivex.disposables.Disposable;
|
|
|
+import io.reactivex.schedulers.Schedulers;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.LoginBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.PolicyBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.UserNoBean;
|
|
|
import kr.co.zumo.app.lifeplus.manager.ActionBarManager;
|
|
|
import kr.co.zumo.app.lifeplus.model.SignUpModel;
|
|
|
+import kr.co.zumo.app.lifeplus.model.SuperModel;
|
|
|
+import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
|
|
|
import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
|
|
|
import kr.co.zumo.app.lifeplus.view.Event;
|
|
|
+import kr.co.zumo.app.lifeplus.view.command.ActivityChangeCommand;
|
|
|
import kr.co.zumo.app.lifeplus.view.command.FragmentChangeCommand;
|
|
|
import kr.co.zumo.app.lifeplus.view.dialog.AlertDialog;
|
|
|
import kr.co.zumo.app.lifeplus.view.dialog.DialogBase;
|
|
|
@@ -37,6 +47,7 @@ public class SignUpAgreePresenter extends Presenter<SignUpModel, ISignUpAgreeVie
|
|
|
protected boolean isSaved = false;
|
|
|
protected boolean isViewReady = false;
|
|
|
DialogBase alertDialog;
|
|
|
+ Disposable disposable;
|
|
|
|
|
|
public SignUpAgreePresenter(SignUpModel model, ISignUpAgreeView view) {
|
|
|
super(model, view);
|
|
|
@@ -72,6 +83,11 @@ public class SignUpAgreePresenter extends Presenter<SignUpModel, ISignUpAgreeVie
|
|
|
alertDialog.dispose();
|
|
|
alertDialog = null;
|
|
|
}
|
|
|
+
|
|
|
+ if (null != disposable) {
|
|
|
+ disposable.dispose();
|
|
|
+ disposable = null;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -89,7 +105,7 @@ public class SignUpAgreePresenter extends Presenter<SignUpModel, ISignUpAgreeVie
|
|
|
signUp();
|
|
|
}
|
|
|
else if (event.getInteger() == SignUpModel.EVENT_JOINED) {
|
|
|
- onCommand(new FragmentChangeCommand(ScreenID.SIGN_UP_COMPLETED, ScreenID.DIRECTION_NEXT));
|
|
|
+ login();
|
|
|
}
|
|
|
break;
|
|
|
case Event.ERROR:
|
|
|
@@ -108,6 +124,40 @@ public class SignUpAgreePresenter extends Presenter<SignUpModel, ISignUpAgreeVie
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void login() {
|
|
|
+ disposable = new LifeplusAPIRepository().selectMember(new UserNoBean(model.getUserId()))
|
|
|
+ .subscribeOn(Schedulers.io())
|
|
|
+ .observeOn(AndroidSchedulers.mainThread())
|
|
|
+ .subscribe(loginResultBean -> {
|
|
|
+ Log.i("APP# SignUpAgreePresenter | login", "| loginResultBean: " + loginResultBean.toPrettyJson());
|
|
|
+ if (loginResultBean.isSuccess()) {
|
|
|
+ LoginBean loginBean = loginResultBean.getData();
|
|
|
+ if (loginBean.isNormal()) {
|
|
|
+ // token 저장
|
|
|
+ SuperModel.getInstance().setToken(loginBean.getToken());
|
|
|
+ onCommand(new FragmentChangeCommand(ScreenID.SIGN_UP_COMPLETED, ScreenID.DIRECTION_NEXT));
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if (loginBean.getBlockStatus().equals(LoginBean.LOCK_STATUS_BLOCK)) {
|
|
|
+ // 블럭 계정
|
|
|
+ onCommand(new ActivityChangeCommand(ScreenID.ACTIVITY_MEMBER_BLOCK, ScreenID.DIRECTION_NEXT));
|
|
|
+ }
|
|
|
+ else if (loginBean.getMemberStatus().equals(LoginBean.USER_STATUS_REST)) {
|
|
|
+ // 휴면 계정
|
|
|
+ onCommand(new ActivityChangeCommand(ScreenID.ACTIVITY_MEMBER_REST, ScreenID.DIRECTION_NEXT));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ // 서버와 통신 완료 후 에러 리턴
|
|
|
+ showErrorPopup("login - " + loginResultBean.getReturnMessage());
|
|
|
+ }
|
|
|
+ }, e -> {
|
|
|
+ // 서버와 통신이 되지 않은 에러
|
|
|
+ showErrorPopup("login - " + e.getLocalizedMessage());
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
private void showErrorPopup(String errorMessage) {
|
|
|
|
|
|
alertDialog = DialogBuilder.create(DialogID.ALERT)
|