Browse Source

[검색][Bug] 태그 선택 후 검색 결과 없는 경우 필터 상세를 가져올 때 결과(itemNo="")를 적용하지 않는 오류 수정

hyodong.min 6 years ago
parent
commit
340f7f00b8

+ 10 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/CategoryFilterModel.java

@@ -236,9 +236,8 @@ public abstract class CategoryFilterModel extends CategoryMainModel {
         if (null != filterSearchResultBean) {
           isFilterApplied = true;
           listCount = filterSearchResultBean.getListCount();
-          if (StringUtil.isEmpty(requestBean.getFilterArea()) && StringUtil.isEmpty(requestBean.getFilterPlace())
-            && filterSearchResultBean.getListCount() > 0) {
-            // 지역/핫플 필터가 없는 데이터는 별도 보관한다. 상세 필터를 요구할 때 이용
+          if (StringUtil.isEmpty(requestBean.getFilterArea()) && StringUtil.isEmpty(requestBean.getFilterPlace())) {
+            // 지역/핫플 필터가 없는 데이터는 별도 보관한다. 상세 필터를 요구할 때 이용 일치하는 결과가 없더라도 저장해야 맞음
             filterSearchResultBeanOnlyProperty = filterSearchResultBean;
           }
 
@@ -325,6 +324,14 @@ public abstract class CategoryFilterModel extends CategoryMainModel {
       if (null != filterSearchResultBeanOnlyProperty.getData() && filterSearchResultBeanOnlyProperty.getData().size() > 0) {
         targetList = filterSearchResultBeanOnlyProperty.getData();
       }
+      else {
+        // 다른 태그로 검색은 했지만 결과가 없음.
+        targetList = null;
+      }
+    }
+    else {
+      // 다른 태그로 검색한 적 없음
+      targetList = null;
     }
 
     /*

+ 14 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/search/SearchResultModel.java

@@ -676,9 +676,8 @@ public class SearchResultModel extends Model {
       public void onApiSuccess(SearchResultBean resultBean) {
         filterSearchResultBean = resultBean;
         if (null != filterSearchResultBean) {
-          if (StringUtil.isEmpty(requestBean.getFilterArea()) && StringUtil.isEmpty(requestBean.getFilterPlace())
-            && null != filterSearchResultBean.getTagBeans() && filterSearchResultBean.getTagBeans().size() > 0) {
-            // 지역/핫플 필터가 없는 데이터는 별도 보관한다. 상세 필터를 요구할 때 이용
+          if (StringUtil.isEmpty(requestBean.getFilterArea()) && StringUtil.isEmpty(requestBean.getFilterPlace())) {
+            // 지역/핫플 필터가 없는 데이터는 별도 보관한다. 상세 필터를 요구할 때 이용, 일치하는 결과가 없더라도 저장해야 맞음
             filterSearchResultBeanOnlyProperty = filterSearchResultBean;
           }
 
@@ -712,11 +711,22 @@ public class SearchResultModel extends Model {
 
     // 지역 필터 적용 이전의 데이터를 저장해두고 넘겨줘야 한다.
     if (null != filterSearchResultBeanOnlyProperty) {
-      // 일치하는 결과가 있음.
+      // 일단 다른 태그로 검색한 상태임
+
+      // 결과 중 일치하는 콘텐츠 있음.
       if (null != filterSearchResultBeanOnlyProperty.getTagBeans() && filterSearchResultBeanOnlyProperty.getTagBeans().size() > 0) {
         if (null != filterSearchResultBeanOnlyProperty.getData() && filterSearchResultBeanOnlyProperty.getData().size() > 0) {
+          // 최종 콘텐츠 있음.
           targetList = filterSearchResultBeanOnlyProperty.getData();
         }
+        else {
+          // 태그는 일치하지만 콘텐츠는 없음.
+          targetList = null;
+        }
+      }
+      else {
+        // 일치하는 태그 없음(검색 결과 없음)
+        targetList = null;
       }
     }