浏览代码

[이벤트][New] 이벤트 당첨여부 상세에 추가
- 상세 로딩 후 결과 api 로 추가

hyodong.min 6 年之前
父节点
当前提交
84b81def5d
共有 1 个文件被更改,包括 35 次插入1 次删除
  1. 35 1
      app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIEventDetailModule.java

+ 35 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIEventDetailModule.java

@@ -3,8 +3,17 @@
  */
 package kr.co.zumo.app.lifeplus.model.module;
 
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.List;
+
 import io.reactivex.Single;
+import kr.co.zumo.app.lifeplus.bean.api.APIData;
 import kr.co.zumo.app.lifeplus.bean.api.EventDetailResultBean;
+import kr.co.zumo.app.lifeplus.bean.api.EventWinnerBean;
+import kr.co.zumo.app.lifeplus.bean.api.EventWinnerListBean;
+import kr.co.zumo.app.lifeplus.bean.api.EventWinnerResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.ItemNoRequestBean;
 import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
 
@@ -21,6 +30,31 @@ import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
 public class APIEventDetailModule extends LifeplusAPIModule<ItemNoRequestBean, EventDetailResultBean> {
   @Override
   protected Single<EventDetailResultBean> getAPI(ItemNoRequestBean requestBean) {
-    return new LifeplusAPIRepository().getEventDetail(requestBean);
+    return new LifeplusAPIRepository().getEventDetail(requestBean)
+      .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;
+          });
+      });
   }
 }