|
|
@@ -3,9 +3,15 @@
|
|
|
*/
|
|
|
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.PopupInfoListBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.PopupInfoResultBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.PromotionPopupBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.SystemPopupBean;
|
|
|
import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
|
|
|
|
|
|
/**
|
|
|
@@ -21,6 +27,46 @@ import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
|
|
|
public class APIPopupLoadModule extends LifeplusAPIModule<RequestBean, PopupInfoResultBean> {
|
|
|
@Override
|
|
|
protected Single<PopupInfoResultBean> getAPI(RequestBean requestBean) {
|
|
|
- return new LifeplusAPIRepository().getPopupInfo(requestBean);
|
|
|
+ return new LifeplusAPIRepository().getPopupInfo(requestBean).map(new Function<PopupInfoResultBean, PopupInfoResultBean>() {
|
|
|
+ @Override
|
|
|
+ public PopupInfoResultBean apply(PopupInfoResultBean popupInfoResultBean) throws Exception {
|
|
|
+
|
|
|
+ // 적용 OS 구분
|
|
|
+ if (null != popupInfoResultBean && null != popupInfoResultBean.getData()) {
|
|
|
+ PopupInfoListBean popupInfoListBean = popupInfoResultBean.getData();
|
|
|
+ int len;
|
|
|
+ if (null != popupInfoListBean) {
|
|
|
+ List<PromotionPopupBean> promotionPopupBeans = popupInfoListBean.getPromotionPopupList();
|
|
|
+ if (null != promotionPopupBeans && promotionPopupBeans.size() > 0) {
|
|
|
+ len = promotionPopupBeans.size();
|
|
|
+ PromotionPopupBean promotionPopupBean;
|
|
|
+ for (int i = len - 1; i >= 0; --i) {
|
|
|
+ promotionPopupBean = promotionPopupBeans.get(i);
|
|
|
+ if (promotionPopupBean.getOsType().equals(PromotionPopupBean.OS_TYPE_ALL) == false
|
|
|
+ && promotionPopupBean.getOsType().equals(PromotionPopupBean.OS_TYPE_ANDROID) == false) {
|
|
|
+ promotionPopupBeans.remove(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ List<SystemPopupBean> systemPopupBeans = popupInfoListBean.getSystemPopupList();
|
|
|
+ if (null != systemPopupBeans && systemPopupBeans.size() > 0) {
|
|
|
+ len = systemPopupBeans.size();
|
|
|
+ SystemPopupBean systemPopupBean;
|
|
|
+ for (int i = len - 1; i >= 0; --i) {
|
|
|
+ systemPopupBean = systemPopupBeans.get(i);
|
|
|
+ if (systemPopupBean.getOsType().equals(PromotionPopupBean.OS_TYPE_ALL) == false
|
|
|
+ && systemPopupBean.getOsType().equals(PromotionPopupBean.OS_TYPE_ANDROID) == false) {
|
|
|
+ systemPopupBeans.remove(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return popupInfoResultBean;
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|