|
|
@@ -3,8 +3,13 @@
|
|
|
*/
|
|
|
package kr.co.zumo.app.lifeplus.model.module;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
import io.reactivex.Single;
|
|
|
+import io.reactivex.functions.Function;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailResultBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.SeriesItemBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.StringRequestBean;
|
|
|
import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
|
|
|
|
|
|
@@ -19,8 +24,26 @@ import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
|
|
|
* @since 2018. 11. 22.
|
|
|
*/
|
|
|
public class APIContentsDetailModule extends APIModule<StringRequestBean, ContentsDetailResultBean> {
|
|
|
+
|
|
|
@Override
|
|
|
protected Single<ContentsDetailResultBean> getAPI(StringRequestBean requestBean) {
|
|
|
- return new LifeplusAPIRepository().getContentsDetail(requestBean.getParam());
|
|
|
+ return new LifeplusAPIRepository().getContentsDetail(requestBean.getParam()).map(new Function<ContentsDetailResultBean, ContentsDetailResultBean>() {
|
|
|
+ @Override
|
|
|
+ public ContentsDetailResultBean apply(ContentsDetailResultBean contentsDetailResultBean) throws Exception {
|
|
|
+ String url = contentsDetailResultBean.getContentsUrl();
|
|
|
+ List<SeriesItemBean> seriesItemBeans = contentsDetailResultBean.getData().getSeriesItemList();
|
|
|
+ List<ContentsDetailBean> contentsDetailBeans = contentsDetailResultBean.getData().getItemDetailList();
|
|
|
+
|
|
|
+ // 시리즈 아이템에 ContentsUrl 을 맵핑해준다.
|
|
|
+ for (SeriesItemBean seriesItemBean : seriesItemBeans) {
|
|
|
+ seriesItemBean.setContentsUrl(url);
|
|
|
+ }
|
|
|
+ for (ContentsDetailBean contentsDetailBean : contentsDetailBeans) {
|
|
|
+ contentsDetailBean.setContentsUrl(url);
|
|
|
+ }
|
|
|
+
|
|
|
+ return contentsDetailResultBean;
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|