浏览代码

[로그인][New] 잠긴 회원 처리

hyodong.min 7 年之前
父节点
当前提交
10b05f96b4

+ 10 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/activity/BlockMemberActivity.java

@@ -8,6 +8,7 @@ import android.os.Bundle;
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.manager.ActionBarManager;
 import kr.co.zumo.app.lifeplus.model.BlankModel;
+import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.IView;
 import kr.co.zumo.app.lifeplus.view.presenter.BlockMemberPresenter;
 
@@ -28,8 +29,16 @@ public class BlockMemberActivity extends ActivityBase<BlockMemberPresenter> impl
 
     setContentView(R.layout.activity_block_member);
 
-    findViewById(R.id.button_access_authority).setOnClickListener(v -> {
+    findViewById(R.id.button_block_confirm).setOnClickListener(v -> {
+      presenter.onEvent(new Event.Builder(Event.CONFIRM).build());
+    });
+
+    findViewById(R.id.button_block_member_close).setOnClickListener(v -> {
+      presenter.onEvent(new Event.Builder(Event.EXIT).build());
+    });
 
+    findViewById(R.id.text_view_rest_email_information).setOnClickListener(v -> {
+      presenter.onEvent(new Event.Builder(Event.EMAIL_CLICK).build());
     });
 
   }

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/Event.java

@@ -59,13 +59,14 @@ public class Event {
   public static final int DELETE = 30;
   public static final int COMPLETED = 31;
   public static final int TUTORIAL_END = 33;
+  public static final int EXIT = 34;
 
   @Retention(RetentionPolicy.SOURCE)
   @IntDef({
     NONE, CLICK, BACK, SIGN_UP, LOGIN, CHECK, UNCHECK, JOINED, TUTORIAL_LEFT, TUTORIAL_RIGHT,
     RETRY, INPUT_PIN, NETWORK_CONNECTED, CHANGED, INIT, DETAIL, ERROR, UNLOCK, RESET,
     SUCCESS, FAIL, CANCEL, EMAIL_CLICK, SPECIAL_CODE_CLICK, CONFIRM, RESULT, FAQ, DELETE,
-    COMPLETED, TUTORIAL_END,
+    COMPLETED, TUTORIAL_END, EXIT,
   })
   public @interface ID {}
 

+ 53 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/command/EmailSendingCommand.java

@@ -0,0 +1,53 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.view.command;
+
+import android.content.Intent;
+
+import kr.co.zumo.app.lifeplus.model.Model;
+import kr.co.zumo.app.lifeplus.view.IView;
+import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
+
+/**
+ * EmailSendingCommand
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018-10-08]   [최초 작성]
+ * @since 2018-10-08
+ */
+public class EmailSendingCommand extends Command<Model, IView, Presenter> {
+  String email;
+
+  public EmailSendingCommand(String email) {
+    this.email = email;
+  }
+
+  @Override
+  public void preExecute(Model model, IView view, Presenter presenter) {
+
+  }
+
+  @Override
+  public void execute(Model model, IView view, Presenter presenter) {
+    Intent email = new Intent(Intent.ACTION_SEND);
+    email.setType("plain/text");
+    // email setting 배열로 해놔서 복수 발송 가능
+    String[] address = {this.email};
+    email.putExtra(Intent.EXTRA_EMAIL, address);
+    view.getActivity().startActivity(email);
+  }
+
+  @Override
+  public void postExecute(Model model, IView view, Presenter presenter) {
+
+  }
+
+  @Override
+  public void dispose() {
+
+  }
+}

+ 10 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/auth/MobileAuthPresenter.java

@@ -351,7 +351,11 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
           .observeOn(AndroidSchedulers.mainThread())
           .subscribe(resultBean -> {
             Log.i("APP# MobileAuthPresenter | onAuthorizationConfirmButtonClick", "|" + resultBean.toPrettyJson());
-            if (resultBean.isSuccess()) {
+            if (resultBean.isSuccess()
+              || resultBean.getCode() == LifeplusAPIBean.RETURN_MOBILE_AUTH_ERROR_NEED_FOR_30_DAYS
+              || resultBean.getCode() == LifeplusAPIBean.RETURN_MOBILE_AUTH_ERROR_UNDER_14_YEARS
+              || resultBean.getCode() == LifeplusAPIBean.RETURN_MOBILE_AUTH_ERROR_ALREADY_MEMBER
+              ) {
               // 성공
               doSomeWhenConfirmSuccess(resultBean);
             }
@@ -518,12 +522,8 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
       // call api...
       Log.w("APP# MobileAuthPresenter | onAuthorizationNumberSendButtonClick", "|" + "call api ============ ");
 
-      numberRequestingCount++;
-
       prepareConfirm();
 
-      countRetryButton();
-
       doHideKeyBoard();
       view.setEnabledRequestNumberButton(false);
 
@@ -559,12 +559,17 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
   }
 
   private void doSomeWhenSendingFail() {
+    view.setEnabledRequestNumberButton(true);
     view.setEnabledRequestConfirmTextView(false);
     view.setEnabledRequestConfirmButton(false);
     showSendingPopup(R.string.phone_identify_submit_message_fail);
   }
 
   private void doSomeWhenSendingSuccess() {
+
+    numberRequestingCount++;
+    countRetryButton();
+
     view.setEnabledRequestConfirmTextView(true);
 
 //    showSendingPopup(R.string.phone_identify_submit_message_success);

+ 19 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/BlockMemberPresenter.java

@@ -3,9 +3,14 @@
  */
 package kr.co.zumo.app.lifeplus.view.presenter;
 
+import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.model.BlankModel;
+import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
+import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.IView;
+import kr.co.zumo.app.lifeplus.view.command.ActivityChangeCommand;
+import kr.co.zumo.app.lifeplus.view.command.EmailSendingCommand;
 
 /**
  * RestMemberPresenter
@@ -24,7 +29,8 @@ public class BlockMemberPresenter extends Presenter<BlankModel, IView> {
 
   @Override
   public boolean onBackPressed() {
-    return false;
+    onCommand(new ActivityChangeCommand(ScreenID.ACTIVITY_MAIN, ScreenID.DIRECTION_BACK));
+    return true;
   }
 
   @Override
@@ -54,7 +60,18 @@ public class BlockMemberPresenter extends Presenter<BlankModel, IView> {
 
   @Override
   protected void onEventInternal(Event event) {
-
+    switch (event.getEventId()) {
+      case Event.EXIT:
+        /* falls through */
+      case Event.CONFIRM:
+        onCommand(new ActivityChangeCommand(ScreenID.ACTIVITY_MAIN, ScreenID.DIRECTION_NEXT));
+        break;
+      case Event.EMAIL_CLICK:
+        onCommand(new EmailSendingCommand(ResourceUtil.getString(R.string.lifeplus_email)));
+        break;
+      default:
+        break;
+    }
   }
 
   @Override

+ 8 - 1
app/src/main/res/values/strings.xml

@@ -1,8 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE resources [
+  <!ENTITY lifeplus_email "lifeplus@hanhwa.com">
+  ]>
+
 <resources>
   <string name="empty_string" translatable="false"/>
   <string name="confirm">확인</string>
   <string name="faq">자주찾는 질문</string>
 
+  <string name="lifeplus_email">&lifeplus_email;</string>
+
   <string name="tutorial_title1">트렌디하게, 콘텐츠</string>
   <string name="tutorial_title1_message">소소한 일상부터 화제의 이슈까지\n다양하게 경험해보세요.</string>
   <string name="tutorial_title2">쏠쏠하게, 코인 쿠폰</string>
@@ -21,7 +28,7 @@
   <string name="rest_member_message_detail">회원님의 계정을 안전하게 보호하기 위해 1년 이상\n로그인하지 않은 계정은 휴면 상태로 전환됩니다.</string>
   <string name="rest_member_reset">서비스를 계속 이용하시려면\n아래 휴면해제 버튼을 탭해주세요.</string>
   <string name="rest_member_law">관련법령: 정보통신망 이용촉진 및 정보보호 등에 관한 법률</string>
-  <string name="rest_member_email_information">이메일 문의 <u>lifeplus@hanhwa.com</u></string>
+  <string name="rest_member_email_information">이메일 문의 <u>&lifeplus_email;</u></string>
   <string name="rest_member_button">휴면해제</string>
   <string name="rest_member_title">휴면계정 안내</string>
 

+ 6 - 1
app/src/sandbox/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIService.java

@@ -37,7 +37,12 @@ public class LifeplusAPIService implements LifeplusAPI {
 
   @Override
   public Single<LifeplusAPIBean> confirmMobileAuth(AuthConfirmRequestBean bean) {
-    return Single.fromCallable(() -> new LifeplusAPIBean(LifeplusAPIBean.RETURN_SUCCESS, ""));
+    return Single.fromCallable(() -> {
+      return new LifeplusAPIBean(LifeplusAPIBean.RETURN_SUCCESS, "");
+//      return new LifeplusAPIBean(LifeplusAPIBean.RETURN_MOBILE_AUTH_ERROR_NEED_FOR_30_DAYS, "");
+//      return new LifeplusAPIBean(LifeplusAPIBean.RETURN_MOBILE_AUTH_ERROR_ALREADY_MEMBER, "");
+//      return new LifeplusAPIBean(LifeplusAPIBean.RETURN_MOBILE_AUTH_ERROR_UNDER_14_YEARS, "");
+    });
   }
 
   @Override