浏览代码

[공통][Common] ParameterMapper 리팩토링

hyodong.min 6 年之前
父节点
当前提交
cb252bbbed

+ 2 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/helper/FirebaseMessagingHelper.java

@@ -13,9 +13,8 @@ import io.reactivex.disposables.Disposable;
 import io.reactivex.schedulers.Schedulers;
 import kr.co.zumo.app.lifeplus.bean.api.TokenRequestBean;
 import kr.co.zumo.app.lifeplus.config.NetworkConfig;
-import kr.co.zumo.app.lifeplus.model.BasicParamProvider;
+import kr.co.zumo.app.lifeplus.model.module.LifeplusAPIModule;
 import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
-import kr.co.zumo.app.lifeplus.network.api.ParameterMapper;
 import kr.co.zumo.app.lifeplus.view.ToastProvider;
 
 /**
@@ -98,7 +97,7 @@ public class FirebaseMessagingHelper {
    * @param failRunnable
    */
   public Disposable sendRegistrationToServer(String token, Runnable successRunnable, Runnable failRunnable) {
-    disposable = new LifeplusAPIRepository().saveFcmToken(new ParameterMapper<TokenRequestBean>().map(new BasicParamProvider(), new TokenRequestBean(token)))
+    disposable = new LifeplusAPIRepository().saveFcmToken(LifeplusAPIModule.getMappedRequest(new TokenRequestBean(token)))
       .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
       .subscribe(resultBean -> {
         if (resultBean.isSuccess()) {

+ 0 - 28
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIEventDetailModule.java

@@ -49,33 +49,5 @@ public class APIEventDetailModule extends LifeplusAPIModule<ItemNoRequestBean, E
 
         return eventDetailResultBean;
       });
-
-    // api 내용에 추가되어 삭제
-
-//      .flatMap(eventDetailResultBean -> {
-//        //new ParameterMapper<ItemNoRequestBean>().map(new BasicParamProvider(), requestBean)
-//        // 당첨자 발표했는지 구분
-//        return new LifeplusAPIRepository().getEventWinner(requestBean)
-//          .onErrorReturn(throwable -> {
-//            EventWinnerResultBean bean = new EventWinnerResultBean();
-//            EventWinnerListBean listBean = new EventWinnerListBean();
-//            listBean.setWinnerList(new ArrayList<>());
-//            bean.setData(listBean);
-//            return bean;
-//          })
-//          .map(eventWinnerResultBean -> {
-//            EventWinnerListBean resultBean = eventWinnerResultBean.getData();
-//
-//            if (null != resultBean) {
-//              List<EventWinnerBean> list = resultBean.getWinnerList();
-//              if (null != list && null != eventDetailResultBean.getData()) {
-//                eventDetailResultBean.getData().setWinner(APIData.valueOf(resultBean.getWinnerList().size() > 0));
-//                Log.d("APP# APIEventDetailModule | getAPI", "|" + " winner -> " + eventDetailResultBean.getData().getWinner());
-//              }
-//            }
-//
-//            return eventDetailResultBean;
-//          });
-//      });
   }
 }

+ 1 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIEventPolicyModule.java

@@ -10,9 +10,7 @@ import io.reactivex.Observable;
 import io.reactivex.Single;
 import kr.co.zumo.app.lifeplus.bean.api.EventPolicyRequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
-import kr.co.zumo.app.lifeplus.model.BasicParamProvider;
 import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
-import kr.co.zumo.app.lifeplus.network.api.ParameterMapper;
 
 /**
  * APIEventPolicyModule
@@ -33,7 +31,7 @@ public class APIEventPolicyModule extends LifeplusAPIModule<EventPolicyRequestBe
     if (null != requestBean.getRequestBeans() && requestBean.getRequestBeans().size() > 0) {
       List<Observable<LifeplusAPIBean>> list = new ArrayList<>();
       for (EventPolicyRequestBean bean : requestBean.getRequestBeans()) {
-        list.add(new LifeplusAPIRepository().setEventPolicy(new ParameterMapper<EventPolicyRequestBean>().map(new BasicParamProvider(), bean)).toObservable());
+        list.add(new LifeplusAPIRepository().setEventPolicy(LifeplusAPIModule.getMappedRequest(bean)).toObservable());
       }
       return Single.fromObservable(Observable.combineLatest(list, objects -> new LifeplusAPIBean(LifeplusAPIBean.RETURN_SUCCESS, "")));
     }

+ 10 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/LifeplusAPIModule.java

@@ -6,6 +6,7 @@ package kr.co.zumo.app.lifeplus.model.module;
 import io.reactivex.Single;
 import kr.co.zumo.app.lifeplus.bean.api.APIBean;
 import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
+import kr.co.zumo.app.lifeplus.model.BasicParamProvider;
 import kr.co.zumo.app.lifeplus.model.IParamProvider;
 import kr.co.zumo.app.lifeplus.network.api.ParameterMapper;
 
@@ -31,4 +32,13 @@ public abstract class LifeplusAPIModule<T extends RequestBean, B extends APIBean
 
   protected abstract Single<B> getAPI(T requestBean);
 
+  /**
+   * 기본 파라메터가 맵핑된 request 객체 반환
+   *
+   * @param requestBean
+   * @return
+   */
+  public static <R extends RequestBean> R getMappedRequest(R requestBean) {
+    return new ParameterMapper<R>().map(new BasicParamProvider(), requestBean);
+  }
 }

