Переглянути джерело

[컨텐츠][New] 시리즈 뷰: contents url 추가

hyodong.min 7 роки тому
батько
коміт
8ac2a77950

+ 12 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/ContentsDetailResultBean.java

@@ -3,6 +3,8 @@
  */
 package kr.co.zumo.app.lifeplus.bean.api;
 
+import com.google.gson.annotations.SerializedName;
+
 /**
  * ContentsDetailResultBean
  * <pre>
@@ -14,4 +16,14 @@ package kr.co.zumo.app.lifeplus.bean.api;
  * @since 2018. 11. 22.
  */
 public class ContentsDetailResultBean extends LifeplusAPIResultObjectBean<ContentsDetailListBean> {
+  @SerializedName("lpCntsDtlUrl")
+  private String contentsUrl;
+
+  public String getContentsUrl() {
+    return contentsUrl;
+  }
+
+  public void setContentsUrl(String contentsUrl) {
+    this.contentsUrl = contentsUrl;
+  }
 }

+ 24 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIContentsDetailModule.java

@@ -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;
+      }
+    });
   }
 }