瀏覽代碼

[카테고리][New] 필터 리스트 API 적용 중

hyodong.min 7 年之前
父節點
當前提交
eb8aee5a1d

+ 96 - 3
app/src/common/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIService.java

@@ -22,6 +22,7 @@ import kr.co.zumo.app.lifeplus.bean.api.BucketRegisterResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.BucketUpdateRequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryBannerResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryContentsResultBean;
+import kr.co.zumo.app.lifeplus.bean.api.CategoryFilterResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryRecommendResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryRequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.CoinExtinctionResultBean;
@@ -266,6 +267,17 @@ public class LifeplusAPIService extends LifeplusRetrofitService implements Lifep
     return api().getCategoryContentsOrderByBookmark(bean);
   }
 
+  /**
+   * 카테고리별 필터 목록
+   *
+   * @param bean
+   * @return
+   */
+  @Override
+  public Single<CategoryFilterResultBean> getCategoryFilter(CategoryRequestBean bean) {
+    return api().getCategoryFilter(bean);
+  }
+
   /**
    * 나의 북마크 리스트
    *
@@ -466,74 +478,155 @@ public class LifeplusAPIService extends LifeplusRetrofitService implements Lifep
     return api().getContentsFlagList(bean);
   }
 
+  /**
+   * 컨텐츠 상세
+   *
+   * @param itemNumber
+   * @return
+   */
   @Override
   public Single<ContentsDetailResultBean> getContentsDetail(String itemNumber) {
     return api().getContentsDetail(itemNumber);
   }
 
