|
|
@@ -19,6 +19,8 @@ import io.reactivex.schedulers.Schedulers;
|
|
|
import kr.co.zumo.app.R;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
|
|
|
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;
|
|
|
import kr.co.zumo.app.lifeplus.util.AppUtil;
|
|
|
import kr.co.zumo.app.lifeplus.util.ResourceUtil;
|
|
|
@@ -192,16 +194,16 @@ public abstract class APIModule<T extends RequestBean, L extends LifeplusAPIBean
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- protected T mapBasicParameter(T requestBean) {
|
|
|
- return new ParameterMapper<T>().map(requestBean);
|
|
|
+ private T mapBasicParameter(IParamProvider provider, T requestBean) {
|
|
|
+ return new ParameterMapper<T>().map(provider, requestBean);
|
|
|
}
|
|
|
|
|
|
- protected Disposable call(T requestBean, IAPISimpleModuleListener listener, Consumer<L> consumer) {
|
|
|
+ protected Disposable call(IParamProvider provider, T requestBean, IAPISimpleModuleListener listener, Consumer<L> consumer) {
|
|
|
RxJavaPlugins.setErrorHandler(e -> {
|
|
|
- Log.e("APP# APIModule | call", "| > GLOBAL ERROR ->" + e.getLocalizedMessage());
|
|
|
+ Log.e("APP# APIModule | call", "| > GLOBAL ERROR ->" + e.getLocalizedMessage());
|
|
|
new APIErrorConsumer(listener).accept(e);
|
|
|
});
|
|
|
- requestBean = mapBasicParameter(requestBean);
|
|
|
+ requestBean = mapBasicParameter(provider, requestBean);
|
|
|
Log.d("APP# APIModule | call", "| <" + requestBean.getClass().getSimpleName() + ">");
|
|
|
Log.d("APP# APIModule | call", "|" + APIModule.this.getClass().getSimpleName() + " -> " + requestBean.toPrettyJson());
|
|
|
|
|
|
@@ -234,7 +236,7 @@ public abstract class APIModule<T extends RequestBean, L extends LifeplusAPIBean
|
|
|
* @return
|
|
|
*/
|
|
|
public Disposable call(T requestBean, IAPIModuleListener<L> listener) {
|
|
|
- return call(requestBean, listener, new APIConsumer(listener));
|
|
|
+ return call(new BasicParamProvider(), requestBean, listener, new APIConsumer(listener));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -245,7 +247,31 @@ public abstract class APIModule<T extends RequestBean, L extends LifeplusAPIBean
|
|
|
* @return
|
|
|
*/
|
|
|
public Disposable call(T requestBean, IAPISimpleModuleListener<L> listener) {
|
|
|
- return call(requestBean, listener, new APISimpleConsumer(listener));
|
|
|
+ return call(new BasicParamProvider(), requestBean, listener, new APISimpleConsumer(listener));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * API 를 호출한다.
|
|
|
+ *
|
|
|
+ * @param provider
|
|
|
+ * @param requestBean
|
|
|
+ * @param listener IAPIModuleListener 3 가지 분기를 가진 리스너 success/reason/error
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Disposable call(IParamProvider provider, T requestBean, IAPIModuleListener<L> listener) {
|
|
|
+ return call(provider, requestBean, listener, new APIConsumer(listener));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * API 를 호출한다.
|
|
|
+ *
|
|
|
+ * @param provider
|
|
|
+ * @param requestBean
|
|
|
+ * @param listener IAPISimpleModuleListener 2 가지 분기를 가진 리스너 success/error
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Disposable call(IParamProvider provider, T requestBean, IAPISimpleModuleListener<L> listener) {
|
|
|
+ return call(provider, requestBean, listener, new APISimpleConsumer(listener));
|
|
|
}
|
|
|
|
|
|
}
|