فهرست منبع

[회원가입][New] 모바일 인증 API 추가

hyodong.min 7 سال پیش
والد
کامیت
c4e23a978f

+ 5 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/bean/LifeplusAuthBean.java

@@ -1,12 +1,14 @@
 /*
  * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
  */
-package kr.co.zumo.app.lifeplus.bean;
+package kr.co.zumo.app.lifeplus.bean.api;
 
 import com.google.gson.annotations.SerializedName;
 
+import kr.co.zumo.app.lifeplus.bean.JsonBeanBase;
+
 /**
- * LifeplusAuthBean
+ * LifeplusAPIBean
  * <pre>
  * </pre>
  *
@@ -15,7 +17,7 @@ import com.google.gson.annotations.SerializedName;
  * @history 민효동   [2018. 9. 19.]   [최초 작성]
  * @since 2018. 9. 19.
  */
-public class LifeplusAuthBean extends JsonBeanBase {
+public class LifeplusAPIBean extends JsonBeanBase {
 
   public static int RETURN_SUCCESS = 0;
   public static int RETURN_PARAMETER_ERROR = -1;

+ 44 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/MobileAuthorizationBean.java

@@ -0,0 +1,44 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.bean.api;
+
+import com.google.gson.annotations.SerializedName;
+
+import kr.co.zumo.app.lifeplus.bean.JsonBeanBase;
+
+/**
+ * MobileAuthorizationBean
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 9. 27.]   [최초 작성]
+ * @since 2018. 9. 27.
+ */
+public class MobileAuthorizationBean extends JsonBeanBase {
+  /*
+  "name" :             이름(string) ,
+   "gender" :           성별(string) ,
+   "nationality" :      내외국인(bool)  ,
+   "phone_no" :         전화번호(string) ,
+   "birthdate" :        생년월일(string) ,
+   "device_no" :        기기번호(string) ,
+   "tele_company" :     통신사(string)
+   */
+  @SerializedName("name")
+  private String name;
+  @SerializedName("gender")
+  private String gender;
+  @SerializedName("nationality")
+  private String nationality;
+  @SerializedName("phone_no")
+  private String phoneNumber;
+  @SerializedName("birthdate")
+  private String birthDate;
+  @SerializedName("device_no")
+  private String deviceUuid;
+  @SerializedName("tele_company")
+  private String mobileCompany;
+}

+ 45 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/MobileAuthorizationConfirmBean.java

@@ -0,0 +1,45 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.bean.api;
+
+import com.google.gson.annotations.SerializedName;
+
+import kr.co.zumo.app.lifeplus.bean.JsonBeanBase;
+
+/**
+ * MobileAuthorizationBean
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 9. 27.]   [최초 작성]
+ * @since 2018. 9. 27.
+ */
+public class MobileAuthorizationConfirmBean extends JsonBeanBase {
+  /*
+  ""auth_no"" : 인증번호(string) ,
+  ""device_no"" :  기기번호(string)
+   */
+  @SerializedName("auth_no")
+  private String authorizationNumber;
+  @SerializedName("device_no")
+  private String deviceUuid;
+
+  public String getAuthorizationNumber() {
+    return authorizationNumber;
+  }
+
+  public void setAuthorizationNumber(String authorizationNumber) {
+    this.authorizationNumber = authorizationNumber;
+  }
+
+  public String getDeviceUuid() {
+    return deviceUuid;
+  }
+
+  public void setDeviceUuid(String deviceUuid) {
+    this.deviceUuid = deviceUuid;
+  }
+}

+ 10 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPI.java

@@ -4,8 +4,10 @@
 package kr.co.zumo.app.lifeplus.network.api;
 
 import io.reactivex.Single;
-import kr.co.zumo.app.lifeplus.bean.LifeplusAuthBean;
-import retrofit2.http.Header;
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
+import kr.co.zumo.app.lifeplus.bean.api.MobileAuthorizationBean;
+import kr.co.zumo.app.lifeplus.bean.api.MobileAuthorizationConfirmBean;
+import retrofit2.http.Body;
 import retrofit2.http.POST;
 
 /**
@@ -19,6 +21,10 @@ import retrofit2.http.POST;
  * @since 2018-09-23
  */
 public interface LifeplusAPI {
-  @POST("api/v1/simple/simpleCheck")
-  Single<LifeplusAuthBean> verifyPin(@Header("device_token") String deviceId, @Header("pin_code") String pin);
+
+  @POST("api/v1/mobileAuth/mobileAuthRequest.plus")
+  Single<LifeplusAPIBean> requestMobileAuthorizationNumber(@Body MobileAuthorizationBean bean);
+
+  @POST("api/v1/mobileAuth/mobileAuthConfirm.plus")
+  Single<LifeplusAPIBean> requestMobileAuthorization(@Body MobileAuthorizationConfirmBean bean);
 }

+ 18 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIService.java

@@ -4,8 +4,9 @@
 package kr.co.zumo.app.lifeplus.network.api;
 
 import io.reactivex.Single;
-import io.reactivex.schedulers.Schedulers;
-import kr.co.zumo.app.lifeplus.bean.LifeplusAuthBean;
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
+import kr.co.zumo.app.lifeplus.bean.api.MobileAuthorizationBean;
+import kr.co.zumo.app.lifeplus.bean.api.MobileAuthorizationConfirmBean;
 import kr.co.zumo.app.lifeplus.config.NetworkConfig;
 
 /**
@@ -28,13 +29,22 @@ public class LifeplusAPIService extends RetrofitService {
   }
 
   /**
-   * 핀 인증 api
+   * 모바일 인증 번호 요청
    *
-   * @param uuid         장치 고유 번호
-   * @param encryptedPin 암호화된 핀
-   * @return rx single with LifeplusAuthBean
+   * @param bean MobileAuthorizationBean
+   * @return rx single with LifeplusAPIBean
    */
-  public static Single<LifeplusAuthBean> verifyPin(String uuid, String encryptedPin) {
-    return api(AUTH_URL).verifyPin(uuid, encryptedPin).subscribeOn(Schedulers.io());
+  public static Single<LifeplusAPIBean> requestMobileAuthorizationNumber(MobileAuthorizationBean bean) {
+    return api(AUTH_URL).requestMobileAuthorizationNumber(bean);
+  }
+
+  /**
+   * 인증 번호 확인 요청
+   *
+   * @param bean MobileAuthorizationConfirmBean
+   * @return rx single with LifeplusAPIBean
+   */
+  public static Single<LifeplusAPIBean> requestMobileAuthorization(MobileAuthorizationConfirmBean bean) {
+    return api(AUTH_URL).requestMobileAuthorization(bean);
   }
 }

+ 11 - 3
app/src/test/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIServiceTest.java

@@ -3,7 +3,9 @@ package kr.co.zumo.app.lifeplus.network.api;
 import org.junit.Test;
 
 import io.reactivex.Single;
-import kr.co.zumo.app.lifeplus.bean.LifeplusAuthBean;
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
+import kr.co.zumo.app.lifeplus.bean.api.MobileAuthorizationBean;
+import kr.co.zumo.app.lifeplus.bean.api.MobileAuthorizationConfirmBean;
 
 import static junit.framework.Assert.assertTrue;
 
@@ -20,8 +22,14 @@ import static junit.framework.Assert.assertTrue;
 public class LifeplusAPIServiceTest {
 
   @Test
-  public void verifyPin() {
-    Single<LifeplusAuthBean> test = LifeplusAPIService.verifyPin("uuid", "pin");
+  public void requestMobileAuthorizationNumber() {
+    Single<LifeplusAPIBean> test = LifeplusAPIService.requestMobileAuthorizationNumber(new MobileAuthorizationBean());
+    assertTrue(null != test);
+  }
+
+  @Test
+  public void requestMobileAuthorization() {
+    Single<LifeplusAPIBean> test = LifeplusAPIService.requestMobileAuthorization(new MobileAuthorizationConfirmBean());
     assertTrue(null != test);
   }
 }