-  //------------------------------------------------------------------------------------------------------------
-
-
+  /**
+   * 회원 설정
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<SettingMemberResultBean> getMemberInfo(RequestBean bean) {
     return api().getMemberInfo(bean);
   }
 
+  /**
+   * 약관 상세
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<PolicyResultBean> getPolicyDetail(PolicyNoRequestBean bean) {
     return api().getPolicyDetail(bean);
   }
 
+  /**
+   * 약관 동의 설정
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<LifeplusAPIBean> setMemberPolicyAgree(MemberPolicyRequestBean bean) {
     return api().setMemberPolicyAgree(bean);
   }
 
+  /**
+   * 폰 번호 변경
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<LifeplusAPIBean> setMemberPhoneNumber(MemberPhoneNumberRequestBean bean) {
     return api().setMemberPhoneNumber(bean);
   }
 
+  /**
+   * 이메일 변경
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<LifeplusAPIBean> setMemberEmail(MemberEmailRequestBean bean) {
     return api().setMemberEmail(bean);
   }
 
+  /**
+   * 스페셜 /추천인 코드 등록
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<MemberCodeResultBean> setMemberCode(MemberCodeRequestBean bean) {
     return api().setMemberCode(bean);
   }
 
+  /**
+   * 마케팅 사용 동의
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<LifeplusAPIBean> setMemberMarketingAgree(MemberMarketingAgreeRequestBean bean) {
     return api().setMemberMarketingAgree(bean);
   }
 
+  /**
+   * 푸시 사용 동의
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<LifeplusAPIBean> setMemberPushAgree(MemberPushAgreeRequestBean bean) {
     return api().setMemberPushAgree(bean);
   }
 
+  /**
+   * 코인 정보
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<CoinInfoResultBean> getCoinInfo(CoinInfoRequestBean bean) {
     return api().getCoinInfo(bean);
   }
 
+  /**
+   * 소멸 예정 코인 목록
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<CoinExtinctionResultBean> getCoinExtinction(RequestBean bean) {
     return api().getCoinExtinction(bean);
   }
 
+  /**
+   * 알림
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<NotificationResultBean> getNotification(RequestBean bean) {
     return api().getNotification(bean);
   }
 
+  /**
+   * 질문 리스트
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<QuestionResultBean> getQuestionList(RequestBean bean) {
     return api().getQuestionList(bean);
   }
 
+  /**
+   * 질문 등록
+   *
+   * @param bean
+   * @return
+   */
   @Override
   public Single<LifeplusAPIBean> registerQuestion(QuestionRequestBean bean) {
     return api().registerQuestion(bean);

+ 64 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/CategoryFilterBean.java

@@ -0,0 +1,64 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.bean.api;
+
+import com.google.gson.annotations.SerializedName;
+
+import kr.co.zumo.app.lifeplus.bean.JsonBeanBase;
+
+/**
+ * CategoryFilterBean
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2019. 1. 2.]   [최초 작성]
+ * @since 2019. 1. 2.
+ */
+public class CategoryFilterBean extends JsonBeanBase {
+  /*
+    {"ctgrNo" : "1" , "intrTagDvsnNm" : "동반", "intrTagName" : "혼자", "intrCd" : "1004"},
+   */
+  @SerializedName("ctgrNo")
+  private String categoryNumber;
+  @SerializedName("intrTagDvsnNm")
+  private String filterSection;
+  @SerializedName("intrTagName")
+  private String filterName;
+  @SerializedName("intrCd")
+  private String filterId;
+
+  public String getCategoryNumber() {
+    return categoryNumber;
+  }
+
+  public void setCategoryNumber(String categoryNumber) {
+    this.categoryNumber = categoryNumber;
+  }
+
+  public String getFilterSection() {
+    return filterSection;
+  }
+
+  public void setFilterSection(String filterSection) {
+    this.filterSection = filterSection;
+  }
+
+  public String getFilterName() {
+    return filterName;
+  }
+
+  public void setFilterName(String filterName) {
+    this.filterName = filterName;
+  }
+
+  public String getFilterId() {
+    return filterId;
+  }
+
+  public void setFilterId(String filterId) {
+    this.filterId = filterId;
+  }
+}

+ 18 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/CategoryFilterResultBean.java

@@ -0,0 +1,18 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.bean.api;
+
+/**
+ * CategoryFilterResultBean
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 11. 6.]   [최초 작성]
+ * @since 2018. 11. 6.
+ */
+public class CategoryFilterResultBean extends LifeplusAPIResultListBean<CategoryFilterBean> {
+
+}

+ 26 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APICategoryFilterModule.java

@@ -0,0 +1,26 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.model.module;
+
+import io.reactivex.Single;
+import kr.co.zumo.app.lifeplus.bean.api.CategoryFilterResultBean;
+import kr.co.zumo.app.lifeplus.bean.api.CategoryRequestBean;
+import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
+
+/**
+ * APICategoryFilterModule
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2019. 1. 2.]   [최초 작성]
+ * @since 2019. 1. 2.
+ */
+public class APICategoryFilterModule extends LifeplusAPIModule<CategoryRequestBean, CategoryFilterResultBean> {
+  @Override
+  protected Single<CategoryFilterResultBean> getAPI(CategoryRequestBean requestBean) {
+    return new LifeplusAPIRepository().getCategoryFilter(requestBean);
+  }
+}

+ 5 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPI.java

@@ -22,6 +22,7 @@ import kr.co.zumo.app.lifeplus.bean.api.BucketRegisterResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.BucketUpdateRequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryBannerResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryContentsResultBean;
+import kr.co.zumo.app.lifeplus.bean.api.CategoryFilterResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryRecommendResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryRequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.CoinExtinctionResultBean;
@@ -119,6 +120,10 @@ public interface LifeplusAPI {
   @POST("mapi/categorys/contentsbook.plus")
   Single<CategoryContentsResultBean> getCategoryContentsOrderByBookmark(@Body CategoryRequestBean bean);
 
+  // 카테고리 별 필터 목록
+  @POST("mapi/categorys/listfilter.plus")
+  Single<CategoryFilterResultBean> getCategoryFilter(@Body CategoryRequestBean bean);
+
   // 좋아요
   @POST("mapi/categorys/cntslike.plus")
   Single<LifeplusAPIBean> setLiked(@Body ContentsFlagRequestBean bean);

+ 6 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIRepository.java

@@ -22,6 +22,7 @@ import kr.co.zumo.app.lifeplus.bean.api.BucketRegisterResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.BucketUpdateRequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryBannerResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryContentsResultBean;
+import kr.co.zumo.app.lifeplus.bean.api.CategoryFilterResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryRecommendResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryRequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.CoinExtinctionResultBean;
@@ -131,6 +132,11 @@ public class LifeplusAPIRepository implements LifeplusAPI {
     return new LifeplusAPIService().getCategoryContentsOrderByBookmark(bean);
   }
 
+  @Override
+  public Single<CategoryFilterResultBean> getCategoryFilter(CategoryRequestBean bean) {
+    return new LifeplusAPIService().getCategoryFilter(bean);
+  }
+
   @Override
   public Single<BookmarkResultBean> getMyBookmarkList(RequestBean bean) {
     return new LifeplusAPIService().getMyBookmarkList(bean);

+ 6 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type1/FirstCategoryMainPresenter.java

@@ -51,6 +51,12 @@ public class FirstCategoryMainPresenter extends CategoryMainPresenter<FirstCateg
   protected void onCategoryEvent(Event event) {
     switch (event.getEventId()) {
       case Event.FILTER:
+
+
+
+        // todo 필터 리스트 로드 후 화면 표시
+
+
         showFilterDialog();
         break;
       default:

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/main/MyMainPresenter.java

@@ -242,6 +242,7 @@ public class MyMainPresenter extends Presenter<MyMainModel, IMyMainView> {
         go(ScreenID.MY_EVENT);
         break;
       case Event.BANNER:
+        // fixme 배너 링크 수정 필요
         // 임시 컨텐츠 표시
         bean = new LifeplusContentsBean();
         bean.setItemNumber("201812130000041101");