+ 10 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/ZumoAPIModule.java

@@ -6,6 +6,7 @@ package kr.co.zumo.app.lifeplus.model.module;
 import io.reactivex.Single;
 import kr.co.zumo.app.lifeplus.bean.api.APIBean;
 import kr.co.zumo.app.lifeplus.bean.api.ZumoRequestBean;
+import kr.co.zumo.app.lifeplus.model.BasicParamProvider;
 import kr.co.zumo.app.lifeplus.model.IParamProvider;
 import kr.co.zumo.app.lifeplus.network.api.ZumoParameterMapper;
 
@@ -31,4 +32,13 @@ public abstract class ZumoAPIModule<T extends ZumoRequestBean, B extends APIBean
 
   protected abstract Single<B> getAPI(T requestBean);
 
+  /**
+   * 기본 파라메터가 맵핑된 request 객체 반환
+   *
+   * @param requestBean
+   * @return
+   */
+  public static <R extends ZumoRequestBean> R getMappedRequest(R requestBean) {
+    return new ZumoParameterMapper<R>().map(new BasicParamProvider(), requestBean);
+  }
 }

+ 2 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/ContentsFlagHelper.java

@@ -24,13 +24,12 @@ import kr.co.zumo.app.lifeplus.bean.api.ItemNoBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
 import kr.co.zumo.app.lifeplus.bean.api.ListItemNumberBean;
 import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
-import kr.co.zumo.app.lifeplus.model.BasicParamProvider;
 import kr.co.zumo.app.lifeplus.model.module.APIContentsBookmarkedModule;
 import kr.co.zumo.app.lifeplus.model.module.APIContentsLikedModule;
 import kr.co.zumo.app.lifeplus.model.module.APIError;
 import kr.co.zumo.app.lifeplus.model.module.IAPIModuleListener;
+import kr.co.zumo.app.lifeplus.model.module.LifeplusAPIModule;
 import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
-import kr.co.zumo.app.lifeplus.network.api.ParameterMapper;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
 
@@ -81,7 +80,7 @@ public class ContentsFlagHelper implements IFlags {
     }
     else {
       Log.w("APP# ContentsFlagHelper | load 83", "|" + "   new loading.........................");
-      single = new LifeplusAPIRepository().getContentsFlagList(new ParameterMapper<>().map(new BasicParamProvider(), new RequestBean()))
+      single = new LifeplusAPIRepository().getContentsFlagList(LifeplusAPIModule.getMappedRequest(new RequestBean()))
         .subscribeOn(Schedulers.io())
         .observeOn(AndroidSchedulers.mainThread())
         .doOnError(throwable -> {

+ 2 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/zumo/model/module/APIMemberInfoByUserNoModule.java

@@ -11,11 +11,10 @@ import kr.co.zumo.app.lifeplus.bean.api.ContentsFlagResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
 import kr.co.zumo.app.lifeplus.bean.api.MemberPushAgreeRequestBean;
 import kr.co.zumo.app.lifeplus.helper.FirebaseMessagingHelper;
-import kr.co.zumo.app.lifeplus.model.BasicParamProvider;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
+import kr.co.zumo.app.lifeplus.model.module.LifeplusAPIModule;
 import kr.co.zumo.app.lifeplus.model.module.ZumoAPIModule;
 import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
-import kr.co.zumo.app.lifeplus.network.api.ParameterMapper;
 import kr.co.zumo.app.lifeplus.supervisor.ContentsFlagHelper;
 import kr.co.zumo.app.lifeplus.view.screen.setting.MemberInfoModelHelper;
 import kr.co.zumo.app.lifeplus.zumo.bean.api.MemberInfoBean;
@@ -42,7 +41,7 @@ public class APIMemberInfoByUserNoModule extends ZumoAPIModule<MemberInfoByUserN
           bean.setPushMarketingEnabled(APIData.valueOf(SuperModel.getInstance().getPreferences().isPushEventEnabled()));
           bean.setLocationServiceEnabled(MemberPushAgreeRequestBean.NONE);
 
-          return new LifeplusAPIRepository().setMemberPushAgree(new ParameterMapper<MemberPushAgreeRequestBean>().map(new BasicParamProvider(), bean))
+          return new LifeplusAPIRepository().setMemberPushAgree(LifeplusAPIModule.getMappedRequest(bean))
             .onErrorReturn(throwable -> {
               return new LifeplusAPIBean(LifeplusAPIBean.RETURN_PARAMETER_ERROR, "");
             })